Chuyển đổi tệp CSV của dữ liệu WKT sang shapefile bằng ogr2ogr?


8

Câu hỏi này có liên quan đến Chuyển đổi tập tin hình dạng thành tập tin văn bản (ASCII)? .

Tôi có một tệp CSV, với một cột, trong đó tất cả các hàng tương ứng với WKT POLYGON ():

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

Tôi quen thuộc với cách chuyển đổi từ shapefile sang wkt, nhưng tôi cần phải đi một con đường khác. Làm thế nào để hoàn thành nhiệm vụ này?

Tôi đã thử chơi xung quanh với ogr2ogrcác cài đặt / cờ nhưng không thực sự có ích gì.

Tôi cũng biết rằng tôi có thể sử dụng QGIS để làm điều này, nhưng nó bị đóng băng / treo do bộ dữ liệu khá lớn.

Câu trả lời:



16

Tôi đã phải giải quyết vấn đề tương tự ngày hôm nay, vì vậy đây là câu trả lời của tôi, đưa ra một giải pháp hoàn chỉnh.

Tôi có một lineWKT.csvtệp được lưu trữ trong F:\Data\thư mục, với dữ liệu như thế này:

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

Tôi có một test.vrttập tin như thế này:

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

Với cấu hình này, tôi có thể tạo một shapefile bằng lệnh sau:

ogr2ogr line.shp test.vrt


1
phương pháp tuyệt vời và làm việc! cảm ơn vì đã chia sẻ một số mã
umbe1987
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.