26 votos

¿Cómo puedo convertir un archivo de excel con la x, y las columnas a un shapefile?

¿Cómo puedo convertir un archivo de excel con la x, y las columnas a un punto shapefile?

Hay algunos algo opcional requerimientos, además de la correcta creación de un shapefile:

  1. Los tipos de columna (como por Excel especificadores de formato) debe ser retenido (especialmente los tipos de fecha)
  2. Los nombres de columna debe ser tomado de la cabecera
  3. Me gustaría como hacer esto desde la línea de comandos
  4. Si puedo incluir heterogéneas referencias espaciales de los puntos en una tercera columna, yo sería muy feliz :)

24voto

Robert Höglund Puntos 5572

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).

9voto

dragonmantank Puntos 5316

Usted podría utilizar el Texto Delimitado plugin que viene con QGIS (http://qgis.org) para cargar el archivo de texto y, a continuación, guárdelo como un archivo shapefile.

6voto

UnkwnTech Puntos 21942

Busqué, pero no pude encontrar una página de ayuda en la Pantalla XY Datos en la web de ayudar, pero el proceso es simple.

  1. El uso de Agregar Datos (o arrastrar y soltar desde la ventana de Catálogo) para navegar por la hoja de cálculo (dentro de la hoja de cálculo) y agregarlo a tu mapa
  2. Haga clic derecho para elegir y utilizar la Pantalla XY de Datos para agregar un evento de la capa de
  3. Haga clic derecho en el caso de la capa recién creada y uso de Datos|Exportación de Datos para crear un shapefile

Usted sólo necesita el programa ArcView (Básico) nivel de licencia de ArcGIS for (para) Escritorio para hacer esto.

6voto

Neall Puntos 261

Aunque no desde la línea de comandos, usted puede hacer esto dentro de ArcGIS Aplicación. Desde 9.3.1, sólo tiene que añadir el XLS directamente en ArcMap. Hacer un gráfico XY Evento Capa de la XLS (es decir, levantar la X, Y Columnas y el conjunto de ur de referencia espacial) Luego de exportación de este XY Evento Capa a una nueva .shp Esto podría ser fácilmente automatizado con un simple python/VBA script o un modelo en modelbuilder. Encantados de ayudarle en este flujo de trabajo básico si usted necesita más información.

4voto

EndangeredMassa Puntos 9532

Siempre existe el aventurero opción. Puede escribir el archivo de forma a sí mismo. ESRI publica la especificación de los archivos de forma, que se puede leer aquí:

http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf

Usted prob también se necesita para escribir un archivo DBF. Usted puede leer acerca de el formato aquí:

http://www.clicketyclick.dk/databases/xbase/format/dbf.html#DBF_STRUCT

Esta es sin duda una exageración, pero le daría la ventaja de tener el control sobre todo el proceso.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X