ArcCatalog говорит, что пространственные привязки не совпадают между набором классов объектов и классом объектов с одинаковой системой координат?

31

У меня есть набор классов объектов, который использует GCS_WGS_1984 в качестве географической системы координат. Он включает в себя несколько классов объектов.

Этот набор классов объектов находится в файловой базе геоданных, которая содержит еще несколько классов объектов в корне GDB. Одним из них является класс пространственных объектов, называемый «точками», который также использует GCS_WGS_1984 в качестве своей системы координат.

Я подумал, что было бы тривиально использовать ArcCatalog для перетаскивания класса пространственных объектов из корня GDB в набор классов объектов, поскольку они имеют одинаковую систему координат. К сожалению, ArcGIS выдает диалоговое окно с сообщением об ошибке:

Failed to paste points
The spatial references do not match

Почему это не удается? Если GCS класса объектов и набора классов объектов совпадают, разве это не должно работать? Я убедился, что это так, используя диалоги, а также экспортируя файл prj как для набора данных, так и для класса, и используя инструмент сравнения для сравнения двух. Они одинаковые.

Отличается ли пространственная привязка класса пространственных объектов от системы координат / проекции?

Попытка скопировать класс пространственных объектов в набор классов объектов, удерживая нажатой клавишу Ctrl при перетаскивании, приводит к краху ArcCatalog каждый раз (позор ESRI).

Я думаю, я мог бы попробовать альтернативные способы перемещения классов объектов. Используйте CopyFeatures в наборе данных. Проект из класса пространственных объектов в новый класс пространственных объектов в наборе классов объектов?

