dump-2015: «Нечеткий геопространственный поиск» Дмитрий...

33
Нечеткий геопространственный поиск Дмитрий Киселев [email protected] https://github.com/kiselev-dv

Upload: it-people

Post on 15-Jul-2015

294 views

Category:

Internet


5 download

TRANSCRIPT

Page 1: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Нечеткий геопространственный поиск

Дмитрий Киселев

[email protected]://github.com/kiselev-dv

Page 2: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

А ты кто такой вообще?

2

Page 3: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Геокодирование

Вводим адрес, получаем координаты.

Обратное геокодирование: вводим координаты, получаем адрес, описание.

3

Page 4: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Как устроен поиск

1. Строим индекс2. Ищем по индексу

Нечеткий поиск:Для обычного поиска - это замена определенного числа символов.

4

Page 5: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Нечеткий и геопространственныйВ чем особенности адресов, чем это отличается от привычного текста?

● Множество названий● Разные типы адресов, множество адресов● Переводы● Не та улица, не тот город

5

Page 6: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Забанили в Гугле и Яндексе?

6

Я сделаю свой интернет с картами OSM и геокодером!

Page 7: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Город Улица Номер

город Екатеринбург, проспект Ленина,дом 52/4А

7

Page 8: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Множество названий

Санкт-ПетербургПетербургЛенинградПетроградПитер

8

Page 9: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Статусные части

Город, село, поселок, рабочий поселок…Улица, проезд, проспект, переулок...Дом, корпус, литера, строение...

9

Это хорошие подсказки, но не полагайтесь на них

Page 10: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Проблемы статуса

Петербург, набережная канала Грибоедова

Городище, Набережная улицаhttp://goo.gl/4ScMgo

Набережные Челны10

Page 11: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Адресуются не только дома

Калининград, © OpenStreetMap

Какие с этим могут быть проблемы?

Адрес:Кропоткина 8, 10

ЗапросКропоткина 8/10

Page 12: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

1212

Польша, Старо Място

Page 13: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Угловые дома

13

Вена, угловой дом с двумя адресами.

© wiki.osm.org Fkv

Page 14: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Во что это превратилось в Питере

14

Page 15: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

А больше бывает?

Таллин, Kolde pst, 20 (4, 6,...34) Kõrre, 4 (6, 8, 10) Ristiku, 52 (54,... 60)

24 адресаMaamet: 101037038-2311632

15

Page 16: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Нет не шучу, да здоров

16

© Google StreetView

Page 17: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Екатеринбург в тренде

17

© Евгения Сулейманова

Page 18: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Адресация по территории

18

Page 19: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Москва Зеленоград корпус 1131

19

© Google StreetView

Page 20: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Ну, теперь-то все?

20

Page 21: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Где взять данные

OpenStreetMapWikimapia

И совсем уж чад кутежа: Самопальные карты под Навител/Гармин

21

Page 22: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

OpenStreetMap vs Wikimapia

Wikipedia vs Lurkmore

22

Page 23: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Что делать?

Индексируем на Java Topology SuiteГеометрия

Ищем на ElasticSearchТекстовая часть

23

Page 24: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Почему не PostGis?Xeon X3220 2.4GHz8GB RAM

Import: 2985m27.269s 49.75 Hours

24

Page 25: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Java Topology Suite

Библиотека для работы с геометриейЕсть еще для● Питона● Си● Перла

25

Page 26: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Диаграммы Вороного

26

Быстро ищем ближайших и соседей

Page 27: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

R-Tree индексы

Быстро ищем охватывающие точку полигоны

27

Page 28: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Input/Output

WKTgeoJSONSHP

28

Page 29: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Elasticsearch

Движок для полнотекстового поиска.

РаспределенныйREST APIУмеет хранить объекты

29

Page 30: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Где взять?

30

kiselev-dv

Page 31: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Как тестировать

31

Page 32: DUMP-2015: «Нечеткий геопространственный поиск» Дмитрий Киселев, OpenStreetMap

Ради чего все это?

Геокодирование не столь сложно, как вы опасаетесь.Но и не столь просто, как вы надеетесь.

32