Download und zusammenführen von swisstopo opendata
Download Windows Version »
·
Report Bug
·
Request Feature
Inhalt
Über die swisstopo website können Rohdaten in der höchsten verfügbaren Qualität bezogen werden. Die Daten können räumlich selektiert werden und dann über eine Liste von links (CSV) bezogen werden. Ein einfaches Werkzeug für den Datendownload und das zusammenführen - das soll dieses Projekt bereitstellen.
Hauptfunktionen:
- Herunterladen und zusammenführen in einem Schritt. Der "fehlende letzte Schritt " für das CSV von swisstopo
- Einfach: keine Installation nötig , graphisches Nutzerinterface 😄
- Automatisierter Datenbezug: über die Command Line kann eine Vielzahl von verschiedenen Datenbezügen gemacht werden
Voraussetzung: es handelt sich um Rohdatenbezug: der Speicherplatzbedarf kann je nach gewähltem Perimeter und Produkt gross sein. Für Anwendungen bei denen keine hohen Auflösungen benötigt werden, ist mit Vorteil der PDF Export von map.geo.admin.ch oder einer der entsprechenden api.geo.admin.ch Dienste zu nutzen.
Eine Liste häufig verwendeter Ressourcen, die ich hilfreich finde, ist in den acknowledgements aufgeführt.
- Zusammenführen und ausschneiden nur für Landeskarte , Luftbild/Swissimage und Höhenmodell/Swissalti möglich
Um swisstopoBatchNmerge local zu nutzen, folge diesen einfachen Schritten
- Windows 10
- Mac & Linux , python 3.*
Windows: .EXE -Binaries
- Download der zwei Dateien in dasselbe Verzeichnis
- Doppelklick auf swisstopoBatchNmerge.exe
MAC / LINUX / Windows
- Clone the repo
git clone https://github.com/davidoesch/swisstopoBatchNmerge.git
- Install pip packages
pip install nested_lookup gdal osgeo tkinter pyproj progressbar
- plug&pray
swisstopoBatchNmerge.py
python swisstopoBatchNmerge.py
unten sind WINDOWS /DOS Beispiele. Bei MAC LINUX jeweils "python sswisstopoBatchNmerge.py" einsetzen
swisstopoBatchNmerge.exe
Falls du über einen PROXY (meist in Firmennetzwerken der Fall) Zugang hast, musst du den Proxy definieren
swisstopoBatchNmerge.exe --PROXY http://proxy_url:proxy_port
Ein Liste mit einer Download URL des geo.admin.ch STAC item pro Zeile wird abgearbeitet: heruntergeladen und zusammengeführt. Optionen --noMERGE 1 --PROXY http://proxy_url:proxy_port
swisstopoBatchNmerge.exe --CSV "C:\Downloads\ch.swisstopo.swissimage-dop10-5H5DQOGd.csv" --noGUI 1
Via SAAC API Aufruf kann ein swisstopo Produkt über einen viereckigen Ausschnitt bezogen werden.
-
Produkte (collection): Identifier zB ch.swisstopo.landeskarte-farbe-10
-
Perimeter (bbox): Rechteck: Kooridnatenpaar unten link und unten rechts zB 7.43,46.95,7.69,47.10 s Optionen --noMERGE 1 --noCROP 1 --PROXY http://proxy_url:proxy_port
swisstopoBatchNmerge.exe --URL "https://data.geo.admin.ch/api/stac/v0.9/collections/ch.swisstopo.pixelkarte-farbe-pk50.noscale/items?bbox=7.43,46.95,7.69,47.10" --noGUI 1
Via StAC API und geo.admin API Aufruf kann ein swisstopo Produkt über einen Gemeinde bezogen werden.
-
LOCATION : Offizieler Gemeindenamen zB "Trimmis"
-
PRODUCT: (collection): Identifier zB ch.swisstopo.pixelkarte-farbe-pk50.noscale Optionen --noMERGE 1 --noCROP 1 --PROXY http://proxy_url:proxy_port
swisstopoBatchNmerge.exe --LOCATION "Trimmis" --PRODUCT "ch.swisstopo.pixelkarte-farbe-pk50.noscale" --noGUI 1
Mit --noMERGE 1 werden die Datein nur heruntergeladen, aber nicht zusammengesetzt
Mit --noCROP 1 werden die Datein heruntergeladen, zusammengesetzt, aber nicht auf die BBOX oder die Gemeinde zugeschnitten
Siehe open issues bzgl liste von geplanten features (oder issues (von denen es viele hat.... )).
Beiträge sind das, was die Open-Source-Gemeinschaft zu einem so grossartigen Ort des Lernens, der Inspiration und der Kreativität macht. Jeder Beitrag, den du leistest, wird dankbar geschätzt.
- Forke das Project
- Erstelle deine Feature Branch (
git checkout -b feature/AmazingFeature
) - Committe deine Changes (
git commit -m 'Add some AmazingFeature'
) - Push in deine Branch (
git push origin feature/AmazingFeature
) - Öffne ein Pull Request
Die WINDOWS Version wurde mit pyinstaller realisiert. pyinstaller und gdal - das ist so ein Sache. Lösungsschritte
- Install pip packages
pip install pyinstaller
- Nutze den hook.py
pyinstaller swisstopoBatchNmerge.py --onefile --runtime-hook=hook.py
- Stelle sicher, dass im dist Verzeichnis das proj.db file vorhanden ist
Distributed under the MIT License. See LICENSE
for more information.
David Oesch - @davidoesch
Project Link: https://github.com/davidoesch/swisstopoBatchNmerge