mindless.panda
источник
Можете выложить файл GDB где-нибудь? Может быть, удалить все или некоторые функции, если они большие, звучит так, как будто они могут быть воспроизведены даже с пустыми классами объектов.
Кирк Куйкендалл
4
Хотелось бы, чтобы у меня было время разбираться с каждой маленькой причудой, с которой я сталкиваюсь с ArcGIS, часто мне просто нужно с этим смириться и найти следующий наименее приятный обходной путь. Я использовал Data Management -> Copy Feature для копирования в новый класс пространственных объектов (с именем temp), удалил старый класс пространственных объектов, переименовал новый класс пространственных объектов, чтобы он соответствовал старому. Использование ArcGIS не должно требовать степени в тестировании программного обеспечения. = (
mindless.panda
2
«Не требуется степень по тестированию программного обеспечения» , chat.stackexchange.com/transcript/message/1116371
Мэтт Уилки,
это просто имя, они могут совпадать, но если у них другое имя, оно выбрасывает это сообщение, игнорируйте его.
Если вы не знаете, - просто ГИС

Ответы:

21

Одна и та же система координат не всегда является идентичной системой координат. Я сталкивался с ситуациями, когда некоторые операции и инструменты геообработки считают, что классы пространственных объектов не имеют общей системы координат, потому что описательное имя проекции отличается («Юкон Альберс» от «Альберс - пользовательский»), хотя параметры идентичны, или потому что разной десятичной позиции (ложный север 500000,00 против 500000,0000).

Обычно я делаю так, чтобы системы координат набора классов объектов (и F.class) создавались с нашим стандартным файлом .prj, размещенным в верхней части C:\path\to\ArcGIS\Desktop10.0\Coordinate Systems(делает CS доступным с меньшим количеством кликов), и / или копировали CS из шаблона класса основных объектов. хранится где-то всегда под рукой.

Частично в ответ на эту проблему у меня также есть пустой набор классов объектов ( D:\s.gdb\_template), через который я направляю все наши данные в качестве фильтра первого шага, прежде чем делать с ними что-либо еще. Среди общей системы координат это также обеспечивает идентичность точности, пространственной области и т. Д.

Обновление: см . Ответ Энди об использовании python, всего 2 строки, чтобы скопировать систему пространственных привязок набора классов объектов из шаблонного класса объектов. Это работало для меня в ArcCatalog 10.3, когда интерактивный метод определения SR путем выбора класса объектов для импорта не работал.

Мэтт Уилки
источник
Не будут ли эти незначительные изменения в симпатичном имени печати или десятичных позициях, о которых вы упомянули, присутствовать в файле .prj, который экспортируется с опцией Сохранить как? Если да, то почему в файлах сравнения prj ничего не отображается? Я задавался вопросом, могут ли небольшие различия в разрешении x, y быть причиной конфликта.
mindless.panda
1
Возможно, файл .prj, созданный с помощью команды «Сохранить как», не совсем совпадает с файлом, хранящимся внутри. Я использую «фильтр» набора
классов объектов
3
Я добавлю еще один аспект к этому: иногда наборы данных из других источников будут сгенерированы как содержащие значения M и Z, когда они на самом деле не имеют M или Z. Я обнаружил, что некоторые инструменты ESRI обнаруживают пустую систему координат Z как не сопоставление, несмотря на то, что системы координат X / Y на самом деле точно совпадают.
DPierce
16

Это скорее объяснение, чем ответ.

Мы (Esri) проводим довольно строгое тестирование имен и значений системы координат. Тест «равно» не вернет ошибку при сравнении 500000.00 и 500000.000000, но может провалиться, если один действительно 500000.0, а другой 500000.00000005. Мы работаем над добавлением псевдонимов для имен, чтобы «равно» прошло больше.

Как отмечали mindless.panda и matt wilkie, различия могут заключаться в других значениях пространственной привязки. Пространственная привязка включает систему координат и значения хранения / обработки. Для хранения: xy, z, а также разрешение и экстенты измерения. Для обработки: xy, z и измерьте значения допуска. Любая разница в них может привести к неравной ошибке.

mkennedy
источник
6
Ваш ответ очень ценится. Мне бы очень хотелось, чтобы обработка ошибок, особенно в том, что сообщается пользователю, улучшилась в ArcGIS. Необходимы более информативные ошибки, с возможностью получить еще более подробную информацию, если это необходимо. Еще раз спасибо ESRI за то, что нашли время ответить.
mindless.panda
2
Я второй предложение, чтобы предоставить больше информации об ошибках. За последние две недели я получил ту же ошибку ( Error code: 999999: Error executing function. Description: This is a generic error for which the cause of the error does not have an appropriate error ID. ) из-за ряда проблем. Это бешеное сообщение, которое я получаю, потому что я ничего не могу сделать, кроме как попытаться запустить то, что я сделал во второй раз, чтобы увидеть, повторяется ли ошибка, или отказаться и использовать другой метод (или программное обеспечение, которое все чаще встречается).
djq
9

Вот что я сделал, чтобы решить эту проблему (используя arcpy в ArcGIS 10.0):

Это предполагает следующее:

  • FGDB - C: \ gisdata \ Test.gdb
  • Класс объектов - C: \ gisdata \ Test.gdb \ bldg

Вы можете изменить пути и имена объектов в коде и вставить их в окно Python в ArcCatalog.

sr = arcpy.Describe(r'C:\gisdata\Test.gdb\bldg').spatialReference
arcpy.CreateFeatureDataset_management(r'C:\gisdata\Test.gdb', 'MyFeatureDataset', sr)

После создания набора классов объектов вы можете перетаскивать классы объектов в.

Энди Арисменди
источник
1
Спасибо! Это сработало для меня сегодня в ситуации, когда использование интерактивного инструмента для определения новой системы координат набора классов объектов путем выбора существующего класса объектов не сработало (v10.3).
Мэтт Уилки
7

Эта проблема убивала меня! После сохранения группы классов объектов из файла CAD я несколько раз пытался определить их системы координат, а затем организовал их в наборы классов объектов. Я попытался как определить все необходимые наборы f.classes и f.datets из официального проекции WGS_1984_UTM_42N из ESRI, так и задать проекцию для набора данных, а затем импортировать эту проекцию для классов f с помощью инструмента «Определить проекцию». Либо не будет вставлено ни одного f.classes, или 1, а остальные нет.

Большое спасибо за Уилки @ Matt в этой должности , то класс объектов к функциям класса инструменту , кажется, решить эту проблему. Он успешно импортирует классы f.classes в нужный набор данных, даже если я еще не определил систему координат для рассматриваемого класса f.class.

Кроме того, я обнаружил, что скрипт класса объектов в базе геоданных (несколько) отлично подходит для массового перемещения f.classes в набор f.dataset, за исключением того, что это должно быть сделано из базы геоданных в другую (не в набор f.datase в той же базе геоданных) , Похоже, это происходит потому, что скрипт не переименовывает автоматически f.classes при их копировании (или запрашивает у оператора новое имя, как в классе Feature to Feature Class). Однако, как отмечают другие (та же ветка связана выше), данная ошибка является общей 999999.

Мэтт Коэн-Прайс
источник
4

У меня была эта проблема, когда я просто хотел переместить класс пространственных объектов в набор классов объектов в базе геоданных. Я сделал свой набор классов данных и убедился, что он имеет ту же систему координат. Снова и снова я получал «Не удалось вставить xyz . Пространственные привязки не совпадают». Самым быстрым решением, которое я нашел, было импортирование идентичной пространственной привязки в моем недавно созданном наборе данных из класса объектов, который я хотел импортировать в него. На втором шаге мастера «Создать новый набор классов объектов».

Я не знаю, почему пространственные привязки отличаются.

Алан Лодочник
источник
Привет, @ Алан! Спасибо, что поделились своим опытом и добро пожаловать на наш сайт.
whuber
1
Привет, Алан! Мастер создания нового набора классов объектов / классов не всегда извлекает все значения хранения / обработки, когда используется «система координат импорта». Мы работаем над исправлением. Я думаю, что это то, с чем вы сталкиваетесь.
Mkennedy
1
Я вижу эту проблему - даже если я создаю набор классов объектов, использую механизм импорта и выбираю класс объектов, я все равно не могу перетащить / скопировать класс объектов во вновь созданный набор классов объектов без вышеупомянутой ошибки.
mindless.panda
3

Я думаю, что одно из сообщений в ESRI - предоставить более конкретную информацию об отладке различий параметров при возникновении этой ошибки. Я тоже столкнулся с этой ошибкой даже после тщательного контроля за системами пространственной привязки и проекциями, как я думаю, большинство пользователей ГИС.

Я нашел процедуру использования возможностей копирования ArcToolbox для исправления сообщений об ошибках, возникающих при использовании механизмов импорта или копирования. Здесь мы полагаемся на процедуру набора инструментов Копировать объекты, чтобы правильно разрешить разницу между ссылками или проекцией до введения класса объектов в набор классов объектов.

Я даже пытался создать набор классов объектов с системой проекций, определенной во время создания набора данных, а затем проецировать классы объектов в набор классов объектов с помощью инструмента проекции ArcToolbox с той же проекцией, и все же получил ошибку, описанную здесь, когда я пытаюсь импортировать или скопируйте класс объектов в набор данных.

Эти проблемы системы координат маскируются при использовании данных в ArcMap. Поскольку ArcMap выполняет проекцию «на лету», на карту ArcMap можно добавить несколько классов пространственных объектов, каждый из которых имеет разные проекции, без уведомления пользователя. ArcMap предупредит о различных системах координат.

Дерек С Уилсон
источник
1

ХОРОШО. Я нашел решение! Щелкните правой кнопкой мыши на наборе классов объектов в GDB и нажмите «Импорт». Выберите нужные вам функции и нажмите ОК.

Сергей Валетов
источник
0

Попробуйте использовать инструмент «Функции копирования» в разделе «Инструменты управления данными / Функции». В противном случае я продолжал получать ошибку независимо от того, что я сделал.

Рейнер
источник
-1

Вы пытались перенести его в ArcMap и установить слои в качестве GCS_WGS_1984, а затем экспортировать все свои слои в файловую базу геоданных?

Если у вас есть один или несколько слоев, которые находятся в разных проекциях, вы можете экспортировать их, но изменить фрейм данных на GCS_WGS_1984?

Я не уверен в этом в ArcGIS 10. У меня их пока нет, но я использую 9.3.1.

Проберт
источник
1
Не могли бы вы уточнить пункты 1 и 2? Они не кажутся точными.
Аарон