Automatyczny import POI

Chciałbym przedyskutować mój potencjalnie kolejny projekt - automatyczny import POI. Uważam, że jest to obszar w którym OSM aktualnie kuleje.

Na początku, chciałbym aby aplikacja analizowała linki z notatek na mapach. Ze stron internetowych zbierane byłby następujące informacje: kategoria, nazwa, kontakt, godziny otwarcia, adres. Jeśli lokalizacja adresu pokrywa się z lokalizacją notatki, tak utworzony POI zostanie sprawdzony pod względem duplikatów, a następnie dodany do map.

W przyszłych wersjach, projekt będzie można rozszerzyć o zbieranie linków z innych źródeł.

Dużo takich jest? Wydawałoby mi się, że nie.

1 Like

Z tego co widziałem to trochę jest, głównie z onosm.org. Nikt się za to nie zabiera więc ja chciałbym w tym pomóc. Raz przygotowany system można będzie bardzo łatwo rozszerzyć o dodatkowe źródła sourcowania adresów stron.

To akurat zmienia trochę postać rzeczy i wydaje mi się przypadkiem szczególnym w stosunku do całości nakreślonego zakresu. Najtrudniejszą sprawą w tym wszystkim wydaje się bowiem określenie kategorii miejsca. Z onosm.org masz chyba od razu albo konkretną kategorię w klasyfikacji OSM albo przynajmniej jej opis. Nie ma więc potrzeby określać jej na podstawie strony internetowej.

Drugą najtrudniejszą rzeczą jest zapewne normalizacja nazwy. Chodzi mi o zagadnienia takie jak wykluczenie z niej słów będących opisem działalności, a nie nazwą, wykluczenie oznaczenia prawnej formy działalności (sp. z o.o., S.A. itp.), zastąpienie nieuzasadnionego użycia wielkich liter itd.

Zarówno do rozpoznawania kategorii, jak i normalizacji nazw, potrzeba dość rozbudowanej konfiguracji. I to jest wyzwanie nie programistyczne, ale raczej z zakresu inżynierii danych. Jestem ciekaw, ile wysiłku chciałbyś temu poświęcić, bo na razie w nakreślonym planie inne elementy wybijają się na pierwszy plan.

Raczej nie będzie z tym problemu. Na samym początku wypróbuję analizę nazwy/kategorii na podstawie informacji zawartych na stronie (słowa kluczowe itp.). Do tego zostaną dopisane jakieś proste regułki. Kiedy stan nie będzie zadowalający, dodam jeszcze jakiś processing przez AI.

To właśnie nie jest takie proste, jeśli ma być dobrze. Zobacz ile jest kategorii POI-ów, teraz wyobraź sobie do każdej trzeba stworzyć listę słów kluczowych, a także jakieś reguły ustalające względny priorytet poszczególnych kategorii. Robiłem takie konfiguracje, były obszerne. Oczywiście, można zawęzić zakres i na przykład zacząć tylko od jakiegoś wycinka.

Ok, nie mam pojęcia, co można w ten sposób osiągnąć.

Jeszcze jedno pytanie: z jakich innych źródeł chciałbyś w przyszłości zbierać linki? Takie bazy danych mogą być chronione prawem.

1 Like

Nie zastanawiałem się nad tym jeszcze.

1 Like

A czy byłaby możliwość, żeby to narzędzie sprawdzało, czy wciąż istnieją strony internetowe, których adresy już są w OSM?

To konkretnie narzędzie nie będzie miało takiej funkcji.

mam spore wątpliwości czy takie lokalizacje będą sensownie działać

ale dwa poprzednie projekty które zrobiłeś działają a się nie spodziewałem więc…

na pewno nie można z Google Maps i podobnych

Tego jak najbardziej jestem świadom.

Offtopic: Jest narzędzie, które do tego służy: strubbl/osm-link-validator: Download OSM objects of an area via Overpass and validate their links - osm-link-validator - Codeberg.org
Byłem w stanie je uruchomić, ale jeszcze nie zrobiłem automatyzacji uruchomienia i publikacji wyników

@NorthCrab proszę opisz dokładnie jakie są plany. Chwilowo ciężko się odnieść bez szczegółów.

Popieram wątpliwości w ustaleniu tagowania automatycznie oraz licencyjne. Także w jakości danych z onosm. W przypadku importu restauracji w Warszawie poleganie na ChatGPT na nazwach i automatyczne mapowanie kategorii w moim odczuciu działało słabo - znacznie gorzej niż lokalny mapper by to zrobił.

4 Likes

Wszystkie aktualne plany są zapisane w oryginalnym wątku. Po napisaniu projektu będę znał szczegóły. I wtedy będzie można przedyskutować efektywność.