Hi Lorenz,
ich habe dem Hoodselector beigebracht, (auch nichtkonvexe) Polygone als Hoods zu erkennen. Hierzu habe ich die Strahl-Methode nach dem Punkt-in-Polygon-Test nach Jordan [1] in lua implementiert und als Funktion in den hoodselector eingebaut. Hierzu habe ich einen lokalen branch polygone-hoods vom packages-repo erstellt Auch die hoods.json habe ich entsprechend angepasst. Jede n-eckige Hood besteht jetzt aus einer Box, mit n+1 Punkten, wobei Punkt[1]=Punkt[n+1]. Unter [2] kann man sich das Ergebnis anschauen. Natürlich sind damit jetzt auch schräge Hoodgrenzen möglich, zB entlang Teutoburger Wald oder Autobahnen etc. Es muss nur jemand (tm) machen.
Habe die neue Kombination aus hoodselector + hoods.json mal durch mein test-script [3] laufen lassen. er hat alle hoods erkannt und kam auch überall online :)
Übrigens: Verschachtelte Hoods (also zB. Bad-Iburg innerhalb landkreis-osnabrück) stellten übrigens schon früher kein Problem dar, sofern sie in der hoods.json richtig sortiert waren. Wenn die "Unterhood" vor der "Oberhood" steht, kam der hoodselector immer schon damit klar.
Danke für deine Mühe. Before wir das aber Mergen können, muss nur noch eine Sache getan werden. Der Hoodgen kann dein Format an hoods nicht erzeugen, daher müsste dieser angepasst werden. Wenn wir Überlappungen zu lassen, sollte der hoodgen am besten automatisch die hoods in die richtige Reihenfolge sortieren. (Achtung das steigert die Entwiklungskomplexität im hoodgen enorm)
Zudem könne man Optimierungen einbauen die, die Größe des hoodfiles reduziert. Man könnte z.B. den hoodgen erkennen lassen wenn eine hood von einer anderen eingeschlossen wurde. das die hoodgen automatisch die größere hood unter die kleinere legt und die unnötigen punkte löscht. Das sind aber wahrscheinlich Mathe-freuden ;)
vg Tarek