Помогите написать SQL-запрос для ArcGIS

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
destribution
Участник
Сообщения: 68
Зарегистрирован: 30 авг 2014, 11:11
Репутация: 0

Помогите написать SQL-запрос для ArcGIS

Сообщение destribution » 27 апр 2015, 05:48

Здравствуйте, товарищи!
Снова обращаюсь к Вам с просьбой оказать помощь в написании запроса.
Требуется создать ключ на основе трех колонок NUMBER + NOMKVR + NOMVYD в колонку NNN (сейчас она заполнена вручную)
Структура такова ЛЛККККВВВ (ключевое поле NNN обязательно не должно превышать 9 символов), где Л - NUMBER, К - NOMKVR, В - NOMVYD.
Возможно описание задачи не совсем исчерпывающее, но я старался :)
Надеюсь на Вашу помощь.
Вложения
NNN.jpg
NNN.jpg (229.8 КБ) 9628 просмотров

doujin
Активный участник
Сообщения: 163
Зарегистрирован: 28 июн 2012, 01:02
Репутация: 84
Откуда: Vladivostok

Re: Помогите написать SQL-запрос для ArcGIS

Сообщение doujin » 27 апр 2015, 06:40

Не совсем понятно, почему именно SQL. Если вы хотите просто заполнить поле, то это можно сделать через калькулятор поля, например, так (python):

Код: Выделить всё

u'{number:0>2}{nomkvr:0>4}{nomvyd:0>3}'.format(number=!NUMBER!, nomkvr=!NUMKVR!, nomvyd=!NUMVYD!)
Могут потребоваться дополнительные проверки условий, если вы не уверены, что значения в каждом из полей не превышают свою максимальную длину.

destribution
Участник
Сообщения: 68
Зарегистрирован: 30 авг 2014, 11:11
Репутация: 0

Re: Помогите написать SQL-запрос для ArcGIS

Сообщение destribution » 27 апр 2015, 09:29

Простите, ввел в заблуждение, просто я думал что SQL и python или vbs - относятся к одной категории :)
Обкатал Ваш запрос, все получилось, за исключением одного, из-за того что тип поля NUMBER задан как double, в исходный ключ он записывает десятичное значение. Это как-то можно справить ?
Вот что получается
Вложения
итог NNN.jpg
итог NNN.jpg (235.84 КБ) 9594 просмотра

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Помогите написать SQL-запрос для ArcGIS

Сообщение nadiopt » 27 апр 2015, 09:36

первое, что пришло в голову - завести такое же поле интегер и калькулятором поля домножить NNN на нужное число тыщ (из-за цифрового кретинизма не могу сосчитать число знаков после запятой)
это из тополя данные чтоль?
ин гроссен фамилен нихт клювен клац клац

destribution
Участник
Сообщения: 68
Зарегистрирован: 30 авг 2014, 11:11
Репутация: 0

Re: Помогите написать SQL-запрос для ArcGIS

Сообщение destribution » 27 апр 2015, 09:42

nadiopt писал(а):это из тополя данные чтоль?
Как раз именно для него формирую такую структуру таблицы. А вы судя по всему имели опыт обращения с ним ?
Попробую применить Ваш совет в части домножить...

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Помогите написать SQL-запрос для ArcGIS

Сообщение nadiopt » 27 апр 2015, 09:44

некоторый опыт имею, да.
мы NNN как-то по другому считали, типа (номер квартала + номер выдела*1000)/1000, опять-таки из-за полного кретинизма каждый раз эту формулу забиваю заново и смотрю, что получилось
ин гроссен фамилен нихт клювен клац клац

destribution
Участник
Сообщения: 68
Зарегистрирован: 30 авг 2014, 11:11
Репутация: 0

Re: Помогите написать SQL-запрос для ArcGIS

Сообщение destribution » 27 апр 2015, 09:46

nadiopt писал(а):некоторый опыт имею, да.
очень много лишних действий приходится выполнять чтоб все работало как надо :(

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Помогите написать SQL-запрос для ArcGIS

Сообщение nadiopt » 27 апр 2015, 09:50

тополь очень специфичная штука. хотя в свое время это была мощнейшая топологичная ГИС, но как там все работало - это просто какая-то антилогика
и запихать аркгисовский шейп с базой данных в тополь по-моему никому так и не удалось. поделитесь результатом
ин гроссен фамилен нихт клювен клац клац

doujin
Активный участник
Сообщения: 163
Зарегистрирован: 28 июн 2012, 01:02
Репутация: 84
Откуда: Vladivostok

Re: Помогите написать SQL-запрос для ArcGIS

Сообщение doujin » 27 апр 2015, 10:03

А если его в int?

Код: Выделить всё

u'{number:0>2}{nomkvr:0>4}{nomvyd:0>3}'.format(number=int(!NUMBER!), nomkvr=!NUMKVR!, nomvyd=!NUMVYD!)

destribution
Участник
Сообщения: 68
Зарегистрирован: 30 авг 2014, 11:11
Репутация: 0

Re: Помогите написать SQL-запрос для ArcGIS

Сообщение destribution » 27 апр 2015, 10:27

doujin писал(а):А если его в int?
Спасибо, дорогой человек! :) Получилось именно то, что надо!

destribution
Участник
Сообщения: 68
Зарегистрирован: 30 авг 2014, 11:11
Репутация: 0

Re: Помогите написать SQL-запрос для ArcGIS

Сообщение destribution » 27 апр 2015, 10:29

nadiopt писал(а):поделитесь результатом
От модератора. Запись удалена. Причина нарушение правил форума, пункт 2.2.1
2.2 Удаляются или редактируются записи

2.2.1 С просьбой послать ответ на e-mail, icq. Причина: форум для открытого, а не закрытого общения.

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Помогите написать SQL-запрос для ArcGIS

Сообщение nadiopt » 27 апр 2015, 10:47

собственно, сам файл не нужен. скорее алгоритм как это делается
ин гроссен фамилен нихт клювен клац клац

destribution
Участник
Сообщения: 68
Зарегистрирован: 30 авг 2014, 11:11
Репутация: 0

Re: Помогите написать SQL-запрос для ArcGIS

Сообщение destribution » 27 апр 2015, 11:28

в трех словах не рассказать, пока получилось загрузить только в версии 6.8
Основные критерии, это система координат pulkovo42, структура таблицы и ключ должны иметь определенные параметры, для соединения БД и вектора требуется создать ключ, о котором здесь мы собственно и говорили.
Вот пример как должны выглядеть данные и таблица уже импортированные в TOPOL
Вложения
1.jpg
1.jpg (339.77 КБ) 9508 просмотров

destribution
Участник
Сообщения: 68
Зарегистрирован: 30 авг 2014, 11:11
Репутация: 0

Re: Помогите написать SQL-запрос для ArcGIS

Сообщение destribution » 27 апр 2015, 11:50

При необходимости могу записать видео на примере вашего shp файла и загрузить его в TOPOL

Ответить

Вернуться в «ArcGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость