6 votos

OGR Shapefile a CSV: Utilizando Python para obtener WKT para Polys multipartes.

El uso de ogr2ogr y python, estoy corriendo en una pared con el intento de crear un archivo csv con WKTs para un shapefile que contiene los polígonos multiparte. Actualmente este es el código que estoy usando (lo encontré en interweb):

#Purpose: To export a shapefile to WKT

from osgeo import ogr
import sys, os

input = ogr.Open(sys.argv[1])


layer_in = input.GetLayer()
layer_in.ResetReading()
feature_in = layer_in.GetNextFeature()

outfile = open(sys.argv[1] + ".wkt", "w")

while feature_in is not None:

    geom = feature_in.GetGeometryRef()
    geom_name = geom.GetGeometryName()

    outfile.write(str(geom)+ '\n')

    feature_in = layer_in.GetNextFeature()

Así que, ¿es necesario utilizar una diferente de la geometría del contenedor o necesito evaluación de cada característica y si es un multipart utilizar un conjunto diferente de las clases de geometría? He mirado en la gdal/ogr documentación, pero estoy teniendo dificultades para conciliar.

gracias de antemano, matt.

3voto

Adrian Godong Puntos 332

Si no puede usar ogr2ogr, y está buscando wkt, use ogr.Geometry.ExportToWkt ():

 from osgeo import ogr
import sys, os
input = ogr.Open(sys.argv[1])
layer_in = input.GetLayer()
layer_in.ResetReading()
outfile = open(sys.argv[1] + ".wkt", "w")
for f in layer:
    geom = feature_in.GetGeometryRef()
    geom_name = geom.GetGeometryName()
    wkt = geom.ExportToWkt()
    outfile.write(wkt + '\n')
 

Con algunos cambios de código para la brevedad. Lo probé brevemente y pude conseguir wkt.

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