Statystyki na podstawie danych w OSM

Witam

Mam pytanie, czy OSM to tylko mapy? Czy też jakieś dane?

Chodzi mi o fakt, czy po wprowadzeniu do mapy w mieście, ograniczeń prędkości. Będę mógł w prosty sposób dowiedzieć jaki % jest o danej wartości?

Serdecznie witamy na forum! Tak, to takze dane. Bedziesz sie mógl dowiedziec…

A jak takie dane mogę wydobyć? I próbowałem wprowadzić pierwsze ograniczenia (na razie skupiam się na strefach tempo 30). I czy dobrze widzę, by wprowadzić ograniczenie na części ulicy, po prostu muszę podzielić na części linię ulicy?

Dokładnie tak, aby wprowadzić ograniczenie na wybranym odcinku należy stworzyć węzły i przeciąć drogę (linię) i dodać ograniczenie odpowiednim tagiem.

To co już zostało zebrane np dla Warszawy można zobaczyć tu: http://bit.ly/jY1ieQ

W sumie niewiele tego. Myślę że można jeśli nie ma żadnych znaków na drodze to warto tagować na tyle na ile pozwalają przepisy. Dla ograniczeń obszaru zabudowanego warto dodawać jakiś dodatkowy tag bo jeśli będzie pomysł że jeździmy po obszarze zabudowanym z prędkością np 60 to będzie to łatwiej poprawić niż domyślać się czy ograniczenie 50 km/h to obszar zabudowany czy rzeczywiście tam jest takie ograniczenie.

Ograniczenie w obszarze zabudowanym powinno być tagowane jako: maxspeed=urban
Ponieważ w dzień mamy 50km/h, a w nocy 60 km/h

Zeby wydobyc procent drog o maxspeed=30 dla ograniczonego obszaru wydaje mi sie, ze najlatwiej uzyc JOSMa. W wyszukiwarce pod Ctrl+F wpisz maxspeed=30 i on zaznaczy wszystkie drogi o takim ograniczeniu. Ktoryms pluginem mozna zmierzyc ich laczna dlugosc, bo liczba zaznaczonych elementow jest slabym wskaznikiem.

Fajne narzędzie, ale to jest wszystko graficzne. A ja potrzebuję wyciągnąć to w formie:
Miasto: xxxx
Długość sieci ulic:
70 km/h: xx km
60 km/h: xx km
Urban : xx km
50 km/h: xx km
40 km/h: xx km
30 km/h: xx km
20 km/h: xx km
10 km/h: xx km

Edit:
Czyli potrzebuję dostać się do danych “statystycznych”.

Brak odpowiedzi, mam rozumieć iż czegoś takiego nie da się wykonać?

Wykonać się da, ale gotowca nie ma, a przynajmniej ja nie znam.

Potrzebna jest wtyczka measurement

Wpisujesz w wyszukiwarce Josm jakiej prędkości szukasz i zaznacza Ci drogi które mają daną prędkość a wtyczka pokazuje ich łączną długość w metrach.

Jesli z linii polecen to chyba najlatwiej w PostGISie, ale musisz sam poeksperymentowac z odpowiednimi zapytaniami bo akurat nie mam zainstalowanego.

cos z grubsza w ten desen

select * from
way_tags t1,
ways t2
where
1=1
and t1.k=‘maxspeed’
and t2.id=t1.id
and t1.version = t2.version
limit 10;

tu masz waye ale jak to potem z miastem przeciac to za bardzo w post gis nie wiem.

Może tak (w schemacie osm2pgsql, zgodne samo ze sobą osmosis ma w sobie takie wewnętrzne fuj…):

SELECT SUM (ST_Length(l.way)) FROM planet_osm_line l, planet_osm_polygon p WHERE l.maxspeed=50 AND p.name=‘Jakieś Miasto’ AND p.boundary=‘administrative’ AND ST_Intersects(l.way, p.way);

co da sumę długości dróg - w metrach - o zadanej prędkości znajdujących się w Jakimś Mieście. oczywiście wynik będzie miarodajny wyłącznie wtedy, jeśli dane w bazie będą w jakimś sensownym układzie współrzędnych płaskich (opcja -E <kod_EPSG>) przy imporcie - jak będzie to syfical mercator (import z opcją -m, jeśli dobrze pamiętam) to się okaże, że duuużo nowych dróg pobudowano ;). Można też mieć dane w układzie geograficznym WGS84 i użyć operatora ST_Length_Spheroid(l.way, ‘SPHEROID[“WGS_1984”,6378137,298.257222101]’ zamiast ST_Length(l.way).