OpenTopoMap selber rendern

Langsam bleibt mir nur raten… Ich habs gerade nachgemacht, aber mit anderen Daten, die grad rumliegen und da gings.

Kann jemand nachvollziehen, dass man da “phyghtmap … warp-90.tif” sagen muss? Wäre “phyghtmap … raw.tif” nicht die bessere Wahl? Weil in warp.tif stehen ja schon Daten in Mercator und das Ergebnis wird dann an osm2pgsql weitergegeben, das dann nochmal umwandeln würde…

Was wäre eigentlich der Output von phyghtmap? Der nächste Befehl braucht ja dann ein contours.pbf. Dieses fehlt bei mir aktuell noch.

Problem verschiedener Python-Versionen? Verwendest Du wirklich Python3?

Wenn ich das wüsste. Ich habe

sudo python3 setup.py install

ausgeführt

Nur weil du

sudo python3 setup.py install

ausgeführt hast, heißt das noch lange nicht, dass auch

phyghtmap

mit python3 ausgeführt wird. Im ersten Befehl gibst du es ja zwingend an, dass er python3 nutzen soll, beim zweiten könnte ich mir vorstellen, dass das als Standard eingestellte python (auf den meisten Systemen wie schon oben angemerkt evtl python 2.7) verwendet wird.

Gib doch einfach mal

python --version

ein

Eine Datei *.pbf (bei mir heisst sie lon_…lat…pbf) ziemlich gross und die neueste Datei in diesem Verzeichnis.

Genau :wink: habe nun mit einem alias in bash_aliases auf Version 3 umgestellt.

Den Fehler habe ich aber weiterhin:

gis@ubuntusrv:~$ python --version
Python 3.5.2
gis@ubuntusrv:~$ cd ~/src/phyghtmap-2.10
gis@ubuntusrv:~/src/phyghtmap-2.10$ phyghtmap --max-nodes-per-tile=0 -s 10 -0 --pbf ~/strim/unpacked/warp-90.tif
tif file /home/gis/strim/unpacked/warp-90.tif: 51950 x 42170 points, bbox: (23.99999, 31.99949, 65.99991, 56.00019)
Traceback (most recent call last):
  File "/usr/local/bin/phyghtmap", line 9, in <module>
    load_entry_point('phyghtmap==2.10', 'console_scripts', 'phyghtmap')()
  File "/usr/local/lib/python3.5/dist-packages/phyghtmap-2.10-py3.5.egg/phyghtmap/main.py", line 663, in main
  File "/usr/local/lib/python3.5/dist-packages/phyghtmap-2.10-py3.5.egg/phyghtmap/main.py", line 378, in processHgtFile
  File "/usr/local/lib/python3.5/dist-packages/phyghtmap-2.10-py3.5.egg/phyghtmap/hgt.py", line 665, in makeTiles
  File "/usr/local/lib/python3.5/dist-packages/phyghtmap-2.10-py3.5.egg/phyghtmap/hgt.py", line 650, in chopData
  File "/usr/lib/python3/dist-packages/numpy/lib/arraysetops.py", line 200, in unique
    flag = np.concatenate(([True], aux[1:] != aux[:-1]))
ValueError: all the input arrays must have same number of dimensions

Dann schau doch mal, was mit raw.tif statt warp.tif rauskommt. Vielleicht habe ich Recht in #21.

übrigens, danke, dass du den Tester für die Howtos spielst :wink:

Nun habe ich wieder MemoryError. Muss mal versuchen, auf meine andere Maschine zu wechseln…

Gern geschehen, danke für Deine Hilfe bis jetzt. Falls ich das schlussendlich hinkriege, kann ich ja ein HowTo für Dummies erstellen…

Brauchst du sowieso. Ist das da aus #28 einer deiner “kleineren Bereiche” (23.99999, 31.99949, 65.99991, 56.00019)? Das ist Nordlibyen bis Westsibirien. Ich würde zum Testen mit einer ganz kleinen Provinz anfangen…

Das .pbf habe ich gemäss https://switch2osm.org/manually-building-a-tile-server-16-04-2-lts/ von Azerbaijan. Danach hatte ich irgendwie keine Ahnung, von welchen Bereichen ich die strim-Daten brauche. Habe den wohl zu gross gewählt…

Wie wähle ich denn den Bereich am besten aus? Ich besuchte http://www.imagico.de/map/demsearch.php, klickte bei “Globale Quellen anzeigen:” auf SRTM und wählte ein Rechteck in dem Aserbaidschan sicher beinhaltet ist. Zoomen kann man dort ja irgendwie nicht?!

