Мне было интересно, существует ли такая вещь, как шейп-файл PRJ для таблицы поиска PostGIS SRID? Что-то, что может перевести самые стандартные определения PRJ шейп-файлов в вероятный SRID.
При использовании PostGIS и pgAdminIII, если вы используете postgisgui для импорта своих шейп-файлов, SRID остается как «-1». Похоже, что инструмент должен иметь возможность анализировать PRI Esri и определять правильные (или, по крайней мере, пару вариантов), которые являются вероятным SRID, вместо того, чтобы просто оставить значение по умолчанию.
Или у импортера есть возможность перепроецировать на лету, если вы выберете другой SRID?
Это может показаться ленивым с моей стороны, но мне кажется любопытным, что эта функция еще не реализована. Кто-нибудь знает, есть ли эта концепция в разработке, или веская причина, почему она была исключена?
источник
GDAL имеет приятный удобный интерфейс к библиотеке PROJ4.
Если вы уверены в Python, используя привязки GDAL Python, если вы импортируете классы osr, у вас будут очень удобные методы для чтения и экспорта проекционных представлений в различные форматы, такие как PROJ4, WKT, Esri .PRJ.
Например, этот скрипт преобразует ваш файл .PRJ вашего шейп-файла в WKT и PROJ4 (последний используется из PostGIS):
Запустите это в командной строке:
источник
+proj=longlat +datum=WGS84 +no_defs
нет вspatial_ref_sys
таблице, поэтому вы не можете использовать вывод для поиска SRID; и (2) я не могу найти какое-либо свойство или метод SRID (есть удобныйImportFromEPSG(SRID)
метод, но не наоборот)gdalsrsinfo
иogrinfo
подведет тебя, это путь!srs.GetAuthorityCode(None)
все еще может вернуть ничего, если не был идентифицирован близкий SRID.Я давно использовал srids POSTGIS, но если они являются просто кодами EPSG, вы можете использовать http://prj2epsg.org/search, чтобы найти их в (поврежденных) файлах ESRI.prj.
источник
В качестве комбинации решений я создал скрипт, который поможет мне загружать произвольные шейп-файлы в postgis. Он также пытается определить кодировку DBF.
источник
srsly. Я тоже хочу один.
Многие люди, кажется, ищут их на http://spatialreference.org
Когда вы импортируете шейп-файлы с использованием PostGIS (и загрузчика PostGIS для PGAdmin), он ищет информацию о proj в таблице, которая называется пространственным_реф_сисом.
Из того, что я понимаю, стандартная таблицаatial_ref_sys, поставляемая с PostGIS, включает в себя только представления OGC WKT (Open Geospatial Consortium Well Known Text) некоторых пространственных систем отсчета, а НЕ пространственных систем отсчета ESRI.
Из документации PostGIS 1.5.2:>
Однако ogr2ogr содержит системы пространственных ссылок ESRI, как я недавно узнал благодаря щедрости других.
Кажется, что и в ogr2ogr, и вpace_ref_sys текст, содержащийся в файле .proj, сравнивается с таблицей OGC WKT, которая немного отличается от формата ESRI WKT, который вы часто встречаете в файле .proj. Кроме того, я не уверен, как PostGIS ищет каждую SRS, но небольшие различия между ESRI WKT и OGC WKT могут привести к неудачным совпадениям.
Кажется, было бы просто присоединить системы пространственных ссылок ESRI к таблице пространственных_реф_сисов по умолчанию в PostGIS. Может быть, кто-то уже с каким-то патчем или скриптом.
Я могу ошибаться, потому что я только что столкнулся с этим в течение последних нескольких дней, и я был разочарован тем же. Может, кто-то знает отличный ресурс?
источник
Прошло много времени с тех пор, как мне это было нужно, но, насколько я помню, http://spatialreference.org/, помимо возможности поиска, также дает вам возможность загрузить файл prj.
Затем он в качестве одного из вариантов вывода даст вам эквивалентную вставку postgis для вставки в таблицу пространственный_реф_сис.
Для оператора вставки, который он дает, я заменяю созданный srid, который он создает, на EPSG или ESRI. Если вы получили нарушение первичного ключа, то вы, скорее всего, знаете, что оно уже есть в таблице.
источник