Saya bertanya-tanya apakah ada yang namanya PRJ ke postGIS SRID lookup table? Sesuatu yang dapat menerjemahkan definisi PRJ shapefile yang paling standar menjadi kemungkinan SRID.
Saat menggunakan PostGIS dan pgAdminIII, jika Anda menggunakan postgisgui untuk mengimpor shapefile Anda, SRID dibiarkan sebagai "-1". Sepertinya alat harus dapat mengurai Esri PRJ dan menentukan yang benar (atau setidaknya beberapa opsi) yang kemungkinan SRID, daripada hanya meninggalkan default.
Atau apakah importir memiliki kemampuan untuk memproyeksi ulang dengan cepat jika Anda memilih SRID lain?
Mungkin kelihatannya malas di pihak saya, tetapi bagi saya sepertinya penasaran bahwa fungsi ini belum diterapkan. Adakah yang tahu jika konsep ini ada dalam karya, atau alasan bagus mengapa itu ditinggalkan?
sumber
GDAL memiliki antarmuka yang nyaman dan bagus ke perpustakaan PROJ4.
Jika Anda yakin dengan Python, menggunakan binding GDAL Python, jika Anda mengimpor kelas osr, Anda akan memiliki metode yang sangat nyaman untuk membaca dan mengekspor representasi proyeksi ke berbagai format seperti PROJ4, WKT, Esri .PRJ.
Misalnya skrip ini akan mengonversi file .PRJ Anda dari shapefile Anda menjadi WKT dan PROJ4 (yang terakhir digunakan dari PostGIS):
Jalankan ini di baris perintah:
sumber
+proj=longlat +datum=WGS84 +no_defs
tidak ada dalamspatial_ref_sys
tabel, jadi Anda tidak dapat menggunakan output untuk mencari SRID; dan (2) Saya tidak dapat menemukan properti atau metode SRID (adaImportFromEPSG(SRID)
metode praktis , tetapi tidak sebaliknya)gdalsrsinfo
danogrinfo
gagal Anda, ini adalah cara untuk pergi!srs.GetAuthorityCode(None)
mungkin masih tidak mengembalikan apa-apa jika tidak ditemukan SRID yang dekatSudah lama sejak saya menggunakan srids POSTGIS tetapi jika mereka hanya kode EPSG maka Anda dapat menggunakan http://prj2epsg.org/search untuk mencari mereka dari (rusak) file ESRI.prj.
sumber
Sebagai campuran solusi, saya telah membuat skrip untuk membantu saya memuat shapefile yang sewenang-wenang ke postgis. Itu juga mencoba mendeteksi encoding dari DBF.
sumber
srsly. Saya juga mau.
Banyak orang tampaknya melihatnya di http://spatialreference.org
Ketika Anda mengimpor shapefile menggunakan PostGIS (dan loader PostGIS untuk PGAdmin), itu mencari informasi proj dalam tabel yang disebut spatial_ref_sys.
Dari apa yang saya mengerti, tabel spatial_ref_sys standar yang dipaket dengan PostGIS hanya menyertakan OGC WKT (Open Geospatial Consortium Wellknown Text) yang mewakili beberapa Sistem Referensi Spasial dan BUKAN sistem referensi Spasial ESRI.
Dari dokumentasi PostGIS 1.5.2:>
Namun ogr2ogr mengandung sistem ref spasial ESRI karena saya baru-baru ini belajar melalui kemurahan hati orang lain.
Dalam ogr2ogr dan spatial_ref_sys, tampaknya teks yang terkandung dalam file .proj dibandingkan dengan tabel OGC WKT, yang merupakan format teks yang sedikit berbeda dari format ESRI WKT yang sering Anda temukan dalam file .proj. Juga, saya tidak yakin bagaimana PostGIS mencari setiap SRS, tetapi perbedaan kecil antara ESRI WKT dan OGC WKT mungkin menghasilkan pertandingan yang gagal.
Sepertinya akan mudah untuk melampirkan sistem ref spasial ESRI ke tabel spatial_ref_sys default di PostGIS. Mungkin seseorang sudah memiliki, dengan beberapa tambalan atau skrip.
Saya bisa saja salah, karena saya baru saja mengalami hal ini selama beberapa hari terakhir, dan saya merasa frustrasi dengan hal yang sama. Mungkin orang lain tahu sumber yang bagus?
sumber
Sudah lama sejak saya perlu, tetapi seingat saya, http://spatialreference.org/ selain memungkinkan Anda untuk mencari, juga memberi Anda pilihan untuk mengunggah file prj.
Maka itu akan sebagai salah satu opsi output memberi Anda memasukkan postgis setara untuk disisipkan ke tabel spatial_ref_sys.
Untuk pernyataan insert yang diberikannya, saya ganti srid yang dibuatnya dengan EPSG atau ESRI. Jika Anda mendapatkan pelanggaran kunci utama, maka Anda tahu kemungkinan besar sudah ada di tabel.
sumber