4 votos

Cómo utilizar python para convertir un .dbf en un shapefile

He estado buscando en Internet para encontrar una forma pitónica de procesar estos datos.

Todos los días recibiremos una carga de datos en formato .dbf (con suerte) - entonces tenemos que guardar estos datos como un shapefile.

¿Alguien tiene algún enlace o alguna sugerencia sobre mi proceso?

3voto

Herms Puntos 13069

Estaba en el constructor de modelos todo el tiempo.

#   (generated by ArcGIS/ModelBuilder)
# Usage: DBF2SHAPEFILE <XY_Table> <Y_Field> <X_Field> <Output_Feature_Class>
# ---------------------------------------------------------------------------

# Import system modules
import sys, string, os, arcgisscripting, datetime

# Adds the creation date to all of the previous shapefiles in that folder
filename = 'D:/test.txt'
fileinfo = os.stat(filename)
creation_date = datetime.date.fromtimestamp(fileinfo.st_ctime)
os.rename(filename, filename + '-' + creation_date.strftime('%Y-%m-%d'))

# Create the Geoprocessor object
gp = arcgisscripting.create()

# Load required toolboxes...
gp.AddToolbox("C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Data Management Tools.tbx")

# Script arguments...
XY_Table = sys.argv[1]

Y_Field = sys.argv[2]

X_Field = sys.argv[3]

Output_Feature_Class = sys.argv[4]

# Local variables...
Layer_Name_or_Table_View = ""

# Process: Make XY Event Layer...
gp.MakeXYEventLayer_management(XY_Table, X_Field, Y_Field, Layer_Name_or_Table_View, "")

# Process: Copy Features...
gp.CopyFeatures_management(Layer_Name_or_Table_View, Output_Feature_Class, "", "0", "0", "0")

3voto

TCS Puntos 185

Alice, ¡no olvides asignar una referencia espacial a tu capa xy! O puede hacerlo a la clase de característica de salida utilizando

gp.DefineProjection_managment(Output_Feature_Class, coor_system)

2voto

Erik Öjebo Puntos 6937

Esto no es python como se pidió, pero esto ejecutará una macro en visual basic. Macros > Editor de Visual Basic. http://support.esri.com/en/knowledgebase/techarticles/detail/25252

Posible script de arcpy (aunque el editor no está soportado en arcpy):

http://forums.arcgis.com/threads/1200-beta-10-arcpy-and-pmf

1voto

Ryan Guest Puntos 2262

Esto no se puede hacer en Python. Consulte el siguiente documento de ayuda para ver ejemplos de código sobre cómo hacerlo: http://resources.esri.com/help/9.3/arcgisdesktop/dotnet/9ce6663f-1e34-4e84-923a-0d8f671ec730.htm

0voto

Arda Xi Puntos 1099

¿Qué tal esto?

  1. Lea su archivo dbf en la memoria con este lector y escritor de dbf

  2. Recorrer los registros del dbf y llevarlos a un shapefile con algo similar al Listado 9 en este artículo de ArcUser .

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