QGIS 2.0.1 kullanıyorum ve bir MS SQL Server uzamsal etkin veritabanına (ESRI değil) bağlıyım. Katmana bağlanabiliyor ve TOC'uma yükleyebiliyorum. Görünürlük uğruna önemli olmayan birkaç alanı gizledim.
Şimdi bu verileri başka bir veri türüne aktarmak istiyorum (bu örnek için şekil dosyası kullanacağız). Katmanı sağ tıklayıp "Farklı Kaydet" i seçip çıktı dosyasını tanımladığımda, aşağıdaki hatayı alıyorum:
Vektör dosyasına aktarma başarısız oldu. Hata: GlobalID alanı için desteklenmeyen tür
Not 1 : İletişim kutusunda "Öznitelik oluşturmayı atla" seçeneğini işaretlersem şekil dosyası hatasız olarak oluşturulur.
Not 2 : ArcGIS'de bu sorun yoktur, sadece GUID alanını "METİN" türüne dönüştürür.
Tabloya baktığımda, gizlediğim alanlardan biri, büyük olasılıkla suçlu olan SQL tipinde < uniqueidentifier > bir GUID . Bunu çözmek için alanı "gizli" yaptım. Alan gizli olduğu için QGIS'in bu alanı dışa aktarmaya çalışmayacağını, ancak durumun böyle olmadığı varsayım olurdu.
QGIS'den dışa aktarmak istediğiniz alanları tanımlayabilir misiniz?
QGIS'in sadece "Görünür" alanları dışa aktarması mümkün müdür? Veya bunu QGIS'den yapmanın başka bir alternatif yolu var mı (alanları bir ogr2ogr sorgusu aracılığıyla tanımlayın)? Hangi alanları dışa aktaracağımı tanımlayamıyorsam, bu QGIS'nin bir eksikliği gibi görünüyor.
GÜNCELLEME: Çıktı alanlarını sınırlayıp sınırlayamayacağımı görmek için örnek bir şekil dosyası kullanarak bir test yaptım. Aşağıdaki ogr2ogr komut satırı "name" dışındaki tüm alanları çalıştı ve ortadan kaldırdı:
ogr2ogr -f "ESRI Shapefile" test.shp city.shp -sql "select name from city"
ancak QGIS kullanma ve ekleme:
-sql "select name from city"
"Farklı Kaydet" iletişim kutusunun "katman" bölümüne yalnızca tek bir alana sahip bir şekil dosyası ile sonuçlanmadı. Bu yüzden sadece birkaç alanı göstermek için dosya çıktısını nasıl değiştirebileceğimi gerçekten görmüyorum. Herhangi bir yardım takdir.
-sql "select <fields> from <table>"
(GlobalID alanı <fields> hariç) "Farklı Kaydet" iletişim kutusunun "Katman" bölümüne eklemeyi denedim , ancak aynı hata hala açıldı. Bu kod bloğunu yanlış mı kullandım yoksa bu bir hata mı?