Bir şekil dosyasını WKT'ye nasıl dönüştürebilirim?


12

Aşağıdaki örnekte ( http://en.wikipedia.org/wiki/Well-known_text ) basit bir Bilinen Metin (WKT) biçimine bir şekil dosyasını dönüştürmeye çalışıyorum .

MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)),
((20 35, 45 20, 30 5, 10 10, 10 30, 20 35),
(30 20, 20 25, 20 15, 30 20)))

Şekil dosyasını CSV olarak kaydetmek için QGIS kullandığımı biliyorum ve herhangi bir sayıdaki dönüşümü yapmak için ogr2ogr kullanabilirim. Aslında ogr2ogr -f CSV out.wkt source.shp -lco GEOMETRY=AS_WKTbeni şimdiye kadar geldiğim kadar yaklaştırıyor, ama tam olarak orada değil. Herhangi bir öneri?

ps olarak Mapperz tarafından Konuyu çok benzer kaydetti bu bir . Bu iş parçacığı, yukarıda belirttiğim ogr2ogr yaklaşımını sağlarken, bu özel sorunu çözmedi. Aldığım ogr2ogr çıktısı şu şekilde görünüyor (Çizgileri kısalttım). Görünüşe göre, çokgen kullanmak için ogr2ogr almak nasıl anlayamadım.

WKT,AREA,PERIMETER,PINUPOND_,PINUPOND_I,CODE
"POLYGON ((-120.630531650950061 50.838562484449184, . . .
"POLYGON ((-123.206067372148397 51.038984074378327, . . .


Ogr2ogr çıkışıyla ilgili sorun nedir?
Mart'ta

@til_b: düzenlemede adreslendi.
Gregory

1
Şekliniz MULTIPOLYGON mu?
Jürgen Zornig

@ JürgenZornig: Nasıl anlatabilirim? Çokgen olması mantıklı olurdu, ama bunu doğrulamak istiyorum.
Gregory

Yanıtlar:


10

Bilinen Metin, birçok nesneden oluşan şekil dosyaları gibi katmanları kaydetmek için değildir. WKT, bir nesnenin geometrisinin nasıl temsil edileceğini tanımlar. Bu geometri tek veya çok parçalı olabilir. Çok parçalı geometriler, bir nesnenin geometrisinin birçok parçadan oluştuğu anlamına gelir. Örneğin, Hawaii Adaları bir nesne olarak temsil edilebilir, ancak birçok geometriden oluşur.

Şekil dosyası bu tür nesnelerin bir koleksiyonudur. Nesneler genellikle, şekil dosyasının bir parçası olan bazı öznitelik bilgilerine de sahiptir.

Ogr2ogr yaklaşımınız bu nesneleri WKT geometrisi (ve niteliklerin metin gösterimleri) ile csv formatına dönüştürür. Tüm geometrileri tek bir MULTIPOLYGON ile birleştirmek istiyorsanız, önce tüm nesneleri tek bir çoklu geometriye dönüştürmeniz gerekir. Bunu QGIS'de yapabilirsiniz. Vektör menüsünden Geometri Araçları ve ardından Tek Parçalardan Çok Bölmeli'ye seçim yapın. Daha sonra ogr2ogr ile wkt'ye dönüştürebilirsiniz.

Umarım bu mantıklıdır.


Bu mantıklı ve kısa süre içinde deneme şansım olacak.
Gregory

Tamam, QGIS'de, çoğullamak için Vektör / Geometri Araçları / Tek parçalar kullandım. Çıktıyı yeni bir şekil dosyası olarak kaydettim, ancak bu dosyayı QGIS'e yüklediğimde boş görünüyor ve öznitelik tablosu tamamen boş (belki de üstbilgiler olmadığı için boşluk daha iyi bir açıklama olurdu).
Gregory

Araç istediğinde @pyrogerg herhangi bir benzersiz alan seçtiniz mi? Bu, aracın bu alanda aynı değere sahip tüm özellikleri "grupladığı" anlamına gelir. Benzersizleştirmek istediğiniz herhangi bir alanınız yoksa Alan hesaplayıcı ile bir alan oluşturabilirsiniz. Buna öznitelik tablosundan erişebilirsiniz. Katmanın düzenleme modunda olduğundan emin olun (kalem simgesi). Ardından Alan Hesaplayıcı'yı seçin ve yeni bir alanın her satırına örneğin değer 1'i "hesaplayın".
LauriK

1
+1 Çıktının öznitelikleri içereceğini açıkça belirterek düzenlemenizi daha da netleştirme özgürlüğünü aldım.
whuber

5

Etkin katmanı hemen bir .wkt dosyasına kaydeden bir QGIS eklentisi yazdım.

Eklentinin adı "WktExport" dur. Varsayılan QGIS eklenti panelinde arayabilirsiniz.

BTW, eklenti sayfasına bağlantı şudur:

https://plugins.qgis.org/plugins/wktexport/

QGIS için "WktExport" eklentisi, orijinal SHP'nin bulunduğu "WktExport" adlı bir klasör oluşturur ve bu klasöre, SHP'nin tüm nesnelerinin WKT ascii biçimindeki öğeleri içeren bir .wkt dosyası (aynı zamanda KML veya başka bir orijinal dosya) ekler. biçim).

.Wkt adı, kaydetme tarihinin ve saatinin içinde bulunur, bu nedenle birçok kez kaydederseniz, aynı dosyanın birçok sürümüne sahip olursunuz.

Bu, bir kartografik çalışma ilerlemesinin animasyonlarını oluşturmak veya bir dosyanın geçerli durumunu belgelemek için yararlı olabilir.

Lütfen özellikle wktexport'u bulursanız qgis-developer listesine bir mesaj gönderin.


Proje bağlantısı kopuk.
Luke Hutchison
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.