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ı.