Daha çox

WKT sütunu ilə bir CSV-nin bir Shapefile çevrilməsi


Python-da ogr2ogr istifadə edərək CSV-i shapefile çevirməyə çalışıram. CSV-də "Çoxbucaqlı" adlı bir sütunda belə WKT var: POLYGON ((uzun lat, uzun lat, uzun lat və s.)) Hal-hazırda düzgün proyeksiya ilə bir çoxbucaqlı şəkillər düzəldə bilərəm, lakin həndəsə boşdur . Hər sətirdə WKT istifadə edərək həndəsəni düzgün yaratmaq üçün ogr2ogr arqumentlərimi necə dəyişdirə bilərəm? Hal-hazırda belə bir şey var:

ogr2ogr.main (["", "-a_srs", "EPSG: 4326", "-f", "ESRI Shapefile", "output.shp", "input.csv", "-nlt", "POLYGON"] )

Bunun sizə kömək edib-etməyəcəyini bilmirəm, amma sınaqdan keçmişəm ogr2ogr komanda xətti vasitəsi və bu əmr işi yerinə yetirir ('Çoxbucaqlı' WKT-də həndəsəni ehtiva edən sahədir):

ogr2ogr -f "ESRI Shapefile" output.shp -dialect sqlite -sql "SELECT *, GeomFromText (Polygon) FROM input" input.csv -a_srs "WGS84"

Bəlkə bunu ogr2ogr python alətinə uyğunlaşdıra bilərsən?

Ogr python bağlamaları istifadə edərək Stack Overflow-da bir cavab göndərdim (əsasən eyni şeyi edir, amma 1 sətirdən çox kod ...!)

EDIT: Ogr2ogr python aləti ilə sınaqdan keçirdim və görünür ki, -dialect parametri tətbiq olunmur.
Bununla birlikdə, daha yaxşı bir seçim tapa bilmirsinizsə, ogr2ogr (komut satırı aracı) python alt prosesi ilə çağırsanız işləyir:

[24]: alt prosessoru daxil edin [25]: subprocess.call (["ogr2ogr", "-a_srs", "WGS84", "-f", "ESRI Shapefile", "output.shp", "input.csv" "," -dialect "," sqlite "," -sql "," SELECT *, GeomFromText (Polygon) FROM input ")) Çıxdı [25]: 0

Gördüyünüz kimi prosesin geri kodunu qaytaracaq (burada uğurlu olarsa 0, uğursuz olarsa 1).
(GDAL 1.11.2 / python 3.4 ilə sınaqdan keçirilmişdir)


Videoya baxın: Transpose ilə sətirləri sütunlara, sütunları sətirlərə çevirmək (Oktyabr 2021).