pygeodb fuer python 3

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
luckyluke335
User
Beiträge: 4
Registriert: Dienstag 29. November 2016, 14:03

Hallo ihr,

gibt es eine moeglichkeit dieses modul(https://pypi.python.org/pypi/pyGeoDb) in python 3 zu installieren?
Bzw. welche moeglichkeiten hab ich den um eine deutschlandkarte in python 3 zu erzeugen??


vielen dank fuer eure hilfe

luckyluke
BlackJack

Der Satz “Es gibt keine freie Datenquelle zu Groesse und Form der einzelnen Postleitzahlenbereiche.” aus der Dokumentation des Moduls stimmt glaube ich nicht mehr. Ich habe mal für Berlin die Geographie der Postleitzahlenbereiche aus OpenStreetMap-Daten gezogen. Das sollte eigentlich für ganz Deutschland funktionieren. Es sei denn diese Daten sind nicht vollständig.
luckyluke335
User
Beiträge: 4
Registriert: Dienstag 29. November 2016, 14:03

ok mit was hast du das gemacht? mit osmapi?
ich will am ende eine heatmap ueber die
deutschlandkarte legen kann das mit osmapi klappen??

Gruesse
BlackJack

@luckyluke335: Ich hatte mir ein Programm geschrieben das mir die Kartendaten aus einer OSM-XML-Datei in eine SQLite-Datenbank schreibt. Und dann eines das daraus dann ein Shapefile für die Postleitzahlbereiche erzeugt hat. Die Grafik als SVG habe ich daraus dann mit http://kartograph.org / erstellt.

Interessant ist in dem Zusammenhang mit Postleitzahlen vielleicht auch diese Wikiseite bei OpenStreetMap: https://wiki.openstreetmap.org/wiki/DE: ... hland_2013
luckyluke335
User
Beiträge: 4
Registriert: Dienstag 29. November 2016, 14:03

und, dass hast du mit python 3 gemacht??
bei mir kommt da:

runfile('C:/Users/LM/Downloads/WinPython-64bit-3.5.2.3Qt5/settings/.spyder-py3/temp.py', wdir='C:/Users/LM/Downloads/WinPython-64bit-3.5.2.3Qt5/settings/.spyder-py3')
Traceback (most recent call last):

File "<ipython-input-1-ac0d80268ae2>", line 1, in <module>
runfile('C:/Users/LM/Downloads/WinPython-64bit-3.5.2.3Qt5/settings/.spyder-py3/temp.py', wdir='C:/Users/LM/Downloads/WinPython-64bit-3.5.2.3Qt5/settings/.spyder-py3')

File "C:\Users\LM\Downloads\WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\lib\site-packages\spyder\utils\site\sitecustomize.py", line 866, in runfile
execfile(filename, namespace)

File "C:\Users\LM\Downloads\WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)

File "C:/Users/LM/Downloads/WinPython-64bit-3.5.2.3Qt5/settings/.spyder-py3/temp.py", line 8, in <module>
from kartograph import Kartograph

File "C:\Users\LM\Downloads\WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\lib\site-packages\kartograph\__init__.py", line 2, in <module>
from kartograph import Kartograph

ImportError: cannot import name 'Kartograph'

:K
BlackJack

Nee, Python 2.7, keine Ahnung ob das auf 3 läuft.
time4breakfast
User
Beiträge: 1
Registriert: Sonntag 21. Januar 2018, 15:05

Ich hab bei mir pyGeoDB unter python3 (Ubuntu 17.10) zum Laufen gebracht mit Hilfe der folgenden Änderungen. Ist sicherlich nicht der schönste oder eleganteste Weg, aber zumindest funkioniert es ;)

- pycairo muss installiert sein
- den Code bei github herunterladen (https://github.com/mdornseif/pyGeoDb)
- einen neuen Ordner erstellen
- alle Files aus den Ordnern 'pygeodb', 'tools', und 'data' in den neuen Ordner kopieren oder verschieben
- folgende Änderungen an folgenden Dateien vornehmen:
* 'draw_german_borders.py', 'draw_germany_plz.py': 'import pygeodb' zu 'import pygeodb_core as pygeodb' abändern
* 'plz2python.py' und 'plz2python2013.py' ändere 'import pygeodb.plzdata' zu 'import plzdata'
* 'plz_draw': in 'plz_draw.py' umbenennen, 'pygeodb.voronoi' in 'voronoi' ändern, 'import pygeodb' zu 'import pygeodd as pygeodb' ändern, sowie 'pygeodb.borderdata' zu 'borderdata' ändern
- dann ein Terminal öffnen
- den Aufruf, der auf der github Seite gegeben wird abändern: aus 'python ./plz_draw [...]' wird 'python <pfad-zum-neugenerierten-ordner/>plz_draw.py [...]' und die restlichen Argumente beibehalten

Funktioniert bei mir einwandfrei. Einziger Nachteil ist, dass es recht lange dauert (könnte auch an meinem etwas älteren Laptop liegen ;-) ) und dass das *.pdf, das dabei kreiert wird, ziemlich groß ist (mind. mehrere 100megabyte).

Viel Spaß
Antworten