Şekil dosyaları nasıl yeniden yansıtılır?


10

Bir QGIS projesini yeniden yansıtmak istedim, ancak böyle bir seçenek yok. Bir cevap ararken ogr2ogr, her vektör katmanını (bu örnekte şekil dosyası) yeniden yansıtarak bu görev için önerileni görüyorum . Ancak beklenen sonuç alamadım:

C:\temp>ogrinfo -al -so misc.shp
INFO: Open of `misc.shp'
      using driver `ESRI Shapefile' successful.

Layer name: misc
Geometry: Line String
Feature Count: 10
Extent: (21.267388, 42.015857) - (21.270225, 42.017470)
Layer SRS WKT:
PROJCS["MGI_Balkans_zone_7_deprecated",
    GEOGCS["GCS_MGI",
        DATUM["Militar_Geographische_Institute",
            SPHEROID["Bessel_1841",6377397.155,299.1528128]],
        PRIMEM["Greenwich",0],
        UNIT["Degree",0.017453292519943295]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",0],
    PARAMETER["central_meridian",21],
    PARAMETER["scale_factor",0.9999],
    PARAMETER["false_easting",7500000],
    PARAMETER["false_northing",0],
    UNIT["Meter",1]]
id: Integer (10.0)

C:\temp>ogr2ogr -t_srs EPSG:4326 misc_re.shp misc.shp

C:\temp>ogrinfo -al -so misc_re.shp
INFO: Open of `misc_re.shp'
      using driver `ESRI Shapefile' successful.

Layer name: misc_re
Geometry: Line String
Feature Count: 10
Extent: (-34.004490, 0.000230) - (-34.004490, 0.000230)
Layer SRS WKT:
GEOGCS["GCS_WGS_1984",
    DATUM["WGS_1984",
        SPHEROID["WGS_84",6378137,298.257223563]],
    PRIMEM["Greenwich",0],
    UNIT["Degree",0.017453292519943295]]
id: Integer (10.0)

Böylece yeni dosya coğrafi koordinat sistemini değiştirdi, ancak yansıtılmadı.
Bu nasıl yapılır?


Bir şekil dosyasını yeniden yazdırmaya mı çalışıyorsunuz? Bir proje dosyasının bir .qqssonu vardır, bir şekil dosyası ile biter .shp. Bir proje dosyasını yeniden yansıtabileceğinizi sanmıyorum ama yanılmış olabilirim.
djq

1
QGIS'deki herhangi bir vektör katmanının yeniden projeksiyonunu mümkün kılan "anında" yeniden projeksiyonu bildiğinizi varsayalım.
steko

@steko: Eğer djq tarafından cevaplanan şey “anında” ise, evet zaten biliyordum.
zetah

1
Hayır, bu başka bir yol ve verileri kalıcı olarak değiştirecek. Anında yeniden projelendirme yalnızca QGIS projesinde tanımlanır ve katmanların nasıl görselleştirileceğini etkiler, ancak alttaki dosyalara dokunmaz.
steko

Teşekkürler bunu bilmiyordum ve Googling bana ne demek istediğini gösterdi. Tam da ihtiyacım olan şey bu. Dün sadece son yorumunuzu gönderebilirseniz ... Oraya yazmak için çok şey
yazdım

Yanıtlar:


20

Bir şekil QGISdosyasını yeniden projekte etmek istediğinizi varsayarsak, içindeki yollardan biri dosyayı yüklemek right-click, katmana seçmek Save As…ve ardından aşağıdaki pencere belirir:

resim açıklamasını buraya girin

browseYanında tıklatırsanız CRS, dosyanızı kaydetmek için yeni bir projeksiyon seçebilirsiniz.

DÜZENLE:

Bir klasördeki tüm şekil dosyalarını yeniden yansıtmak için, bunun gibi bir şey işe yarayabilir:

set "str1=_projected"
for %f in (E:\data\*.shp) do ogr2ogr -t_srs EPSG:4326 %str1%"misc_re.shp %f

(Bunu test etmedim ve pencerelerde dize birleştirme bilmiyorum , ne de ogr2ogr sorununu çözmüyorum - ancak bu kod snippet'i bir klasörde döngüler ve her dosyada bir şey çalıştırıyor.)


Evet bu harika, ama bunu her katman için yapmam gerekecekti, bu da zaman alıcı. Komut satırını kullanarak tüm şekil dosyalarını bir kerede (döngü için) yeniden yansıtmayı umuyordum
Zetah

Tüm şekil dosyaları tek bir klasörde mi?
djq

Evet, aynı klasörde
zetah

çabanız için teşekkürler, ama sorumu gerçekten okudunuz mu?
zetah

3
evet ... qgis proje dosyasını yeniden yazdıramıyorsunuz, bu yüzden ilk cevabımı verdim. Sonra şekil dosyalarını toplu olarak yeniden oluşturmak istediğinizi fark ettim. Bunu yapmanın bir yolu, ogr ile komut satırını kullanarak bir klasördeki tüm dosyalar arasında döngü yapmaktır (bir diğeri, şekil dosyalarından oluşan bir klasörü geçirip geçiremeyeceğinizi görmek olacaktır).
djq
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.