Різниця між функціями копіювання та класом функцій від інструментів класу функцій?


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).

Хтось має уявлення про відмінності між "Особливості копіювання" та "Клас функцій до класу функцій"? Що означають повідомлення з функції порівняння?

Відповіді:


16

Інструмент « Клас Feature to Feature Class » - це інструмент перетворення . Ідея полягає в перетворенні класу функцій в одному форматі (наприклад, файл файлу) в інший (наприклад, база даних геоданих). Він також дозволяє користувачеві керувати картою полів - тобто над якими полями буде скопійовано.

Інструмент " Копіювати функції" просто створює точну копію вхідних функцій. Примітка - цей інструмент також може використовуватися для перетворення даних, але не може бути використаний для маніпулювання картою поля.


9

Найбільш основна відмінність - рівень, на якому працює кожна з функцій.

Інструмент « Клас Feature to Feature Class » працює на Layerрівні, тобто незалежно від обраних функцій він розглядає їх як єдине ціле. Створюється новий клас функцій. Це означає, що ви маєте контроль над структурою нового класу функцій, включаючи додавання та видалення полів. Ви можете вибрати підмножину функцій для копіювання, але акцент робиться на самій структурі шару.

З іншого боку, інструмент « Функції копіювання » працює на індивідуальному Featureрівні. Тут основна увага зосереджена на виведенні підмножини функцій із шару та копіюванні їх та всіх їх атрибутів у новий шар. Копіювання функцій означає також використання всіх атрибутів.

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

Редагувати - 13.5.2013

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

Результати інструменту « Порівняння характеристик » показують, що поле ObjectIDта Shapeполе відрізняються. Я не впевнений, які параметри ви вибрали для цього інструменту, але в Довідковому документі зазначено, що ви хочете вибрати відповідні Sortзамовлення, щоб переконатися, що ви порівнюєте ті самі функції.

Це, мабуть, безпечне припущення, що ви використовували ObjectID як функцію сортування або просто використовували за замовчуванням, оскільки два класи класів мають однакові функції. Це призводить до критичної різниці між двома інструментами:

Copy Features Зберігає ObjectID функцій, що копіюються. Feature Class to Feature Classстворює новий об’єктID для кожної функції. Це усуває будь-які прогалини в послідовній нумерації, які виникають при видаленні або комбінуванні інших функцій.

Таким чином, інструмент Порівняння ознак бачить відмінності в полі 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
Я думаю, що обидва інструменти створять новий клас функцій або замінять існуючий. Різниця полягає в тому, що функції копіювання дотримуються вибору функцій і копіюватимуть вибрані функції лише тоді, коли вхід є елементом шару з виділенням. Вони також не додадуть функції до існуючого класу функцій. Для цього вам потрібно буде скористатися додаванням або InsertCursor.
blah238

1
Чи маєте ви якесь уявлення, чому Порівняти функцію повертає різницю між вихідним файлом та файлом, сформованим "Класом функцій до класу ознак"?
День

@Dan - я додав те, що, на мою думку, пояснює результати порівняння функцій. Сподіваюся, це допомагає.
Отримайте просторовий

Ще одна причина , чому функція порівняння може знайти відмінності в формі з - за плаваючою комою точності дивіться: gis.stackexchange.com/questions/40481 / ...
Нижче радара
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.