Version 1.0 von Map Composer

Was für einen Job hast Du denn eingestellt? Hast Du die pbf manuell eingestellt oder mit Composer runtergeladen?

Schau mal in der errorLog.txt, da sollte der volle Callstack der Fehlermeldung zu finden sein. Das würde weiterhelfen.

bye, Nop

Ich habe beim Composer 0.95a folgendes eingestellt:

Datei holen
Planetfiles holen - bei Bedarf
Daten schneiden - bei Bedarf - Datum merken
API Download - bei Bedarf

und auf den Composer 1.00 übernommen. Bisher hat das ja immer funktioniert.

Die germany.osm.pdf ist mit einem Stand vom 21.12.2017 08:15 aktuell auf meinem lokalen Laufwerk vorhanden.

Die errorLog.txt sieht so aus:
21.12.17 09:35 Exception getting file size from server
java.io.FileNotFoundException: http://download.geofabrik.de/europe/germany.osm
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$10.run(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$10.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at nop.osmc.edit.PlanetFile.getOnlineSize(PlanetFile.java:198)
at nop.osmc.edit.PlanetFile.updateOnlineSize(PlanetFile.java:309)
at nop.osmc.generator.Mapper.cutSourceFile(Mapper.java:577)
at nop.osmc.generator.Mapper.generate(Mapper.java:149)
at nop.osmc.MapComposer$13.act(MapComposer.java:425)
at nop.gui.MenuThreadAction.run(MenuThreadAction.java:27)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: http://download.geofabrik.de/europe/germany.osm
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(Unknown Source)
at java.net.URLConnection.getHeaderFieldLong(Unknown Source)
at java.net.URLConnection.getContentLengthLong(Unknown Source)
at nop.osmc.edit.PlanetFile.getOnlineSize(PlanetFile.java:197)
… 6 more
21.12.17 09:35 java.io.FileNotFoundException: http://download.geofabrik.de/europe/germany.osm
21.12.17 09:35 Exception downloading: Can’t download: http://download.geofabrik.de/openstreetmap/europe/germany.osm
java.io.FileNotFoundException: http://download.geofabrik.de/europe/germany.osm
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at nop.net.Downloader.download(Downloader.java:266)
at nop.net.Downloader.fetch(Downloader.java:139)
at nop.net.DownloadJob.run(DownloadJob.java:21)
at java.lang.Thread.run(Unknown Source)
21.12.17 09:35 osmosis call failed!

Das sieht für mich so aus, als ob der Composer trotz aktueller germany.osm.pdf versucht auf die geofabrik zuzugreifen.

Ich habe den Job mal umgestellt auf:

Datei holen
Planetfiles holen - Aus
Daten schneiden - bei Bedarf - Datum merken
API Download - Aus

Dann sieht die errorLog.txt so aus:
21.12.17 09:44 osmosis call failed!

Composer will eine neue Version der PBF herunterladen. Das dürfte daran liegen, daß die PBF Daten jetzt nicht mehr im Input-Verzeichnis liegen sondern im Zwischendaten-Verzeichnis. Darum würde er Deine aktuelle PBF nicht finden.

Es ist also ok daß er etwas herunterladen will. Das Problem ist, daß er nach “…germany.osm” sucht. Die gibt es nicht. Richtig müßte es heißen “…germany.osm.pbf”.

Ich habe das Ganze grade nochmal bei mir mit Deutschland getestet und es funktioniert einwandfrei. Die URLs der Planetfiles stehen in der Tabelle Planet.tbl, Du kannst Sie unter “Daten/Planetfiles” nachsehen. Dort enden aber alle URLs mit .osm.pbf. Das war auch schon in früheren Versionen von Composer so, seit Version 0.92. Kannst Du mal nachsehen ob das bei Dir anders ausschaut?

Wie hast Du das Update vollzogen? Hast Du die neue Planet.tbl von Composer 1.0 mit reinkopiert wie in der Anleitung unter “Updates” beschrieben?

bye, Nop

O.k., dann kann der Composer die aktuelle Datei nicht finden. Die liegt bei mir im Verzeichnis …\Input. Da werde ich das im neuen Jahr mal ausprobieren. Derzeit komme ich an den Composer-PC nicht ran.

Die Planetfile sehen bei mir für Deutschland so aus:

Version 0.95a kann ich derzeit nicht prüfen. Derzeit komme ich an den Composer-PC nicht ran.

Nein, ich habe es wie bisher gemacht. Also installiert und vor dem ersten Start “meine” Icon- und TBL-Dateien in das neue Verzeichnis kopiert.

Danke erst einmal. Ich gebe Bescheid, wenn ich´s probiert habe.

Frohe Festtage!

Dann ist die Sache klar, mit der alten Planet.tbl können der Datenquellenwizard und Download nicht funktionieren. Ich vermute Du hast Composer die germany.osm.pbf bisher manuell zur Verfügung gestellt.
Bitte alle benötigten Dateien nach Anleitung kopieren (und ggf. die germany.osm.pbf umparken), dann bist Du wieder im Rennen. :slight_smile:

Feier schön, Nop

Hallo Nop,

danke für deine Hinweise. Mit den entsprechenden Umstellungen konnten / können die Karten wieder aktualisiert werden. :slight_smile:

Herzliche Grüße und allen alles Gute in 2018,
Torsten.

Alle Jahre wieder kurz vor Weihnachten … ?

Ich nutze immer noch die Version 1.0 des MC. Deswegen meine Fragen hier.

Ich habe einige Regionen definiert und lasse den Composer mit den entsprechenden Jobs mehr oder weniger regelmäßig durchlaufen. Das funktioniert auch alles ohne Probleme.

Nun habe ich gestern eine Region (Pfälzer_Wald 7.4 | 8.3 | 49.0 | 49.6) neu dazu genommen und einen entsprechenden Job erstellt. Beim Generieren wurde am Ende auch eine Karte erstellt und in meinem MapSource eingebunden. Auf den ersten Blick konnte ich keine Fehler entdecken. Allerdings gab´s im log und in der errorLog.txt folgenden Fehler

Dieser Fehler taucht in der errorLog.txt dreimal auf.

Interessant ist, dass es das Unterverzeichnis …\Ver100\input\templates bei mir nicht gibt. Und mir ist dieses Unterverzeichnis bei meinen Sicherungen bisher auch nicht aufgefallen. Weiterhin interessant ist, dass ein Job einer vorhandenen Region, der eine halbe Stunde früher lief, diesen Fehler nicht hatte.

Was ist da bei mir falsch?

Ich hoffe, es kann mir jemand helfen,
Torsten.

… und weil ich einmal dabei bin ein zweites Problem.
Ich habe eine weiter Region (Sauerland 7.2 | 9.2 | 50.8 | 51.7) und einen entsprechenden Job erzeugt. Beim Generieren bleibt der MapComposer einfach stehen und macht nichts mehr.

Der Log sieht so aus:

Die errorLog.txt ist leer. Es wird also kein Fehler mitgeschrieben.

Weiß jemand, was hier los ist bzw. nicht stimmt?

Danke Torsten.

Bricht der Job ab oder zieht er noch CPU?

linux: top , htop
win: irgnd nen taskmanager
mac: ??

Gruss
walter

Hallo Walter,
der Taskmanager zeigt eine recht schwache CPU-Auslastung an. Da passiert nichts besonderes. Der MC bleibt einfach stehen, wird aber im Taskmanager als Anwendung und Prozess aufgeführt.

Ein wiederholtes Generieren des Jobs bring keine Besserung. Der MC bleibt nach “Sorting region Sauerland” stehen und kann nur abgebrochen werden.

Herzliche Grüße, Torsten.

Kann das eventuell mit den Änderungen an großen Multipolygonen zusammenhängen, die wir in den anderen Threads grade diskutier(t)en? Bei “Pfälzer Wald” klingelts bei mir. Irgendwas war da doch an den Daten komisch, wenn ich mich recht erinnere.

Wollte mal ausprobieren, ob es an mkgmap liegt, aber ich komme schon mit dem installatierten Beispiel nicht weiter.
Ich habe map_composer_102.zip und mc_starthilfe_100.zip in das gleiche Verzeichnis ausgepackt und dann start_x64.bat aufgerufen.

In errorLog.txt findet man folgendes:

14.12.18 11:18 javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50]
Message: Leerstellen erforderlich zwischen publicId und systemId.
14.12.18 11:18 Exception reading data from downloaded file
javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50]
Message: Leerstellen erforderlich zwischen publicId und systemId.
	at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source)
	at nop.osm.OSMInputFile.openXmlStream(OSMInputFile.java:167)
	at nop.osm.OSMInputFile.<init>(OSMInputFile.java:142)
	at nop.osmc.generator.RegionMapper.downloadRegion(RegionMapper.java:100)
	at nop.osmc.generator.Mapper.generate(Mapper.java:195)
	at nop.osmc.MapComposer$13.act(MapComposer.java:425)
	at nop.gui.MenuThreadAction.run(MenuThreadAction.java:27)
	at java.lang.Thread.run(Unknown Source)
