ArcView and SQL

0 голосов
спросил 24 Ноя, 03 от Vius (7,580 баллов) в категории Программные продукты Esri

Заранее извиняюсь за, возможно, некорректно заданный вопрос, но я не программист. Может, кто-нибудь писал скрипт, позволяющий забирать, скажем, координаты из SQL-сервера в ArcView? есть такая задача, а как сделать не знаю. Нужно, чтобы ArcView через определенный промежуток времени обращался к SQL, забирал координаты точек и  отрисовывал их на карте.

Спасибо за помощь

7 Ответы

0 голосов
ответил 25 Ноя, 03 от Grigoriy (127,020 баллов)

Создаёте в ArcCatalog OLE DB Connection к вашему серверу.

Потом просто добавляете нужную табличку в ArcMap.

правой кнопкой мышки нажимаете на табличку и выбираете Отобразить X,Y данные (Display X,Y data). Выбираете поля X и Y и, возможно, нужную проекцию - получаете точечный слой в проекте, который и будет отображать Ваши данные.

0 голосов
ответил 25 Ноя, 03 от Vius (7,580 баллов)

Спасибо, но так я знаю...Нужно, чтобы ArcView сам, через, например, каждые 30 минут, проверял содержимое таблицы в SQL сервере и автоматически добавлял данные в проект....Либо, чтобы не через промежуток времени, а появились новые координаты в SQL сервере - сразу добавить их (тоже автоматически).

Вот такая задачка...

Спасибо за ответ

0 голосов
ответил 25 Ноя, 03 от Alexander1 (32,520 баллов)

Возьми за основу пример 'Add XY Event Layer' и модифицируй его под свою ситуацию:

http://arcobjectsonline.esri.com/arcobjectsonline/samples/arcmap/tables/addxyeventlayer.htm

0 голосов
ответил 26 Ноя, 03 от Grigoriy (127,020 баллов)

Так он и отслеживает изменение таблицы и причём не через каждые 30 минут, а всегда - достаточно перерисовать экран и данные автоматом обновляются.

0 голосов
ответил 26 Ноя, 03 от Vius (7,580 баллов)

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

Еще раз спасибо

0 голосов
ответил 05 Дек, 03 от Vius (7,580 баллов)
оказалось, что задача не совсем такая.... Нужно, чтобы отрисовывались не все точки из SQL, а только те, которые выбирает пользователь. Например, в таблице SQL координаты ста автомобилей, а мне надо отобразить только координаты десятого и пятнадцатого... Может, кто-нибудь сталкивался с такой задачей?
0 голосов
ответил 08 Дек, 03 от Grigoriy (127,020 баллов)
Ставите на слой, полученный из таблицы определяющий запрос (Query Definition) и выделяете нужные объекты по атрибуту.
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...