Zastanawiałem się, czy istnieje coś takiego jak plik kształtu PRJ do tabeli odnośników PostGIS SRID? Coś, co może przetłumaczyć najbardziej standardowe definicje pliku kształtu PRJ na prawdopodobny SRID.
Jeśli korzystasz z PostGIS i pgAdminIII, jeśli użyjesz postgisgui do zaimportowania twoich plików kształtu, SRID pozostanie jako „-1”. Wygląda na to, że narzędzie powinno być w stanie przeanalizować Esri PRJ i określić prawidłowe (lub przynajmniej kilka opcji), które są prawdopodobnym SRID, zamiast po prostu pozostawić wartość domyślną.
A może importer ma możliwość ponownej projekcji w locie, jeśli wybierzesz inny identyfikator SRID?
Z mojej strony może to wydawać się leniwe, ale wydaje mi się ciekawe, że ta funkcja nie została jeszcze wprowadzona. Czy ktoś wie, czy ta koncepcja jest w trakcie realizacji, czy też jest dobry powód, dla którego ją pominięto?
źródło
GDAL ma ładny wygodny interfejs do biblioteki PROJ4.
Jeśli masz pewność co do Pythona, korzystając z powiązań GDAL Python, jeśli zaimportujesz klasy osr, będziesz mieć bardzo wygodne metody odczytu i eksportowania reprezentacji projekcji do różnych formatów, takich jak PROJ4, WKT, Esri .PRJ.
Na przykład ten skrypt przekonwertuje plik .PRJ pliku shapefile na WKT i PROJ4 (ostatni jest używany z PostGIS):
Uruchom to w wierszu poleceń:
źródło
+proj=longlat +datum=WGS84 +no_defs
nie ma wspatial_ref_sys
tabeli, więc nie można użyć danych wyjściowych do wyszukiwania SRID; i (2) Nie mogę znaleźć żadnej właściwości lub metody SRID (istnieje przydatnaImportFromEPSG(SRID)
metoda, ale nie na odwrót)gdalsrsinfo
iogrinfo
ci się nie uda, to jest najlepsza droga!srs.GetAuthorityCode(None)
że nadal może nie zwracać żadnego, jeśli nie zostanie zidentyfikowany bliski SRID.Minęło trochę czasu, odkąd użyłem sridów POSTGIS, ale jeśli są to tylko kody EPSG, możesz użyć http://prj2epsg.org/search, aby wyszukać je z (uszkodzonych) plików ESRI.prj.
źródło
Jako mieszankę rozwiązań stworzyłem skrypt, który pomoże mi załadować dowolne pliki shapefile do postgis. Próbuje również wykryć kodowanie DBF.
źródło
srsly. Też chcę jednego.
Wydaje się, że wiele osób szuka ich na stronie http://spatialreference.org
Podczas importowania plików kształtów za pomocą PostGIS (i modułu ładującego PostGIS dla PGAdmin), wyszukuje informacje o proj w tabeli o nazwie spatial_ref_sys.
Z tego, co rozumiem, standardowa tabela spatial_ref_sys spakowana z PostGIS zawiera tylko reprezentacje OGC WKT (dobrze znany tekst konsorcjum Open Geospatial) niektórych systemów odniesienia przestrzennego, a NIE systemów odniesienia przestrzennego ESRI.
Z dokumentacji PostGIS 1.5.2:>
Jednak ogr2ogr zawiera przestrzenne systemy odniesienia ESRI, o których niedawno dowiedziałem się dzięki hojności innych.
Zarówno w przypadku ogr2ogr, jak i spatial_ref_sys wydaje się, że tekst zawarty w pliku .proj jest porównywany z tabelą OGC WKT, która jest nieco innym formatem tekstowym niż format ESRI WKT, który często znajduje się w pliku .proj. Ponadto nie jestem pewien, jak PostGIS sprawdza każdy SRS, ale niewielkie różnice między ESRI WKT i OGC WKT mogą powodować nieudane dopasowania.
Wygląda na to, że podłączenie systemów odniesienia przestrzennego ESRI do domyślnej tabeli spatial_ref_sys w PostGIS byłoby proste. Może ktoś już ma, z jakąś łatką lub skryptem.
Mogłem się mylić, ponieważ wpadłem na to od kilku dni i byłem sfrustrowany tym samym. Może ktoś inny zna świetne źródło?
źródło
Minęło trochę czasu, odkąd musiałem, ale jak pamiętam, http://spatialreference.org/ oprócz umożliwienia wyszukiwania, daje również możliwość przesłania pliku prj.
Wtedy jako jedna z opcji wyjściowych otrzymasz równoważne wstawienie postgis do wstawienia do tabeli spatial_ref_sys.
Dla podanej instrukcji insert zamieniam wygenerowany plik srid na plik EPSG lub ESRI. Jeśli otrzymasz naruszenie klucza podstawowego, najprawdopodobniej wiesz, że jest już w tabeli.
źródło