Mehr

Das Schreiben von Shapefiles mit definierter Projektion stürzt fiona . ab

Das Schreiben von Shapefiles mit definierter Projektion stürzt fiona . ab


Ich habe gerade angefangen zu versuchen, Fiona zu verwenden, um Shapefiles zu schreiben. Ich habe den folgenden Beispielcode gefunden, der gut zu funktionieren scheint

from shapely.geometry import Mapping, Polygon import fiona # Hier ist ein Beispiel Shapely Geometrie poly = Polygon([(0, 0), (0, 1), (1, 1), (0, 0)]) # Definiere ein Polygon Feature-Geometrie mit einem Attribut schema = { 'geometry': 'Polygon', 'properties': {'id': 'int'}, } # Schreiben Sie ein neues Shapefile mit fiona.open('my_shp2.shp', 'w' , 'ESRI Shapefile', schema) as c: ## Wenn es mehrere Geometrien gibt, füge hier die "for"-Schleife ein c.write({ 'geometry': mapping(poly), 'properties': {'id': 123 }, })

Wenn ich dies jedoch ändere, um eine Projektion für das Ausgabe-Shapefile zu definieren, indem ich dasöffnenRuf an:

from fiona.crs import from_epsg with fiona.open('my_shp2.shp', 'w', 'ESRI Shapefile', schema, crs=from_epsg(3405)) als c:

dann hängt Python eine Weile und stürzt dann mit folgendem Fehler ab:

Python(12985,0x7fff72746180) malloc: *** Fehler für Objekt 0x7fce4aa2c930: Der freigegebene Zeiger wurde nicht zugewiesen *** setze einen Haltepunkt in malloc_error_break zum Debuggen von [IPythonQtConsoleApp] WARNUNG | Kernel neu gestartet

Hat jemand eine Ahnung, was hier los ist? Mache ich etwas Verrücktes, ist mein Computer irgendwie falsch konfiguriert oder ist das ein Fehler?

Ich verwende dies unter OS X 10.8.5 und verwende GDAL/OGR auf diesem Computer seit langem ohne Probleme. Der vollständige Stack-Trace, falls das hilft, ist hier verfügbar.


Dies stellte sich als ein Problem mit der GDAL-Installation auf meinem Computer heraus und eine Inkompatibilität zwischen den verschiedenen Versionen von GDAL, seinen unterstützenden Bibliotheken (wie PROJ und GEOS) und Python.

Entfernen Sie alle Spuren von GDAL und seinen Bibliotheken und installieren Sie sie dann erneut mit demselben Compiler, der zum Kompilieren und Installieren von Python verwendet wurde (in diesem Fallbrauen) alle Probleme behoben.


Die Bereitstellung einer Umgebungsvariablen für das GDAL-Datenverzeichnis löste das Problem.

import os os.environ["GDAL_DATA"] = 'C:Python27Libsite-packagesosgeodatagdal' import fiona from fiona.crs import from_epsg schema = {'geometry': 'Point', 'properties ': {'X':'float'}} shp = fiona.open('F:/temp/asdf.shp', 'w', driver="ESRI Shapefile",crs=from_epsg(4326), schema=schema )

Schau das Video: ArcGIS - Converting a geodatabase to shapefiles