редактор слоя

0 голосов
спросил 06 Май, 10 от Corvell (1,900 баллов) в категории Программные продукты Esri
Здравствуйте!
в ArcMap'e есть редактор, начав редактирование, можно добавлять данные в таблицу атрибутов слоя.
вопрос такой: что использует ArcMap для этого? (какой файл, функцию)
т.е.  мне надо добавлять данные не используя ArcMap.

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

ArcGis 9.3

16 Ответы

0 голосов
ответил 06 Май, 10 от pooperec (10,820 баллов)
ArcMap для этого использует ArcObjects. Подробности можно найти в гугле, и в соответствующем разделе.

Не используя ArcMap атрибуты можно добавлять редактируя соответствующие таблицы атрибутов в БД. Как туда корректно добавлять записи - тайна великая суть есть, я продвигаюсь в этом направлении, но пока добиться красивых результатов - увы и ах..


В файловой базе данных (та которая не Seccass) неизвестно как редактировать данные напрямую, но господа из ЫСРЫ божатся что откроют завесу тайн после выхода 10 версии...

Ещё, напрямую можно редактировать SHP файл, так как формат по сути открытый.
0 голосов
ответил 06 Май, 10 от TDenis (42,620 баллов)
т.е.  мне надо добавлять данные не используя ArcMap.

Ну а что можно использовать?
0 голосов
ответил 06 Май, 10 от Corvell (1,900 баллов)
т.е.  мне надо добавлять данные не используя ArcMap.

Ну а что можно использовать?



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

если таблицу выгружать в шейп, а там в файле .dbf поменять нужное, а потом загрузить обратно в базу, так корректно будет?
0 голосов
ответил 06 Май, 10 от Holger (19,360 баллов)
А типа создать свою таблицу в сторонней СУБД, связать её с геобазой и ее уже редактировать?
0 голосов
ответил 06 Май, 10 от TDenis (42,620 баллов)
если таблицу выгружать в шейп, а там в файле .dbf поменять нужное, а потом загрузить обратно в базу, так корректно будет?

Проще всего использовать ArcObjects. У вас на компьютере, где вы собираетесь всё это хозяйство запускать, ArcGIS Desktop установлен?
0 голосов
ответил 06 Май, 10 от Corvell (1,900 баллов)
установлен
0 голосов
ответил 06 Май, 10 от TDenis (42,620 баллов)
C#, я так понимаю, вы уже знаете.
Ставьте Visual Studio 2008 и ArcGIS .NET SDK.
Подключаете необходимые сборки от ESRI, находите ваши данные и выполняете любые действия.
Например если это шейпфайл, смотрите ShapefileWorkspaceFactoryClass, в справке по этому объекту найдёте пример как из него получить IFeatureClass, из которого можно получить IFeatureCursor, который умеет проходить по всем записям и модифицировать их так, как требуется.
0 голосов
ответил 06 Май, 10 от TDenis (42,620 баллов)
Вот тут, кстати, есть примеры (бенчмарки) на разных языках, выберите какой нравится.
http://www.pierssen.com/arcgis/upload/misc/python_arcobjects.zip
Для старта сгодится.
Правда там не редактируются данные, а только читаются.
Но это дело поправимое.
0 голосов
ответил 06 Май, 10 от Corvell (1,900 баллов)
спасибо, а если это не шейпфайл, а скажем пространственный объект в базе, можно будет подцепиться к базе, найти нужные данные и там редактировать? или нужно выгружать в шейп?
0 голосов
ответил 06 Май, 10 от TDenis (42,620 баллов)
Естессно можно.
Исходить надо из следующего - ArcMap построен на ArcObjects. Чтобы подредактировать данные в ArcMap, нужно ли выгружать их в шейпфайл? Нет (ну кроме известных ограничений на редактирование данных в SDE). Стало быть, ArcObjects позволяет реализовывать разные варианты.
Там, кстати, в примере как раз не шейп-файл читают, а класс БГД.
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...