Ogr2ogr'a bir projeksiyon hakkında nasıl bilgi verebilirim?


11

EPSG 4326 GeoJSON dönüştürmek istiyorum ArcGIS oluşturulan JSON var. Bu başarısız:

$ ogr2ogr -f GeoJSON -t_srs EPSG:4326 out.geo.json in.arcgis.json OGRGeoJSON
ERROR 6: EPSG PCS/GCS code 102100 not found in EPSG support files.  Is this a valid
EPSG coordinate system?

102100'ün matematiksel olarak aynı olan 3857 olarak değiştirilebileceğini söyleyen bir forum yazısı buldum . Bu, aynı hata mesajı ile çalışır:

$ ogr2ogr -f GeoJSON -s_srs EPSG:3857 -t_srs EPSG:4326 out.geo.json in.arcgis.json OGRGeoJSON 
ERROR 6: EPSG PCS/GCS code 102100 not found in EPSG support files.  Is this a valid
EPSG coordinate system?

Ancak, 102100 projeksiyon sisteminde birkaç dosya var. Ogr2ogr'a 102100 projeksiyonunu öğretmek istiyorum, böylece dönüşümü komut dosyası haline getirebiliyorum. Yapılandırmayı, 102100'ün 3857 ile aynı şekilde tanınması ve işlenmesi için güncellemenin bir yolu var mı?

Güncelleme - Bu veriler ArgGIS Server 9.3.1'in REST API'sinden alınmıştır. Bir çıkış uzamsal başvuru belirtmezsem, 102100'ü alırım, bu da öngörülen koordinat sistemi "WGS_1984_Web_Mercator_Auxiliary_Sphere" olarak tanımlar . Hedefime ulaşmanın çok daha kolay bir yolu, outSR=4326sorgu parametresi ile istenen projeksiyonu istemektir . Orijinal verilere erişiminiz yoksa soru hala geçerlidir.

Yanıtlar:


11

102100 ve 3857 matematiksel olarak aynı olduğundan, hataları güvenle yok sayabilir ve sadece -s_srs bayrağını kullanarak kaynak srs'yi geçersiz kılmaya devam edebilirsiniz .

102100 için tanımlamayı $ GDAL_DATA $ hesabınıza eklemeyi deneyebilirsiniz, ancak gerçekten önerilmez. Gerçekten yapmak istiyorsanız, Frank Warmerdam'ın yöntemi ve beraberindeki uyarı :

.Csv dosyaları öncelikle EPSG koordinat sistemleri için tasarlanmıştır, bu nedenle bunları manuel olarak genişletmek gerçekten uygun değildir.

Ancak gdal / data / cubewerx_extra.wkt benzeri bir şekilde kendi özel sözlüklerinizi ekleyebilirsiniz. Bu sözlük dosyaları kısa ad, virgül ve ardından koordinat sisteminin WKT tanımına sahip satırlardan oluşur.

SetFromUserInput () ve bu işlevi kullanan programlara (gdal_translate, ogr2ogr ve gdalwarp gibi s_srs, a_srs, t_srs gibi) bir tanıma başvurabilirsiniz:

gdal_translate -a_srs DICT: cubewerx_extra.wkt, 41001

Umarım bu yardımcı olur. İyi şanslar!


1
Teşekkürler, önerdiklerinize benzer bir şey yaptım. Benim $GDAL_DATA$dizin altındadır /usr/local/share/gdalve EPSG 3857 tanımlanan pcs.csvbu klasörde. Bu satırı kopyaladım pcs.override.csvve kimliği (ilk sütun) 3857'den 102100'e değiştirdim. Bu noktada dönüşümler -s_srsbayrak olmadan çalıştı . Uzun vadeli çözüm, kaynak verilerimi bilinen bir projeksiyonda elde etmekti, böylece projeksiyonlarda karıştırmak yerine sadece format dönüştürme için ogr2ogr kullanabilirim.
jwhitlock
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.