14.12.18 11:18 javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50]
Message: Leerstellen erforderlich zwischen publicId und systemId.
14.12.18 11:18 Exception reading data from downloaded file
javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50]
Message: Leerstellen erforderlich zwischen publicId und systemId.
	at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source)
	at nop.osm.OSMInputFile.openXmlStream(OSMInputFile.java:167)
	at nop.osm.OSMInputFile.<init>(OSMInputFile.java:142)
	at nop.osmc.generator.RegionMapper.downloadRegion(RegionMapper.java:100)
	at nop.osmc.generator.Mapper.generate(Mapper.java:195)
	at nop.osmc.MapComposer$13.act(MapComposer.java:425)
	at nop.gui.MenuThreadAction.run(MenuThreadAction.java:27)
	at java.lang.Thread.run(Unknown Source)
14.12.18 11:18 java.lang.ArrayIndexOutOfBoundsException: -1
14.12.18 11:18 Exception analyzing data for Wertheim
java.lang.ArrayIndexOutOfBoundsException: -1
	at nop.osm.nodetree.TreePage.getLess(TreePage.java:84)
	at nop.osm.nodetree.NodeTree.copy(NodeTree.java:297)
	at nop.osm.nodetree.NodeTree.copyTo(NodeTree.java:289)
	at nop.osmc.generator.Analyzer.standardAnalysis(Analyzer.java:166)
	at nop.osmc.generator.Analyzer.analyze(Analyzer.java:81)
	at nop.osmc.generator.Mapper.generate(Mapper.java:208)
	at nop.osmc.MapComposer$13.act(MapComposer.java:425)
	at nop.gui.MenuThreadAction.run(MenuThreadAction.java:27)
	at java.lang.Thread.run(Unknown Source)
