Recomiendo usar OGR / GDAL , que es parte de la biblioteca GDAL . OGR admite un formato virtual que permite la especificación a través de un archivo XML. Si convierte su hoja de cálculo de Excel en un CSV, puede generar un VRT para acceder a los datos.
Asumiendo que tienes algo como esto example.csv
:
Lat,Long,Year,Name
34.0,-120.0,2010-05-01,Off Santa Rosa Island
Puede crear un VRT de la example.vrt
siguiente manera:
<OGRVRTDataSource>
<OGRVRTLayer name="example">
<SrcDataSource>example.csv</SrcDataSource>
<GeometryType>wkbPoint</GeometryType>
<LayerSRS>WGS84</LayerSRS>
<GeometryField encoding="PointFromColumns" x="Long" y="Lat"/>
</OGRVRTLayer>
</OGRVRTDataSource>
A partir de GDAL 1.7, también puede especificar los tipos de datos de los campos de atributos utilizando el <Field>
elemento dentro de <OGRVRTLayer>
, de esta manera:
<Field name="date" src="Year" type="Date" />
Tenga en cuenta que los archivos de forma almacenan atributos en el formato DBASE IV que tiene menos flexibilidad en los tipos de datos que Excel. Una vez que haya especificado su archivo VRT, puede usar la cadena de herramientas OGR normal para convertir los datos en un Shapefile:
ogr2ogr -f "ESRI Shapefile" example.shp example.vrt
Desafortunadamente, # 4 no es posible: la especificación del archivo de forma permite una sola proyección (visible aquí example.prj
después del último paso).