Neue Auswertung

Florian Lohoff f at zz.de
Di Jan 5 22:27:50 CET 2016


On Tue, Jan 05, 2016 at 10:02:09PM +0100, Hartmut Holzgraefe wrote:
> On 05.01.2016 18:47, Florian Lohoff wrote:
> >http://silicon-verl.de/home/flo/tmp/20160105/
> 
> und das hier ist ein false positive? Da heißt wirklich
> nur der Kreisel so und keine der daran angebundenen
> Straßen ...

Da arbeite ich gerade dran - Also einer systematik mit
der ich im code auf "umliegende" Wege zugreifen kann. Dafür muss ich
alle Wege aus dem PBF in einen RTree packen - also einen spatialen
index. Das klappt soweit auch schon - Passt dann natürlich nicht
unbedingt mehr in den Hauptspeicher - Wobei gerade spannenderweise
ganz OWL <100MByte sind - also wege als WKB. Was mir jetzt gerade
fehlt ist noch das "aufheben" der tags aller Wege. Dafür habe ich
mir jetzt einen deduplizierenden StringStorage gebaut
und dann eine utf-8 like variable length Integer storage. Das
zusammen kriegt man gängige String in einem Byte.

Also sowas wie

	highway=residential
	lit=yes
	maxspeed=50

sind dann 6 byte ...

Muss ich jetzt in nette Klassen packen. Das lesen vom OWL PBF 
auf meinem Notebook in den RTree dauert auf meinem Notebook <2 Minuten.

Das ermöglicht dann noch ganz andere Auswertungen:

- Nächstliegende Straße eines building=yes + addr:* ist ein Track
	-> Kann nicht sein - track ist Landwirtschaft
- highway=track im landuse=residential
	-> Kann nicht sein - track ist Landwirtschaft
- Name/Ref des Kreisverkehrs an den Anschliessenden Straßen
- Überlappende Landuses
- Straßen durch Gebäude ohne tunnel=building_passage
- Straßen die Gebäude schneiden

Der erste Fehler war weshalb ich mit dem RTree angefangen habe. Das geht
soweit schon. Um zu entscheiden ob das ein Track ist fehlen
mir jetzt die Tags.

Jede menge Ideen - komme gerade mit der Umsetzung nicht nach ;)

Flo
-- 
Florian Lohoff                                                 f at zz.de
      We need to self-defend - GnuPG/PGP enable your email today!


Mehr Informationen über die Mailingliste OSM