Не получается реализовать геокодирование

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
amnesiac
Активный участник
Сообщения: 244
Зарегистрирован: 03 мар 2015, 10:01
Репутация: 24
Откуда: Санкт-Петербург

Не получается реализовать геокодирование

Сообщение amnesiac » 12 фев 2016, 13:32

Может быть кто-то сталкивался с такой проблемой, что некорректно создается локатор адресов или инструмент пишет, что данные не подходят, или не ищется адрес, хотя инспектор адресов на карте его показывает?
Пробовала создавать локатор типа General - single field (точечный слой, в поле адреса название 2-х пересекающихся улиц) - никаких адресов не находит, однако при геокодировании таблицы выдает соответствия. При этом создает точечный слой с нулевыми координатами X и Y у объектов.
Локатор типа Российские улицы (линейный слой с названия ми улиц) - никаких улиц не находит, инспектор адресов названия показывает, при геокодировании таблицы создается точечный слой с нулевыми координатами.
Кто-нибудь может подсказать, в чем дело? Давно когда-то все получалось, вроде ничего супер-сложного не было..

Doer
Новоприбывший
Сообщения: 1
Зарегистрирован: 06 май 2016, 18:19
Репутация: 0

Re: Не получается реализовать геокодирование

Сообщение Doer » 06 май 2016, 18:26

Вы российские стили локаторов используете? http://esri-cis.ru/blogs/?page=post&blo ... v-v-arcgis

Minstrel
Участник
Сообщения: 71
Зарегистрирован: 16 фев 2015, 13:15
Репутация: 2

Re: Не получается реализовать геокодирование

Сообщение Minstrel » 13 май 2016, 13:12

Это проблема меня изрядно помучила, в итоге поиск я решил реализовать через создание полей и поиском через пространственные объекты. Например созданием двух полей: "Докучаева 5/1а" и "улица Докучаева 5/1а", в итоге можно быстро найти нужный адрес даже если человек особо не знает как писать адрес в строку. Для объединения и унификации адресов пришлось писать выражения для калькулятора в Питоне. Напр:

def FullAdress(StreetType, StreetName, HouseNumber, StroeniyaNumber, Litera):
if StroeniyaNumber >0 and Litera <0:
return StreetType + " " + StreetName + " " + format(HouseNumber) + "/" + format(StroeniyaNumber)
elif (StroeniyaNumber > 0 and Litera >0):
return StreetType + " " + StreetName + " " + format(HouseNumber) + "/" + format(StroeniyaNumber) + "" + Litera
elif (StroeniyaNumber < 0 and Litera >0):
return StreetType + " " + StreetName + " " + format(HouseNumber) + "" + Litera
elif (StroeniyaNumber < 0 and Litera <0 and HouseNumber <0):
return ''
else:
return StreetType + " " + StreetName + " " + format(HouseNumber)
__esri_field_calculator_splitter__
FullAdress(!StreetType!, !StreetName!, !HouseNumber!, !StroeniyaNumber!, !Litera!)

amnesiac
Активный участник
Сообщения: 244
Зарегистрирован: 03 мар 2015, 10:01
Репутация: 24
Откуда: Санкт-Петербург

Re: Не получается реализовать геокодирование

Сообщение amnesiac » 18 май 2016, 15:41

Решение нашлось тогда, но несколько другое=)
Проблема была в том, что эти 2 стиля (Street name и Street address) требовали прописывания в параметрах создания локатора и при поиске адреса района, города или другой административное единицы. Как только это поле было задействовано, сразу все нашлось.
А еще мне подсказали такую полезную штуку (может кому пригодится), что если нужно искать пересечения улиц, то можно сделать локатор Street address и заполнить диапазоны домов нулевыми значениями - в этом случае даже без цифр пересечения будут находиться!
Все это относится к российским стилям локаторов

Ответить

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

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

Сейчас этот форум просматривают: Bing [Bot] и 12 гостей