Moin
Also ich habe ja in den letzten Monaten das eine oder andere Hoodfile mit dem Hoodgen gebaut. Und muss sagen, dass diese durchaus sehr gut funktioniert und leicht zu händeln ist. Nach einer kleineren Anpassund meinerseits sind die Rechtecke auch nun kleiner als in der ursprünglichen Version. Diese kann man bei Bedarf sicherleich noch kleiner machen.
Was ich sehr angenhem finde ist das man in der akutellen Version keine Überschneidungen konstruieren kann, zumindestens wenn man nur die GUI nutzt und nicht anfängt an den Koordinaten im Hoodfile zu drehen.
Ich sehe den großen Vorteil von Polygonen halt noch nicht wirklich zumindestnes was den Hoodgen angeht, ich finde das kann man an der Stelle super so belassen. Wenn man nun hier wilde Polygone zieht wird es zu überhschneidungen/überlappungen oder auch zu abschnitten kommen die, dann nicht in einer der Hoods sich befinden. Auch wenn ich an die Programmiertechnische umsetzung denke ist das nicht mal eben erledigt, wenn man diesen Faktor abfangen möchte, wird es doch eher sehr komplex werden.
Was ich durchaus sehe ist das bei einer komplzierten Hood sicherleich das Hoodfile größer wird wenn eine Hood aus vielen kleinen Kästen besteht.
Ich denke den Support in den Hoodselector einzubauen, sodass dieser Polygons kann, halte ich für sinvoll, das im Hoodgen zu machen halte ich aus oben genannteten Gründen für Schwachsinn und echt schwierig in der Handhabung.
Um dennoch das Hoodfile möglichst klein zu bekommen wäre da als erste Idee von mir nun die wie ich finde bessere Lösung einen Script zu schreibem, welches beim Build vorgang das Hoodfile analysiert und viele kleine Rechtecke zu einem Polygon zusammenfasst. Das hätte den Vorteil, das das Hoodfile auf den Router möglichst klein ist, aber dennoch vom Anwender im Hoodgen sehr einfach hanzuhaben ist.
Gruß
Johannes
Von meinem iPhone gesendet
Am 20.09.2017 um 10:38 schrieb Jan-Tarek Butt via Dev dev@lists.ffnw.de:
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
Dev mailing list Dev@lists.ffnw.de https://lists.ffnw.de/mailman/listinfo/dev