Je recommanderais d'utiliser OGR / GDAL , qui fait partie de la bibliothèque GDAL . OGR prend en charge un format virtuel qui permet la spécification via un fichier XML. Si vous convertissez votre feuille de calcul Excel en CSV, vous pouvez générer un VRT pour accéder aux données.
En supposant que vous ayez quelque chose comme ceci example.csv
:
Lat,Long,Year,Name
34.0,-120.0,2010-05-01,Off Santa Rosa Island
Vous pouvez créer un VRT example.vrt
comme suit:
<OGRVRTDataSource>
<OGRVRTLayer name="example">
<SrcDataSource>example.csv</SrcDataSource>
<GeometryType>wkbPoint</GeometryType>
<LayerSRS>WGS84</LayerSRS>
<GeometryField encoding="PointFromColumns" x="Long" y="Lat"/>
</OGRVRTLayer>
</OGRVRTDataSource>
À partir de GDAL 1.7, vous pouvez en outre spécifier les types de données des champs d'attribut en utilisant l' <Field>
élément à l'intérieur de <OGRVRTLayer>
, comme ceci:
<Field name="date" src="Year" type="Date" />
Gardez à l'esprit que les fichiers de formes stockent les attributs au format DBASE IV , qui offre moins de flexibilité dans les types de données qu'Excel. Une fois que vous avez spécifié votre fichier VRT, vous pouvez utiliser la chaîne d'outils OGR normale pour convertir les données en Shapefile:
ogr2ogr -f "ESRI Shapefile" example.shp example.vrt
Malheureusement, # 4 n'est pas possible - la spécification du fichier de formes permet une seule projection (visible ici example.prj
après la dernière étape).