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: