Страница 1 из 1

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

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

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

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

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

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

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

Добавлено: 27 апр 2015, 09:29
destribution
Простите, ввел в заблуждение, просто я думал что SQL и python или vbs - относятся к одной категории :)
Обкатал Ваш запрос, все получилось, за исключением одного, из-за того что тип поля NUMBER задан как double, в исходный ключ он записывает десятичное значение. Это как-то можно справить ?
Вот что получается

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

Добавлено: 27 апр 2015, 09:36
nadiopt
первое, что пришло в голову - завести такое же поле интегер и калькулятором поля домножить NNN на нужное число тыщ (из-за цифрового кретинизма не могу сосчитать число знаков после запятой)
это из тополя данные чтоль?

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

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

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

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

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

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

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

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

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

Добавлено: 27 апр 2015, 10:03
doujin
А если его в int?

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

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

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

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

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

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

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

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

Добавлено: 27 апр 2015, 10:47
nadiopt
собственно, сам файл не нужен. скорее алгоритм как это делается

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

Добавлено: 27 апр 2015, 11:28
destribution
в трех словах не рассказать, пока получилось загрузить только в версии 6.8
Основные критерии, это система координат pulkovo42, структура таблицы и ключ должны иметь определенные параметры, для соединения БД и вектора требуется создать ключ, о котором здесь мы собственно и говорили.
Вот пример как должны выглядеть данные и таблица уже импортированные в TOPOL

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

Добавлено: 27 апр 2015, 11:50
destribution
При необходимости могу записать видео на примере вашего shp файла и загрузить его в TOPOL