Hej
Możliwe jest wyłapanie rond niepociachanych :
select *
from planet_osm_line --szukamy w liniach
where highway is not null --wszystkiego co jest drogą
and st_isclosed(way) = true --zaczyna się tam gdzie się kończy
and (junction is null or junction != 'roundabout') -- i nie posiada tagu junction lub jego wartość jest inna niż roundabout
Na bazie Polski liczy się 14s.
Niestety musimy zawęzić kryteria bo to zwraca również parkingi, place oznaczane jako footway, raceway-e, które z założenia są pętlami i inne wynalazki - razem zwróciło ponad 11 tysięcy obiektów.
"footway";4269
"service";3409
"residential";1108
"track";768
"path";518
"proposed";169
"pedestrian";162
"living_street";162
"raceway";112
"construction";95
"unclassified";84
"platform";69
"cycleway";66
"bus_stop";54
"steps";48
"rest_area";44
"bridleway";35
"tertiary";31
"secondary";28
"traffic_island";23
"road";19
"elevator";13
"primary";9
"primary_link";7
"tertiary_link";5
"services";4
"secondary_link";4
"mini_roundabout";2
"racetrack";1
"turning_circle";1
"yes";1
"trunk_link";1
"crossing";1
"motorway_link";1
"trunk";1
Sugeruję brać tylko highway in (‘motorway’, ‘motorway_link’, ‘trunk’, ‘trunk_link’ ,‘primary’ ,‘primary_link’ ,‘secondary’ ,‘secondary_link’ ,‘tertiary’ ,‘tertiary_link’ ,‘unclassified’, ‘road’)
Postaram się dopisać do tego resztę tak, żeby wysyłało maile tak jak bot do pilnowania adresów.
Co do pociachanych to teoretycznie można zgrupować geometrię po jakimś tagu i warunku że ma być połączona, po czym sprawdzić czy się zamyka, ale niestety wyników będzie dużo więcej niż ronda np. wszystkie ulice residential na osiedlach zaczną świecić. Nie bardzo widzę opcję żeby powiedzieć SQL-owi co jest rondem a co nie jest…
Jak często to się powinno sprawdzać? Co 10 minut? godzinę? raz na dobę (tak bym sugerował)?