Ich würde mir auf irgendeiner Karte Aserbaidschan suchen und mir die Koordinaten merken (oft steht in der URL die Koordinate des Mittelpunktes, ein Zeit lang hatten alle Karten eine Anzeige der Mausposition, ist aber aus der Mode gekommen). 44E-50.999E und 38N-41.999N so ungefähr. Dann bei imagico ein grosszügiges Rechteck malen und mir aus den paar Ergebnissen die passenden aussuchen:

Bei Viewfinder-Daten z.B. so


    L37.zip Datei herunterladen (vom 2012-07-22, lon: 36° bis 42°, lat: 44° bis 48°)  <- zu links und zu oben
    L38.zip Datei herunterladen (vom 2012-07-22, lon: 42° bis 48°, lat: 44° bis 48°)  <- zu oben 
    L39.zip Datei herunterladen (vom 2012-07-22, lon: 48° bis 54°, lat: 44° bis 48°)  <- zu oben
    J37.zip Datei herunterladen (vom 2012-04-15, lon: 36° bis 42°, lat: 36° bis 40°)  <- zu links
    J38.zip Datei herunterladen (vom 2012-04-15, lon: 42° bis 48°, lat: 36° bis 40°)  <- passt
    J39.zip Datei herunterladen (vom 2012-04-15, lon: 48° bis 54°, lat: 36° bis 40°)  <- passt
    K37.zip Datei herunterladen (vom 2012-04-15, lon: 36° bis 42°, lat: 40° bis 44°)  <- zu links
    K38.zip Datei herunterladen (vom 2012-04-15, lon: 42° bis 48°, lat: 40° bis 44°)  <- passt
    K39.zip Datei herunterladen (vom 2012-04-15, lon: 48° bis 54°, lat: 40° bis 44°)  <- passt

NASA-SRTM sind einfacher, da hat man je 1x1 Grad und braucht “N38E044”, “N39E044” … “N42E044” / N38E045", “N39E045” … “N42E045” … "N41E050

Aber sicher gibs im Netz irgendwo bessere Downloadhelfer.

Ich habe jetzt einen etwas kleineren Bereich genommen und bin aktuell beim phyghtmap-Befehl. Der ist schon etwa eine Stunde dran, Speicherverbrauch ca. 20GB, CPU-Last etwa 6%. Bin ja gespannt, ob das noch was wird… Hier gehts doch nur um Höhendaten, was macht der denn so lang?

Hast Du mir dafür einen Downloadlink? Ich finds grad nicht…

Bei Imagico oben nicht viewfinder ankreuzen, sondern “original NASA” (nicht beim “Suchbereich” die Knöpfe, sondern drüber bei “Suchkriterien” die Häkchen). Ich halte aber viewfinder schon für besser, jedenfalls wenns nicht gewerblich ist…

Er sucht sich zwischen 4 Punkten die auf 33,34,42 und 33m liegen einen oder zwei Punkte, die auf 40m liegt, geht 60-90 Meter weiter, sucht sich den nächsten Punkt, zieht eine Strich dorthin… so stolpert er langsam durch 100000qkm…

Schlussendlich wurde der Prozess tatsächlich fertig und ich habe das File lon24.00_66.00lat32.00_56.00_local-source.osm.pbf
Nun stolpere ich noch bei

./update_lowzoom.sh

Irgendwie wieder Linux-Probleme:

dropdb: database removal failed: ERROR:  database "lowzoom" does not exist
createdb: database creation failed: ERROR:  permission denied to create database

Aha. Und das standardmässig angehakte “voidfill data by J. de Ferrant” muss man entfernen?

Also bei den Knöpfen Viewfinder anstelle von SRTM? Suchbereich mit diesen Knöpfen habe ich noch nicht begriffen.

Ich kann diese Schritte auch einzeln ausführen, aber beim letzten gibts ein Problem:

psql -d lowzoom -c "INSERT INTO cities SELECT * FROM dblink('dbname=gis','SELECT * FROM lowzoom_cities') AS t(way geometry(Point,3857), admin_level text, name text, capital text, place text, population integer);"
ERROR:  relation "lowzoom_cities" does not exist
CONTEXT:  Error occurred on dblink connection named "unnamed": could not execute query.

Ein DB-Link zu der gis-Datenbank? Und dort fehlt lowzoom_cities? hm…