Me gustaría recomendar el uso OGR/GDAL, que es parte de la GDAL de la biblioteca. OGR admite un formato virtual que permite la especificación a través de un archivo XML. Si usted convertir su hoja de cálculo de Excel en un archivo CSV, puede generar un VRT para acceder a los datos.
Suponiendo que haya algo como esto example.csv
:
Lat,Long,Year,Name
34.0,-120.0,2010-05-01,Off Santa Rosa Island
Usted puede crear un VRT example.vrt
como sigue:
<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, además puede especificar los tipos de datos de los campos de atributo utilizando el <Field>
elemento dentro de la <OGRVRTLayer>
, así:
<Field name="date" src="Year" type="Date" />
Tenga en cuenta que los archivos de forma de almacenar los atributos en el DBASE IV formato que tiene menos flexibilidad en los tipos de datos de Excel. Una vez que tienes tu VRT archivo especificado, puede utilizar la normal OGR conjunto de herramientas para convertir los datos en un archivo Shapefile:
ogr2ogr -f "ESRI Shapefile" example.shp example.vrt
Por desgracia, #4 no es posible — el shapefile es una especificación que permite una sola proyección (visible aquí en example.prj
después de que el último paso).