[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: geocoding



On 19.01.2011 03:15, Alexey Vazhnov wrote:
On 18.01.2011 15:10, Nicholas wrote:
Есть задача: разбить город по сегментам и определять адрес по
принадлежности к ним.

Пока нашел сервис определения точки на карте:
http://api.yandex.ru/maps/jsapi/examples/geocoding.html
Но не понятно как лучше определять принадлежность адреса к сегменту.

Ответ:

Геокодинг (определение точки по адресу) легко реализуется через api яндекса (с красивыми подсказками и тд). Есть ли такая же функциональность у OpenStreetMap я пока не выяснил, было бы интересно посмотреть на пример.

Второй вопрос: как искать все полигоны, в которые входит точка.

Решается средствами mysql:
mysql> create table points ( name VARCHAR(20) PRIMARY KEY, location Point NOT NULL, description VARCHAR(200), SPATIAL INDEX(location) );

mysql> create table polygons ( name VARCHAR(20) PRIMARY KEY, location Point NOT NULL, description VARCHAR(200), SPATIAL INDEX(location) );

mysql> REPLACE INTO `points` (`name`, `location`) VALUES ('112', GeomFromText( 'POINT(37.63 55.76)'));

mysql> REPLACE INTO `polygons` (`name`, `location`) VALUES ('221', GeomFromText( 'POLYGON((37.61 55.97,37.21 55.54,38.04 55.58,37.6155.97))'));

mysql> SELECT name, AsText(location) FROM polygons WHERE Intersects(GeomFromText('POINT(37.63 55.76)'), location );

Всем спасибо.

--
Sincerely,
	Nicholas


Reply to: