Как вы можете редактировать objectID строки в базе геоданных ArcGIS?

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

Мой код выглядит следующим образом:

feature = fclass.CreateFeature();
feature.setValue((int)_fields[i].targetIndex, tripValue);

Теперь на первой итерации _fields[i].targetIndex=0, потому что я хочу вставить конкретный объект. Но первая итерация дает мне ошибку, а остальные все в порядке.

Любая идея о том, как как-то обойти автоматический объект?

2 ответа

Решение

Короткий ответ:

Вы не

Длинный ответ:

Использование поля ObjectID в качестве уникального ключа (который, как я полагаю, является тем, что вы здесь делаете) обычно считается очень плохой идеей, так как это поле не так статично, как вы думаете - различные операции над набором данных будут переназначать их,

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

(кстати, этот вопрос о базе геоданных получит гораздо более разумные ответы на GIS.SE.

ObjectID является внутренним системным полем для ArcGIS, и я не должен вмешиваться в него. Как указано в справочной документации,

ObjectID используется ArcGIS для выполнения таких операций, как прокрутка, отображение наборов выбора и выполнение операций идентификации объектов.

Вместо этого я бы порекомендовал создать GlobalID, который также является системой, сгенерированной ArcGIS, но убедитесь, что каждый идентификатор уникален (см. Подробности в типе данных поля ArcGIS). GlobalID также поддерживает репликацию базы геоданных. Чтобы создать GlobalID, просто щелкните правой кнопкой мыши на ваших классах пространственных объектов в ArcCatalog и выберите "Управление"> "Добавить глобальные идентификаторы"...

Я также второй Джаффи, что этот вопрос будет лучше подан на GIS.SE.

Другие вопросы по тегам