Poly File .poly

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

Ok, dann lassen wir’s einfach gut sein damit. War nur ein letzter Versuch das Programm auf einen höheren Level zu bringen, von jemanden der früher (Mitte der 90er) mal 5 Jahre VBA programmiert hat :wink:

Ich schätze dein Wissen du hast da wesentlich mehr als ich, unbestritten ! Ich hab erst seid einigen Wochen mich mit der ganzen Materie befasst .

Ich bin ja für jeden Rat und Hilfe dankbar !! Ist auch unbestritten das ich da das schwächste Glied in der Kette bin :confused:
Ist auch gut möglich das ich nicht alles so durchschau und den Wald vor lauter Bäumen nicht sehe !

gruss

Es ist mir in 3-tägiger Arbeit gelungen, aus einer zufälligen Abfragezeit von 10 Sekunden bis einige Minuten eine relativ konstante Abfragezeit von 10 Minuten zu machen. :wink:

Verdammt harte Nuss.

Gruss
walter

ps: Ist natürlich nicht live.

10 Minuten dauert es bis ein Ergebnis vorliegt bei einer Abfrage ,ist das nicht die falsche Richtung die du da eingeschlagen hast ?:rolleyes:

gruss

ne hab mal getestet , scheint wirklich flotter zu sein !

gruss

Zufall. Es hängt davon ab, welche Abfragestrategie der Planner von PostgreSQL gerade wählt. Und da gibt es starke Schwankungen. Knackpunkt ist die Verwendung von Indices, was bei einer Tabelle mit > 500.000 Einträgen, die permanent upgedated wird, nicht gerade einfach ist.
Und wenn der Planner sich plötzlich für eine sequentielle Suche entscheidete, dauert es halt.

ja scheint wirklich so zu sein das es da starke Unterschiede gibt , getestet Schweinfurt und Bamberg.

Schweinfurt dauert etwas , Bamberg ist umgehen da ! Aber 10 Min hatte ich noch nicht !

gruss

mal ne Frage , warum wird diese Anfrage nicht gefunden ?

Steigerwald osm id 628634586 , Frankenwald id 3575639 oder Hassberge id 240044857

gruss

Wo nicht gefunden? Bei wambachers Boundary Map?
Wenn ja: weil es keine administrativen Boundaries sind.

Und bitte gib in Zukunft entweder noch den Typ zur OSM ID an, oder noch besser gleich den Link.