14.12.18 11:27 javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50]
Message: Leerstellen erforderlich zwischen publicId und systemId.
14.12.18 11:27 Exception reading data from downloaded file
javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50]
Message: Leerstellen erforderlich zwischen publicId und systemId.
	at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source)
	at nop.osm.OSMInputFile.openXmlStream(OSMInputFile.java:167)
	at nop.osm.OSMInputFile.<init>(OSMInputFile.java:142)
	at nop.osmc.generator.RegionMapper.downloadRegion(RegionMapper.java:100)
	at nop.osmc.generator.Mapper.generate(Mapper.java:195)
	at nop.osmc.MapComposer$13.act(MapComposer.java:425)
	at nop.gui.MenuThreadAction.run(MenuThreadAction.java:27)
	at java.lang.Thread.run(Unknown Source)
14.12.18 11:27 javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50]
Message: Leerstellen erforderlich zwischen publicId und systemId.
14.12.18 11:27 Exception reading data from downloaded file
javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50]
Message: Leerstellen erforderlich zwischen publicId und systemId.
	at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source)
	at nop.osm.OSMInputFile.openXmlStream(OSMInputFile.java:167)
	at nop.osm.OSMInputFile.<init>(OSMInputFile.java:142)
	at nop.osmc.generator.RegionMapper.downloadRegion(RegionMapper.java:100)
	at nop.osmc.generator.Mapper.generate(Mapper.java:195)
	at nop.osmc.MapComposer$13.act(MapComposer.java:425)
	at nop.gui.MenuThreadAction.run(MenuThreadAction.java:27)
	at java.lang.Thread.run(Unknown Source)
