QGIS neden .prj dosyasından CRS algılamıyor?


9

Bir postgreSQL / postGIS veritabanında Amerika Birleşik Devletleri'nde çeşitli ilçeleri kapsayan 1 km altıgen ızgaraları var. Her ızgarada CRS EPSG: 3857 ve ilçeler katmanında EPSG: 3857 vardır. QGIS'teki ilçelerle ızgaraları görüntülerken, her şey harika görünüyor.

Ama ... bu ızgaraları meslektaşlarımızla paylaşmak için onları ogr2ogr kullanarak şekil dosyalarına aktarmak zorunda kaldım. Bunları QGIS'de inceleyerek, her ızgara yaklaşık 20 km kadar çıplak görünüyor ve QGIS otomatik olarak CRS'yi EPSG: 3395'e (proje CRS'si değil) ayarlar.

Ben shapefiles olarak PostGIS tabloları verdiğinizde QGIS dan , ogr2ogr ihraç shapefiles tamamen aynı .prj dosya görünüyor , ama PostGIS ihraç tabloları düzgün şekilde görüntülenir. Ben shapefiles aktarırken QGIS bir .qpj dosyası oluşturur fark QGIS dan ben QGIS .prj görmezden ve bunun yerine bir .qpj aradığı sonuca ettik böylece. Neden .qpj'yi .qpj olmadan okuyamıyor? Diğer şekil dosyalarının (ABD Nüfus Sayımı gibi) bir .qpj'si yoktur, ancak QGIS bunları doğru bir şekilde görüntüler.

Bir default.qpj kaydederek ve ogr2ogr kullanarak dışa aktarılan her dosya için yeni bir .qpj oluşturarak bir geçici çözüm buldum, ancak bu sadece EPSG: 3857 için çalıştığı için dağınık ve açıkçası çoğaltılamaz görünüyor.

Sidenote: QGIS 2.0.1 kullanıyorum.

DÜZENLE:

İşte kullandığım ogr2ogr komutu:

ogr2ogr -f "ESRI Shapefile" /home/matt/data/hex_grid_1 PG:'dbname=mydb user=matt' hex_grid_1

.Prj içeriği:

]] PROJCS [ "WGS_84_Pseudo_Mercator", GEOGCS [ "GCS_WGS_1984", VERİ [ "D_WGS_1984", sfero [ "WGS_1984", 6378137,298.257223563, PRIMEM [ "Greenwich" 0], ÜNİTESİ [ "Derecesi", ,017453292519943295]], PROJEKSİYON [ "Merkatör"], PARAMETRE [ "central_meridian", 0], PARAMETRE, [ "false_northing" 0], PARAMETRE BİRİM [0, "false_easting"] [ "Metre", 1] PARAMETRE [ "standard_parallel_1", 0.0] ]

.Qpj içeriği:

PROJCS ["WGS 84 / Sözde-Mercator", GEOGCS ["WGS 84", DATUM ["WGS_1984", KÜRESEL ["WGS 84", 6378137,298.257223563, YETKİ ["EPSG", "7030"]], YETKİ [ EPSG", "6326"]], PRIMEM [ "Greenwich", 0, YETKİ [ "EPSG", "8901"]], BİRİM [ "derecesi", ,0174532925199433 YETKİ [ "EPSG", "9122"]] YETKİ [ "EPSG", "4326"]], PROJEKSİYON [ "Mercator_1SP"], [ "central_meridian" PARAMETRE, 0], PARAMETRE [ "scale_factor", 1] PARAMETRE [ "false_easting", 0], PARAMETRE [ "false_northing" 0], BİRİM [ "meter", 1, YETKİ [ "EPSG", "9001"]] AXIS [ "X" Doğu] AXIS [ "Y", KUZEY], uzatma [ "PROJ4", "+ proj = merc + a = 6378137 + b = 6378137 + lat_ts = 0.0 + lon_0 = 0.0 + x_0 = 0,0 + y_0 = 0 + k = 1,0 + birim = m + nadgrids = @ null + wktext + no_defs "], YETKİ [" EPSG "," 3857 "]]

DÜZENLE :

Sorun tüm komut dosyalarında EPSG: 3857'leri EPSG: 2163'e dönüştürerek çözüldü. Hala bir postgreSQL tablodan (EPSG: 3857 ile) yüklendiğinde QGIS kılavuzları doğru görüntülenen beri sorunun ne olduğunu emin değilim.

Geçici çözümüm, düşündüğüm gibi kaba olduğunu kanıtladı, çünkü meslektaşım ArcGIS'te .prj veya .qpj dosyasını düzgün okumamış olan dosyayı kullanamadı.


Ogr2ogr komutunu ekleyebilir misiniz?
alphabetasoup

Hem .prj hem de .qpj dosyalarının içeriğini de gönderebilir misiniz?
mkennedy

1
O "Bir Yardımcı Küresi WGS84 Web Mercator Projeksiyonu" konulu sınırlı yetenekleri vardır olabilir en.wikipedia.org/wiki/Web_Mercator ..Unlike elipsoidal Mercator ve küresel Mercator, Web Mercator nedeniyle elipsoidal onun kullanımı oldukça konformal değil küresel projeksiyona karşı coğrafi coğrafi koordinatlar.
huckfinn

@huckfinn Senaryomdaki tüm EPSG: 3857'leri EPSG: 2163'lere değiştirdim ve sorunum şimdi çözüldü. EPSG: 3857 ile postgreSQL tablolardan yüklendiğinde tüm ızgaralar doğru görüntülendiğinden bu hala neden emin değilim. Bahşiş için teşekkürler.
Haff

Yanıtlar:


4

EPSG:3857Tanım Google, modern CBS yazılımına icat ettiği projeksiyon almak için kirli kesmek olduğunu. "Normal" projeksiyonlar tarafından kullanılmayan küre ve elipsoidin bir kombinasyonudur. Ne yazık ki, her yazılım onu ​​uyarlamak için başka bir yol kullanır.

QGIS .qpj dosyasını, .prj dosyasındaki WKT'yi ARCGIS ve proj.4 tanımını GDAL kullanır. .Qpj dosyası, proj.4 tanımını WKT tanımına dahil eder.

Bu tür sorunlarla başa çıkmanın en güvenli yolu Google Mercator'dan kaçınmaktır. Yerel Devlet Uçağınızı, UTM'nizi veya kıta çapında bazı Lambert veya Albers projeksiyonlarınızı daha iyi kullanabilirsiniz.


Bunu bildiğim iyi oldu. Cevabınız için teşekkürler. Ancak ben ogr2ogr kullanarak EPSG 2163 ile bir şekil dosyası ihracat, hiçbir .qpj oluşturulan, henüz QGIS hala düzgün okudum fark ettim. Bu yüzden QGIS'in bir .qpj yokluğunda bir .prj'den bilgi okuyacağını varsayıyorum. Ayrıca, devlet uçağı projeksiyonları sadece bir eyalette çalışıyorsa harika çalışacaktır, ancak senaryolarım birçok eyaletten ilçe fips kodları alıyor, bu yüzden benim durumumda bir devlet uçağı pratik olmayacaktı.
1616

1
QGIS genellikle .prj dosyasıyla çalışır, ancak diğer yazılımlardan gelen World Merctaor tarafından yansıtılan dosyalarla çalışmaz. En uygun CRS her zaman çalışma alanının büyüklüğüne bağlıdır. EPSG 2163 göreviniz için uygun olmalıdır.
AndreJ
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.