Разница между инструментами копирования объектов и классов объектов и классов объектов?


13

У меня есть класс пространственных объектов в наборе классов объектов в файловой базе геоданных (FGDB), и мне нужна его копия в другой FGDB.

В ArcGIS 10.1 я использовал инструмент «Копировать объекты», и он выглядит так же (согласно инструменту «Сравнение объектов»). Используя инструмент «Класс объектов в класс объектов», я получаю следующие сообщения от «Сравнения функций»:

Field: Field OBJECTID domain fixed is different (Base: false, Test: true).
Field: Field Shape domain fixed is different (Base: false, Test: true).

Есть ли у кого-нибудь понимание различий между «Копировать объекты» и «Класс объектов в класс объектов»? Что означают сообщения из Feature Compare?

Ответы:


16

Инструмент Класс объектов в Класс объектов - это инструмент преобразования . Идея состоит в том, чтобы преобразовать класс пространственных объектов в одном формате (например, шейп-файл) в другой (например, базу геоданных). Это также позволяет пользователю контролировать карту полей - т.е. какие поля будут скопированы.

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


9

Основным отличием является уровень, на котором работает каждая из функций.

Инструмент «От классаLayer объектов к классу элементов» работает на уровне, то есть независимо от выбранных функций он обрабатывает их как единое целое. Новый класс объектов будет создан. Это означает, что у вас есть контроль над структурой нового класса объектов, включая добавление и удаление полей. Вы можете выбрать подмножество объектов для копирования, но акцент делается на самой структуре слоя.

С другой стороны, инструмент « Копировать объекты» работает на индивидуальном Featureуровне. Здесь основное внимание уделяется извлечению подмножества объектов из слоя и копированию их и всех их атрибутов в новый слой. Копирование функций означает также использование всех атрибутов.

У каждого подхода есть свои плюсы и минусы. Оба инструмента создадут новый класс пространственных объектов, будь то с новым именем или, если у вас задан правильный параметр геообработки, путем перезаписи существующего класса пространственных объектов. Feature Class to Feature ClassИнструмент позволяет отобразить поля, но ограничивает Вас на SQLзапрос экспортировать любой тип подмножества признаков. Copy FeaturesИнструмент позволяет выбрать любой или все функции в featureclass , если это feature layerс выбором , приложенного к нему. Компромисс заключается в том, что отсутствует контроль над структурой выходного класса объектов. HT для @ blah238 для разъяснения.

Редактировать - 13.05.2013

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

Результаты Feature сравнения показывают инструмент , что ObjectIDи Shapeполе различаются. Я не уверен, что параметры, которые вы выбрали для этого инструмента, но в документе справки говорится, что вы хотите выбрать соответствующие Sortзаказы, чтобы убедиться, что вы сравниваете те же функции.

Вероятно, это безопасное предположение, что вы использовали ObjectID в качестве функции сортировки или просто использовали значение по умолчанию, поскольку два класса пространственных объектов имеют одинаковые функции. Это вызывает критическую разницу между двумя инструментами:

Copy Features Поддерживает ObjectID копируемых объектов. Feature Class to Feature Classгенерирует новый ObjectID для каждой функции. Это устраняет любые пробелы в последовательной нумерации, возникающие при удалении или объединении элементов с другими.

Таким образом, инструмент Feature Compare видит различия в поле ObjectID, потому что они больше не имеют одинаковые номера, и в поле Shape, потому что два объекта с одинаковым ObjectID теперь могут больше не быть идентичными.

Пример: два слоя, каждый из которых содержит 100 объектов. Диапазон ObjectID от 1 до 100. В какой-то момент функция 98 удаляется, оставляя 99 функций. Давайте рассмотрим последние 5 объектов в каждом слое:

Original    Copy Feat    Feat to Feat  
    95          95             95  
    96          96             96  
    97          97             97  
    99          99             98  
   100         100             99

Как вы можете видеть, 98 отсутствует на одном слое, вызывая несоответствие ObjectID. ObjectID 99 теперь относится к различным функциям, вызывая несоответствие формы.

Есть несколько ситуаций, когда полезно поддерживать ObjectID. Обычно в них ESRI создает внутренние связи между объектами или слоями, как в классах отношений или геометрических сетях .


5
Я думаю, что оба инструмента создадут новый класс пространственных объектов или перезапишут существующий. Разница заключается в том, что функция «Копировать объекты» учитывает выбранные объекты и будет копировать выбранные объекты только в том случае, если на входе находится векторный слой с выделенным элементом. Ни один из них не добавит объекты в существующий класс объектов. Для этого вам нужно будет использовать Append или InsertCursor.
blah238

1
Есть ли у вас какие-либо идеи, почему функция сравнения будет возвращать разницу между исходным файлом и файлом, сгенерированным «Классом объектов в Класс объектов»?
Дан

@Dan - я добавил кое-что, что, я думаю, объясняет результаты сравнения функций. Надеюсь, это поможет.
Получите Пространственное

Еще одна причина, почему Feature Compare может найти различия в форме, заключается в точности с плавающей точкой, см. Gis.stackexchange.com/questions/40481/…
ниже радара
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.