Convertendo arquivo CSV de dados WKT para shapefile usando ogr2ogr?


8

Esta questão está relacionada a Convertendo shapefiles em arquivos de texto (ASCII)? .

Eu tenho um arquivo CSV, com uma coluna, onde todas as linhas correspondem aos WKT POLYGON () 's:

WKT
POLYGON(...)
POLYGON(...)
...

Eu estou familiarizado com como converter de shapefile para wkt, mas preciso fazer o contrário. Como realizar esta tarefa?

Tentei brincar com ogr2ogras configurações / sinalizadores, mas realmente não obtive nada de útil.

Também sei que posso usar o QGIS para fazer isso, mas congela / trava, pois o conjunto de dados é bastante grande.

Respostas:



16

Eu tive que resolver o mesmo problema hoje, então aqui está a minha resposta, que fornece uma solução completa.

Eu tenho um lineWKT.csvarquivo armazenado na F:\Data\pasta, com os dados como este:

id,gm
0,"LINESTRING (30 10 0, 10 30 0, 40 40 5)"

Eu tenho um test.vrtarquivo como este:

<OGRVRTDataSource>
    <OGRVRTLayer name="lineWKT">
       <SrcDataSource>F:\Data\lineWKT.csv</SrcDataSource>
      <GeometryType>wkbLineString25D</GeometryType>
 <LayerSRS>PROJCS["WGS_1984_Lambert_Conformal_Conic",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1000000.0],PARAMETER["False_Northing",1000000.0],PARAMETER["Central_Meridian",85.875],PARAMETER["Standard_Parallel_1",24.625],PARAMETER["Standard_Parallel_2",27.125],PARAMETER["Latitude_Of_Origin",25.8772525],UNIT["Meter",1.0]]</LayerSRS>
 <GeometryField encoding="WKT" field='gm' > </GeometryField >
     </OGRVRTLayer>
</OGRVRTDataSource>

Com essa configuração, eu posso criar um shapefile com o seguinte comando:

ogr2ogr line.shp test.vrt


1
ótimo e método de trabalho! obrigado por compartilhar algum código também.
umbe1987 24/04
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.