Hallo
Gibt es irgendwo eine ausführliche Anleitung, wie ich kleinere Bereiche mit dem Stil von OpenTopoMap selber rendern kann?
Vielen Dank.
Gruss Marco
Hallo
Gibt es irgendwo eine ausführliche Anleitung, wie ich kleinere Bereiche mit dem Stil von OpenTopoMap selber rendern kann?
Vielen Dank.
Gruss Marco
Damit hat es bis jetzt eben nicht so recht geklappt. Soll ich es nochmals versuchen und hier einfach konkret fragen, wenn ich anstehe?
Es hapert z.B. schon bei den Symlinks:
# change default path via symlink (works better than changing postgres config):
sudo chown postgres /mnt/database
sudo chgrp postgres /mnt/database
Ich habe ein virtuelles Linux, da habe ich keine weiteren Festplatten gemountet. Ja, ich bin ein Linux-Anfänger…
Dann lass diese Zeilen einfach aus:
sudo chown postgres /mnt/database
sudo chgrp postgres /mnt/database
sudo service postgresql stop
sudo cp -a /var/lib/postgresql/9.5/main /mnt/database
sudo rm -r /var/lib/postgresql/9.5
sudo ln -s /mnt/database /var/lib/postgresql/9.5
sudo service postgresql start
Aber vielleicht weiss hier auch jemand bessere Anweisungen. Die Howtos sollten halbwegs passen, derStefan hat sie letzte woche nochmal angepasst. Sie wenden sich aber eher an jemanden, der seine Datenbank auch mal umtopfen kann…
Bei folgender Zeile habe ich das nächste Problem:
sudo dpkg -i libapache2-mod-tile_0.4-12~precise2_amd64.deb
Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.
invoke-rc.d: initscript apache2, action "restart" failed.
● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: failed (Result: exit-code) since Wed 2018-03-07 21:08:12 CET; 3ms ago
Docs: man:systemd-sysv-generator(8)
Process: 30399 ExecStart=/etc/init.d/apache2 start (code=exited, status=1/FAILURE)
journalctl -xe ergibt folgendes:
-- The start-up result is done.
Mar 07 21:08:12 ubuntusrv apache2[30399]: * Starting Apache httpd web server apache2
Mar 07 21:08:12 ubuntusrv apache2[30399]: *
Mar 07 21:08:12 ubuntusrv apache2[30399]: * The apache2 configtest failed.
Mar 07 21:08:12 ubuntusrv apache2[30399]: Output of config test was:
Mar 07 21:08:12 ubuntusrv apache2[30399]: AH00526: Syntax error on line 34 of /etc/apache2/sites-enabled/tileserver_site.conf:
Mar 07 21:08:12 ubuntusrv apache2[30399]: Unable to open config file
Mar 07 21:08:12 ubuntusrv apache2[30399]: Action 'configtest' failed.
Mar 07 21:08:12 ubuntusrv apache2[30399]: The Apache error log may have more information.
Mar 07 21:08:12 ubuntusrv systemd[1]: apache2.service: Control process exited, code=exited status=1
Mar 07 21:08:12 ubuntusrv systemd[1]: Failed to start LSB: Apache2 web server.
Zeile 34 von tileserver_site.conf steht:
LoadTileConfigFile /etc/renderd.conf
das File /etc/renderd.conf gibt es gar nicht.
Etwas weiter unten in der Anleitung steht, dass man diese Zeile auskommentieren soll. Mache ich das jetzt schon, habe ich bei folgendem Schritt ein Problem:
# copy conf/tile.conf into /etc/apache2/mods-available/tile.conf
Die Datei conf/tile.conf habe ich nicht. Das ist ja ein relativer Pfad. Wo sollte diese liegen?
Weiss ich auch nicht, aber ich kann sagen, was drinsteht:
ModTileRenderdSocketName /var/lib/tirex/modtile.sock
#ModTileTileDir /var/lib/mod_tile
ModTileTileDir /mnt/tiles
ModTileRequestTimeout 5
AddTileConfig / opentopomap
da steht wieder dieses /mnt/ drin, muss man anpassen.
Ich hab für meine OTM-Kopie übrigens switch2osm befolgt und dann anschliessend den Stil eingebaut. Jetzt hab ich renderd statt tirex, geht damit aber auch.
Eine Vorgängerin davon. 14.04 glaube ich, weil ich hatte dann den osm-bright -Stil drauf.
Aktuell bin ich beim HOWTO_DEM.
folgender Befehl schlägt fehl:
gdalwarp -co BIGTIFF=YES -co TILED=YES -co COMPRESS=LZW -co PREDICTOR=2 -t_srs "+proj=merc +ellps=sphere +R=6378137 +a=6378137 +units=m" -r bilinear -tr 1000 1000 raw.tif warp-1000.tif
wenn man anstelle von raw.tif …/…/raw.tif schreibt, geht dieser Befehl.
Aber der nächste geht wieder nicht:
gdaldem color-relief -co COMPRESS=LZW -co PREDICTOR=2 -alpha warp-5000.tif relief.txt relief-5000.tif
warp-5000.tif existiert nicht.
Wiederhole den Befehl
-tr NNN NNN raw.tif warp-NNN.tif
für alle warp-NNN.tif, die dir fehlen.
Übrigens werden diese relief-… nur für die Zoomlevel <=8 verwendet. Für ein kleines Gebiet muss man sich die Mühe nicht machen, man kann auch einfach im Stil die Verweise auf “basemap-relief” löschen, wenn man sowieso erst bei Zoomlevel >8 was sehen will
Aha, gut zu wissen. Wenn ich es trotzdem machen möchte, scheitere ich an diesem Befehl:
gdaldem color-relief -co COMPRESS=LZW -co PREDICTOR=2 -alpha warp-5000.tif relief.txt relief-5000.tif
es gibt keine relief.txt
Ah so danke.
Bei
phyghtmap --max-nodes-per-tile=0 -s 10 -0 --pbf warp-90.tif
habe ich folgenden Output:
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/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 542, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2569, in load_entry_point
return ep.load()
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2229, in load
return self.resolve()
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2235, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "build/bdist.linux-x86_64/egg/phyghtmap/main.py", line 19, in <module>
File "build/bdist.linux-x86_64/egg/phyghtmap/NASASRTMUtil.py", line 9, in <module>
ImportError: No module named http
ImportError: No module named http
Keine Ahnung… Im Internet hab ich gelesen, das könnte was mit python-Versionen zu tun haben, aber ich hab 2.x und 3.x und ich weiss nicht, welche da grad aktiv war…
wenn ich
sudo python3 setup.py install
ausführe, und danach
phyghtmap --max-nodes-per-tile=0 -s 10 -0 --pbf ~/strim/unpacked/warp-90.tif
ist der Output so:
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 377, in processHgtFile
File "/usr/local/lib/python3.5/dist-packages/phyghtmap-2.10-py3.5.egg/phyghtmap/hgt.py", line 402, in __init__
File "/usr/local/lib/python3.5/dist-packages/phyghtmap-2.10-py3.5.egg/phyghtmap/hgt.py", line 459, in initAsGeotiff
MemoryError
Da war wahrscheinlich Python 2 aktiv (das auf vielen Systemen immer noch default ist), denn in Python 2.7 schlägt
import http
auch bei mir fehl; mit Python 3.6 klappt es dagegen anstandslos.
(Zu allem anderen kann ich dagegen mangels Ahnung nix sagen.
Kennt sich jemand mit Python aus? Ist das nicht einfach die Aussage “Speicher vollgemacht”?
Wie viel Speicher hast du denn deiner virtuellen Maschine gegeben? Kannst du mal nebenbei top laufen lassen und schaun, wie viel Speicher phyghtmap braucht? Generell ist OTM ein -äh- im Hinblick auf Speicherplatz nicht übertrieben intensiv optimierter Stil…
Ich habe jetzt mehr Speicher gegeben, dann habe ich dies:
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