Poly File .poly

Am Format nix - ist ja auch einfach genug. Nur stimmen die Konturen nicht, da hier Bereiche verwendet werden, die eben nicht in Unterfranken liegen:

Aber das ist für das Problem von mapguru nicht relevant.

Gruss
walter

Ich sehe gerde in deiner Kommandozeile folgendes: –dem-poly= C:\MyOsmTopo\KARTEN-BAU\Polygon\unterfranken.poly

Mach doch mal dieses Leerzeichen nach dem “=” weg.

Gruss
walter

Ich habe da ja eine andere Vermutung, wenn man sich die Doku nochmal genauer ansieht und es Wort für Wort nimmt:

Es gibt ja unter Entwicklern unterschiedliche Auffassungen darüber, was denn ein “Filename” genau ist, ist es nur der Dateiname (mit oder ohne Endung), oder ist es der FullyQualifiedName?
Ich würde es so sehen, dass --dem-poly ja ein Unterkommando zu --dem ist. Letzteres hat bereits eine Verzeichnisangabe und dann könnte es schon Sinn machen, wenn das Poly eben in genau diesem Verzeichnis liegen sollte.
Näheres wird uns aber wohl nur der Entwickler selbst sagen können.

Naja, aber ich denke der Umstand ist ja schon hinlänglich bekannt, dass geofabrik eher gröbere Ausschnitte verwendet, oder?

Nur mal zur Erklärung, was passiert, wenn ein Leerzeichen hinten dem “=” steht so wie hier:
java -jar dist\mkgmap.jar --dem-poly= d:\OSM\areas.poly
Das Programm merkt sich, das --dem-poly ohne Parameter angegeben wurde und verarbeitet dann die Datei d:\OSM\areas.poly als Eingabe im OSM Format. Da die Datei nichts xml-artiges enthält, gibt es schon beim ersten Zeichen einen Fehler.

D:\mkgmap>java -jar dist\mkgmap.jar --dem-poly= d:\OSM\areas.poly
Time started: Wed Feb 20 09:00:41 CET 2019
Error at line 1, col 1
Bad file format: d:\OSM\areas.poly
Error parsing file

Liege zur Zeit mit Grippe flach, da mache ich aus Prinzip keine Änderungen. Wenn ich wieder durchgegrünt bin, werde ich die Doku verbessern, damit klarer wird, dass bei --dem-poly ein Pfad erwartet wird.

Edit: Copy+Paste Fehler im Dateinamen

Ja , nach mehren Tests hab ich doch die Lösung , der Hinweis mit den Leerzeichen brachte mich auf den richtigen weg.

muss mal kurz weg , werde später berichten.

Ausschneiden funktioniert jetzt nach Polygon , Koordinaten oder einfach ohne ausschneiden dann wird die komplette Karte erzeugt !

gute Besserung !!!

gruss

Will den Thread nicht kapern, also kurz und dann ist Schluss damit.

Klaro, die Polys der Geofabrik sind manuell erstellt worden und geben nur sehr grob den Umriss an. Nur in der Süd-Östlichen Ecke hat "jemand" das Poly sehr exakt an den Grenzverlauf angepasst und in der von mir angezeigten Ecke die falsche Grenze erwischt. Das hat mich halt stutzig gemacht. "Meine" Polys aus der Boundaries Map werden automatisch mit der PostGIS-Funktion ST_Buffer() erstellt, was Vor- und laut Frederik auch Nachteile hat.

gruss
walter

Bingo! So wird aus einem Leerzeichen doch noch ein Lehrzeichen :wink:

Gute Besserung und Grüße
walter

ihr kennt das toto bestimm , da kann man alle Variationen an Polygon holen , von der Stadt , region bis zum Land einfach alles so wie in den OSM definiert ist.

von da hab ich das Steigerwald Polygon !

https://peteris.rocks/blog/openstreetmap-administrative-boundaries-in-geojson/