14.12.18 11:27 java.lang.ArrayIndexOutOfBoundsException: -1
14.12.18 11:27 Exception analyzing data for Wertheim
java.lang.ArrayIndexOutOfBoundsException: -1
	at nop.osm.nodetree.TreePage.getLess(TreePage.java:84)
	at nop.osm.nodetree.NodeTree.copy(NodeTree.java:297)
	at nop.osm.nodetree.NodeTree.copyTo(NodeTree.java:289)
	at nop.osmc.generator.Analyzer.standardAnalysis(Analyzer.java:166)
	at nop.osmc.generator.Analyzer.analyze(Analyzer.java:81)
	at nop.osmc.generator.Mapper.generate(Mapper.java:208)
	at nop.osmc.MapComposer$13.act(MapComposer.java:425)
	at nop.gui.MenuThreadAction.run(MenuThreadAction.java:27)
	at java.lang.Thread.run(Unknown Source)

Schön, aber zeigst du uns den Job auch mal? Möchte mich nicht total neu einarbeiten, da ich das Teil eigentlich nicht kenne/brauche.

Gruss
walter

Ich habe keinen Job (bzw. irgendein generietes Skript) gefunden. Es gibt diverse *.tbl Dateien, die wahrscheinlich vom mc direkt in in Aufrufe anderer Tools umgesetzt werden, also ohne Umweg über eine shell.

Nun denn, Torsten schrieb aber, dass er einen speziellen Job erstellt hat.

Egal: Funzt bei mir unter Ubuntu net, da er nop.osmc.MapComposer nicht findet:


export OSMC_TOOLDIR=/opt/MapComposer/Tools
java -Xmx1100M -cp map_composer.jar:ndsc15.jar:nop.jar:colorpicker.jar:bzip2.jar:jai_codec.jar:protobuf-java-2.5.0.jar:osmosis-osm-binary-0.43.1.jar nop.osmc.MapComposer

bringt


 konnte nicht gefunden oder geladen werden
Ursache: java.lang.ClassNotFoundException: nop.osmc.MapComposer

Ich liebe Software, deren Installation “ganz einfach” ist. :frowning:

Gruss
walter

Ihr wisst das es auf www.wanderreitkarte.de ein eigenes Forum mit ner Rubrik für den Mapcomposer gibt?

Das sieht so aus, als ob ein Teil des Reportgenerators irrtümlich aufgerufen wird.

Hast Du im Job evtl. das Häkchen “Reports” gesetzt?

Die Meldungen sind auf jeden Fall für den Kartenbau unerheblich.

Ist das mit der 1.0? Dann solltest Du erst mal auf die neuste Version updaten. Es gab ein sehr seltenes Problem beim Schreiben von PBF Dateien, das zu so einem Stillstand führen konnte. Das ist aber in der aktuellen Version bereits gefixt.

Das Problem liegt daran, daß in der Beispielkonfiguration die URL der OSM API noch falsch mit http statt https angegeben ist. Kann man unter Einstellungen/Daten ändern - und ich werde es in der Installation korrigieren.

Außerdem scheint auch die URL für die CGIAR NASA SRTM-Daten nicht mehr gültig zu sein - muß wohl einen neuen Server suchen und die URL tauschen. Habe ich nicht gemerkt, weil sie nur einmal runtergeladen werden. Einfach auf CGIAT oder Viewfinder Panorama umschalten, die Daten sind sowieso besser.

Edit: CGIAR Mirrorserver sind tot, Composer bekommt eine neue URL.

Das ist nicht ganz richtig. Die Tools werden zwar direkt aufgerufen, aber alle benutzten Befehle werden zur Nachvollziehbarkeit auch in console.log geschrieben.

Es gibt übrigens nicht nur wie oben angemerkt ein eigenes Forum für Composer, sondern auch ein Wiki und ein paar Infos zum Troubleshooting.