gruss

Naja, “gehen” tut das.

aber

Tja, wenn man Zeit hat :wink:

https://wambachers-osm.website/boundaries

Gruss
walter

Gut sind die Tips, wie man ein GeoJson in Javascript einbindet.

ich kenne deine Seite , war da auch schon öfter , aber irgendwie klemmt die oder ich versteh die Logik nicht !

Ich gebe einen Ort ei zb. Schweinfurt und dann erscheint ein Fenster , ich klicke auf goto aber es passiert nichts !

entweder mach ich was falsch oder es klemmt an der Seite .

gruss

Wie ihr richtig erkannt habt lag es in erster Linie an diesen verdammten Leerzeichen !!!

Ich hatte zwar noch ein weiteres Problem da ging es darum wie der mkgmap Kommando aus VBA erzeugt wird . Da hatte ich Anführungszeichen gesetzt und das mag VBA da nicht . Das aber nur der Vollständigkeit halber !
ich hab dann den VBA code in eine Variable gepackt und dann war das Problem mit den Anführungszeichen auch gelöst

So schaut es jetzt aus, aus den VBA code wird der mkgmap Kommando generiert. So funktioniert es !
Vba Code:
–dem-poly=" + boundingbox3 + "
mkgmap:
–dem-poly=C:\MyOsmTopo\KARTEN-BAU\Polygon\hassbergepoly.poly

gruss

Da ist was dran :frowning:

Die SQL-Query, die das immer flott erledigt hat, ist fürchterlich langsam geworden. Ich versuche das gerade in den Griff zu bekommen.

Gruss
walter

ps: derzeit geht das mit Schweinfurt richtig flott - aber nicht immer.

Das wäre klasse , den die Seite wäre sehr hilfreich !

Wenn du da was repariert hast , würdest du da kurz mal ansagen :confused:

gruss

für interessierte so funktioniert es jetzt.
Die Berechnungszeit hab ich aus den Video genommen !

Von wo die Rohdaten zum erstellen der Karte bezogen werden soll , lokal oder aus dem Netz , Optik , Inhalt , Abdeckung sowie die Einbindung in Bascamp sowie die zu erzeugenden Kartenformate sind frei wählbar.
Es sind auch die Abstufungen der Höhenlinien frei wählbar , aber nicht in allen einstelligen, nur wen die Höhenlinien aus den .hgt generiert werden.
Alles ist möglich was die Einstellungen und Auswahlmöglichkeiten hergeben , sofern es logisch ist.
Die Einstellungen werden auch auf Plausibilität geprüft .
Kartenprojekte können auch gespeichert werden , damit die schnell geladen werden können ohne große Handarbeit bei der Konfiguration.

http://spinner24367.bplaced.net/poly-Koo1/poly-Koo1.swf

gruss

Erstens, dass mit dem Leerzeichen wurde schon in #30 erwähnt :stuck_out_tongue:
Zweitens, VBA hat keine Probleme mit Anführungszeichen, die kann man escapen/maskieren :wink:

Da ich diesbzgl. eher die Selbsthilfe zur Hilfe anbiete hier ein paar Infos: Es macht schon einen Unterschied zwischen & und + als Verkettung/Verknüpfung von Strings (Text), des Weiteren macht es auch einen Unterschied zwischen einem Doppelten Anführungszeichen " und einem einfach, dem Apostoph ’
Infos dazu findest du in jedem beliebigen VBA Forum.

PS: Und wie weiter oben erwähnt würde ich dir trotzdem dringend empfehlen, Pfadangaben, wie z.B. eben bei -dem-poly in Anführungszeichen zu setzen, weil ich jetzt schon weiß, dass du dann, wenn irgendwann mal ein Leerzeichen irgendwo im Pfad bzw. Dateinamen steckt, du hier wieder auf der Matte stehst :stuck_out_tongue:

Ich kann nur das berichten was ich in heute selbst getestet und erkannt hab , klar mit eurer Hilfe!
dafür danke ich allen Helfern!

Im Beitrag 14 hab ich den Vba Code veröffentlicht.
Das dies kein mkgmap Kommando sein kann , erkennt man an dem Syntax.

–dem-poly = “C:\MyOsmTopo\KARTEN-BAU\Polygon” + "" + Cells(9, 8)

glglgl hat auch in Beitrag 16 gefragt was das für eine Sprache ist , das hab ich im Beitrag 17 auch beantwordet.

Genau diese Schreibweise funktioniert nicht mit VBA und es ist auch egal ob da ein + Oder & Zeichen eingefügt wird.
Auch das Weglassen des Leerzeichen funktionierte erst mal nicht .

Nehme ich die Anführungszeichen raus gilt die Zuweisung als Variable die keinen Wert enthält.

Ich hab dann mal in dem erzeugten Mkgmap Kommando den Pfad und den Namen des Polygon in Klartext eingefügt , also nicht erzeugen lassen , dazu das Leerzeichen raus genommen und das hat dann auch funktioniert.

Apostoph ’ war nie ein Thema.

Im Beitrag 47 hab ich berichtet wie ich den vba Code verändert hab und wie es funktioniert. So wird ein Funktionierendes mkgmap Kommando generiert.
In diesen Beitrag hab ich auch erwähnt das ich eigentlich zwei Probleme zu lösen hatte!

Ist doch klar wenn es Klemmt das ich wieder nachfrage :wink:

gruss

Hmm, also bei mir funtzt das, mit Cells und den Anführungszeichen rund um dem-poly :wink:


Sub makeCmd()
    Cells(11, 1) = "java -Xmx1500M -jar " & Cells(2, 2) & "\mkgmap\mkgmap.jar" _
    & " --gmapi" _
    & " --index" _
    & " --housenumbers" _
    & " --bounds=C:\MyOsmTopo\KARTEN-BAU\DATA\bounds-latest" _
    & " --style-file=C:\MyOsmTopo\KARTEN-BAU\styles\" & Cells(5, 2) _
    & " --generate-sea:multipolygon,extend-sea-sectors" _
    & " --name-tag-list='name:de,name,int_name'" _
    & " --family-id=1" _
    & " -n MyOsmTopo-test" _
    & " --add-pois-to-areas" _
    & " --draw-priority=29" _
    & " --latin1" _
    & " --remove-short-arcs" _
    & " --route" _
    & " --dem-poly=""" & Cells(8, 2) & "\" & Cells(9, 2) & """" _
    & " --dem=" & Cells(7, 2) _
    & " --dem-dists=9942,9942,9942,13248,44176" _
    & " --show-profiles=1" _
    & " --overview-dem-dist=88368" _
    & " --overview-mapname=MyOsmTopo-test" _
    & " --series-name=MyOsmTopo-test" _
    & " --mapname=50001001" _
    & " C:\MyOsmTopo\Kartenprojekt_MyOsmTopo-test\50001*.osm.pbf " & Cells(3, 2) & "\" & Cells(6, 2)
End Sub


java -Xmx1500M -jar C:\MyOsmTopo\KARTEN-BAU\TOOLS\mkgmap\mkgmap.jar
 --gmapi
 --index
 --housenumbers
 --bounds=C:\MyOsmTopo\KARTEN-BAU\DATA\bounds-latest
 --style-file=C:\MyOsmTopo\KARTEN-BAU\styles\OFMap-Style-Typ3d_neu241118
 --generate-sea:multipolygon,extend-sea-sectors
 --name-tag-list='name:de,name,int_name'
 --family-id=1
 -n MyOsmTopo-test
 --add-pois-to-areas
 --draw-priority=29
 --latin1
 --remove-short-arcs
 --route
 --dem-poly="C:\MyOsmTopo\KARTEN-BAU\Polygon\unterfranken.poly"
 --dem=C:\MyOsmTopo\KARTEN-BAU\hgt\Dem_hgt_DACH_Slow_Hoehenmodel_Nasa
 --dem-dists=9942,9942,9942,13248,44176
 --show-profiles=1
 --overview-dem-dist=88368
 --overview-mapname=MyOsmTopo-test
 --series-name=MyOsmTopo-test
 --mapname=50001001
 C:\MyOsmTopo\Kartenprojekt_MyOsmTopo-test\50001*.osm.pbf C:\MyOsmTopo\KARTEN-BAU\TYP_Files\ofm_dbnl-3d.typ

Und wenn man das ganz als Function programmiert


Function makeCmd(toolsdir As String, stylefile As String, dempolypath As String, dempoly As String, dempath As String, typpath As String, typfile As String) As String
    makeCmd = "java -Xmx1500M -jar " & toolsdir & "\mkgmap\mkgmap.jar" _
    & " --gmapi" _
    & " --index" _
    & " --housenumbers" _
    & " --bounds=C:\MyOsmTopo\KARTEN-BAU\DATA\bounds-latest" _
    & " --style-file=C:\MyOsmTopo\KARTEN-BAU\styles\" & stylefile _
    & " --generate-sea:multipolygon,extend-sea-sectors" _
    & " --name-tag-list='name:de,name,int_name'" _
    & " --family-id=1" _
    & " -n MyOsmTopo-test" _
    & " --add-pois-to-areas" _
    & " --draw-priority=29" _
    & " --latin1" _
    & " --remove-short-arcs" _
    & " --route" _
    & " --dem-poly=""" & dempolypath & "\" & dempoly & """" _
    & " --dem=" & dempath _
    & " --dem-dists=9942,9942,9942,13248,44176" _
    & " --show-profiles=1" _
    & " --overview-dem-dist=88368" _
    & " --overview-mapname=MyOsmTopo-test" _
    & " --series-name=MyOsmTopo-test" _
    & " --mapname=50001001" _
    & " C:\MyOsmTopo\Kartenprojekt_MyOsmTopo-test\50001*.osm.pbf " & typpath & "\" & typfile
End Function

und es dann in einer Zelle wie folgt einsetzt


=makeCmd(B2;B5;B8;B9;B7;B3;B6)

kommt das selbe Ergebnis raus, nur eben dann direkt in dieser Zelle, dann kann man das auch mal Copy&Paste rausnehmen und direkt in die Cmd.exe Box kopieren und ausführen :wink:

ich hab mal deinen veränderten Code --dem-poly=“”" & Cells(8, 2) & “" & Cells(9, 2) & “””" in mein vba eingefügt und das führ zu einen Fehler !
Ich weiß nicht warum du es anzweifelst was ich sage , das Rot im Bild stammt nicht von mir , das hab ich nicht eingefärbt ;), das bedeutet das ein Syntaxfehler im Vba Code vorliegt,
der Code wird von Vab so nicht akzeptiert !

egal , es funktioniert ja so wie ich es beschrieben hab.

Gruss

Klar kann das bei dir nicht funktionieren: zwischen den 4 “”“” und --dem=" gehört ja auch noch ein & und dann natürlich vor dem --dem wieder ein "
Sorry, aber ich empfehle dir dringend bei der VHS den, und das meine ich sogar positiv, den Fortgeschrittenen VBA Kurs zu besuchen, der Anfänger ist für dich definitiv nichts mehr, da bis zu zu fortgeschritten :stuck_out_tongue:

nein & gehört da nicht rein !!

Ist im Funktionieren Cod auch nicht drin !

das schaut so aus

--remove-short-arcs --route --dem-poly=" + boundingbox3 + " --dem=" + demhgtpfad + "

Ich denk das könne wir erst mal als erledigt ansehen !

gruss