Jak mogę połączyć się z bazą danych PostGIS z ArcMap za pomocą ArcGIS Desktop 9.3 i nowszych?
Chciałbym móc wykonywać przestrzennie włączone zapytania i odbierać wyniki z powrotem (np. Sprzężenia przestrzenne i nieprzestrzenne, filtrowanie itp.), A nie tylko zrzucanie zawartości tabeli.
Nie chcę używać rozszerzeń przestrzennych ArcSDE, chcę używać rozszerzeń przestrzennych PostGIS w ArcGIS Desktop.
źródło
Rzuć okiem na ten post na moim blogu: http://www.paolocorti.net/2008/06/06/spatial-database-for-postgres-and-arcgis-users-how-to-choose/
Zasadniczo masz 2 opcje:
Pamiętaj, że jeśli potrzebujesz obsługi Geobazy (Domeny, topologia itp.) Lub ArcCatalog, pierwsze rozwiązanie (z ArcSde) jest w tej chwili jedynym sposobem.
O ile słyszałem (nie testowałem bezpośrednio) na ArcGis Desktop 10, możesz nawiązać bezpośrednie połączenie tylko do odczytu z PostGis bez bramki ArcSde.
zigGIS nie jest już aktywny, a strona jest w trybie offline
źródło
Mam kilka postów na temat robienia tego z 9.3. Pierwszy jest tutaj, a do pozostałych można się stąd dostać: http://geobabble.wordpress.com/2008/05/28/using-arcsde-93-with-postgresql-part-1/
Zrobiłem to raz z 10.0 i nie miałem problemów. Powiem, że kiedy używam PostgreSQL i PostGIS z ArcSDE, zdecydowanie zalecam trzymanie się wszystkich wersji obsługiwanych przez Esri.
źródło
Najłatwiejszy byłby zigGIS z Obtuse Software . Obecnie trzeba za to zapłacić, ale na ulicy jest powiedziane, że wersja 3 będzie open source .
Zgodnie z Archiwum Google Code na
ziggis
:a link do strony internetowej Obtuse Software wydaje się być zepsuty.
źródło
ArcGIS 10.1 SP1 może łączyć się z bazami danych PostGIS 2.0.0 natywnie, ale połączenie jest tylko do odczytu i działa głównie jako czystszy interfejs użytkownika do warstw zapytań (w rzeczywistości ładuje dowolne warstwy jako warstwy zapytań). Połączenie z bazą danych pozwala tylko wyświetlić wszystkie tabele i warstwy w bazie danych w katalogu.
Alternatywnie istnieje również arcgis-ogr , który umożliwia połączenia ze wszystkimi typami wektorów OGR jako wtyczką ArcGIS. . W tej chwili jest również tylko do odczytu.
źródło
Po pierwsze: będziesz mógł korzystać z ArcGIS tylko z PostgreSQL przy użyciu połączeń OLE DB, co oznacza, że będziesz mógł czytać tylko wspólne tabele i kolumny (będziesz nawet w stanie odczytać kolumny przestrzenne, ale ArcGIS nie może nic zrobić im,
Aby korzystać z ArcGIS i PostgreSQL + PostGIS (co oznacza, że musisz zobaczyć dane przestrzenne), potrzebujesz ArcSDE lub ZigGIS .
Dzięki obu opcjom możesz wyszukiwać, edytować i analizować dane przechowywane w PostGIS, w ArcMap lub innych narzędziach ESRI.
ArcSDE to oprogramowanie pośrednie dostarczane przez ESRI, zmieniające cały przepływ pracy (instalowania, konfigurowania geodatabse itp.) Pracy, a ZigGIS to narzędzie komputerowe (to znaczy, używane tylko wtedy, gdy zaangażowane są narzędzia komputerowe ESRI).
źródło
Jeśli masz ArcEditor lub ArcInfo na poziomie pulpitu, masz możliwość korzystania z SQL Server Express. Chociaż tylko jeden użytkownik może edytować na raz, blokowanie i odblokowywanie może być lepsze - możesz to najpierw wypróbować. Jest dużo dokumentacji, jak to zrobić, i nie musisz być dba - chociaż lubię postgres. Bez obrazy ludzi QGIS;)
Upewnij się również, że sprzedawca Esri poda Ci ofertę „ArcGIS Server Workgroup”, a nie Enterprise. Zobacz poniżej - możesz mieć 10 jednoczesnych połączeń edycyjnych. Powinno to być bardziej jak 3-5 000 $. Ceny http://www.esri.com/software/arcgis/arcgisserver/pricing
Zobacz także ten post, aby uzyskać dobre wyjaśnienie dotyczące licencjonowania oraz łącza dotyczące licencji na komputery stacjonarne SDE i SQL Server Express ArcSDE
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/What_are_database_servers_in_ArcGIS/003n0000004r000000/
„Tworzysz geobazy i wykonujesz inne zadania administracyjne dla serwerów baz danych za pośrednictwem węzła Serwery baz danych w oknie Katalog lub ArcCatalog. Wykonywanie administracji serwerem bazy danych i jego geobazami za pomocą ArcGIS Desktop oznacza, że nie potrzebujesz dodatkowej wiedzy specjalistycznej w zakresie administrowania oprogramowaniem lub bazą danych do tworzenia i korzystania z tego rodzaju geobaz danych ArcSDE.
Połączenia z geobazami na serwerze bazy danych są zawsze połączeniami bezpośrednimi; używają plików biblioteki ArcSDE w kliencie do nawiązania połączenia. W tym przypadku aplikacjami klienckimi są ArcGIS Desktop na poziomie licencji ArcEditor lub ArcInfo, ArcGIS Engine i ArcGIS Server Workgroup.
Nośniki dla tych produktów obejmują pliki instalacyjne dla SQL Server Express. Po utworzeniu instancji SQL Server Express i uruchomieniu kreatora, aby umożliwić instancji przechowywanie geobaz, biblioteki w aplikacji klienckiej umożliwiają łączenie się z serwerami baz danych i pracę z nimi oraz tworzenie i pracę z geobazami na serwerze bazy danych.
Za pomocą ArcGIS Desktop (ArcEditor i ArcInfo) oraz ArcGIS Engine można skonfigurować serwer bazy danych i tworzyć geobazy ArcSDE, do których dostęp może mieć tylko kilka użytkowników, a każdy użytkownik może edytować .
Dzięki ArcGIS Server Workgroup korzystającym z ArcGIS Desktop, możesz skonfigurować serwer bazy danych i tworzyć geobazy ArcSDE, do których dostęp może mieć maksymalnie 10 użytkowników jednocześnie, z których wszyscy mogą jednocześnie edytować . Korzystając z serwerów baz danych licencjonowanych przez ArcGIS Server Workgroup, możesz także łączyć się z geobazami za pomocą aplikacji internetowych, dla których nie ma limitu połączeń. ”
źródło
Napisałem wtyczkę, która daje ArcGIS dostęp do ponad 50 formatów wektorowych (w tym PostGIS). Nadal jest w fazie eksperymentalnej, ale możesz go wypróbować i powiedzieć, jak to działa.
Korzystanie z tego podejścia ma zalety w porównaniu z wbudowaną funkcjonalnością ArcGIS (patrz FAQ), ale nadal jest eksperymentalne.
Pobierz i instrukcje tutaj
źródło
Monitorowałem ten post i całą sieć, aby znaleźć rozwiązanie tego problemu, ponieważ chciałem mieć podobne narzędzie. Dzisiaj wpadłem na moje (nasze) rozwiązanie za pośrednictwem kanału RSS na blogu Jamesa Fee . Uważam, że rozwiązaniem, którego szukasz, jest PgMap firmy ST-Links .
Wypróbowałem wersję ArcGIS 9.3 i jest imponująca. Nadal mam problemy z edycjami, ponieważ wciąż jestem nowicjuszem w PostGIS (kolumna tożsamości). Jest również wyposażony w elegancki ESRI do modułu ładującego PostGIS, a przede wszystkim jest ZA DARMO! [Testowane z OpenGeoSuite Community Edition 2.4.1]
źródło
Przejdź do Start -> Panel sterowania -> Wydajność i konserwacja -> Narzędzia administracyjne -> Źródła danych.
Przejdź do zakładki System DSN.
Kliknij Dodaj.
Przewiń listę w dół. Powinieneś być w stanie zobaczyć tam swoje sterowniki PostgreSQL ODBC, jeśli je zainstalowałeś. Kliknij pierwszy sterownik ODBC PostgreSQL na liście.
Wprowadź dane swojego połączenia w formularzu. Jeśli połączenie jest na tym samym komputerze co baza danych PostgreSQL, wpisz localhost w polu serwera; w przeciwnym razie nazwa komputera w sieci. Będziesz musiał wprowadzić pewne zmiany w pliku pg_hba.conf, aby połączyć się z bazą danych w sieci. Przeczytaj o tym w instrukcjach PostgreSQL w sekcji Uwierzytelnianie użytkownika. Po zakończeniu kliknij przycisk Zakończ.
Dodaj podobnie wszystkie sterowniki ODBC PostgreSQL, które znajdziesz na liście.
Kliknij OK. Możesz teraz połączyć się z bazą danych PostgreSQL za pośrednictwem sterowników ODBC. Sterowniki musiały być kierowane tylko do bazy danych z informacjami o połączeniu.
źródło
Począwszy od epoki 2011, wypróbuj ST-Links SpatialKit . Oprogramowanie jest bezpłatne i działa z ArcGIS 9.3 / 10.0 / 10.1 / 10.2.
Plik do pobrania zawiera ładny plik PDF do udokumentowania możliwości, które obejmują przeglądanie, edytowanie itp.
źródło
Zrobiłem to już wcześniej bez większych problemów z użyciem ArcGIS 10.1 i 10.2, niestety nie działa z 9.3 i postgres 9.2 myślę z pamięci.
Użyłem sterowników z esri. Zaloguj się do witryny obsługi klienta ESRI, chociaż myślę, że to się zmieniło od czasu napisania instrukcji.
Przewiń w dół, aż zobaczysz „Biblioteki klienta PostgreSQLQL (Windows)”, powinien mieć rozmiar 2,21 MB.
Kliknij Pobrane
W PostgreSQL / PostGIS w pobranym pliku powinien znajdować się zestaw bibliotek „pg_client_windows86” bibliotek zawierających niezbędną 32-bitową wersję libeay32.dll, libiconv-2.dll, libintl-8.dll, libpq.dll i ssleay32.dll. Skopiuj je do katalogu bin ArcGIS. Na moim komputerze używającym 10.1 było to: C: Program Files (x86) ArcGISDesktop10.1bin Jeśli używasz 32-bitowych okien, byłoby to coś w stylu: C: Program FilesArcGISDesktop10.1bin
Po wykonaniu tej czynności powinieneś być w stanie połączyć się i dodać dane ze swojej bazy danych. Aby użyć warstwy zapytania o dane, najpierw musisz połączyć się z bazą danych. W ArcGIS 10.1 musisz przejść do Plik> Dodaj dane> Dodaj warstwę zapytania
Jedyną rzeczą, na którą należy zwrócić uwagę, jest to, że zwracane dane muszą mieć unikalne pole, które może być używane przez ArcGIS jako klucz podstawowy. Czasami może być konieczne określenie tego, jeśli używasz więcej niż tylko podstawowego zapytania, a ArcGIS nie może ustalić, którego pola użyć. Możesz to zrobić przez:
Możesz również uruchamiać zapytania przestrzenne względem bazy danych postgres ze względną łatwością, chociaż musisz natychmiast utworzyć pole identyfikatora. np. Oto przykład wykonania bufora 100 km.
Nie tylko możesz zapisać dowolną warstwę zapytania jako plik warstwy i przekazać ją również przez niektóre standardowe narzędzia ArcGIS. Nie testowałem tego zbyt wiele. Więc dodając kolumny i takie tam, mogłem zobaczyć, że powoduje to spustoszenie. Myślę, że możesz wykonywać przestrzenne wywołania SQL z innymi bazami danych, takimi jak SQLServer i Oracle, a także przy odrobinie zabawy, aby utworzyć pole id w locie.
Niedawno zrobiłem pełny samouczek pod adresem : http://www.gisuser.org.nz/resources/tips-and-tricks/look-mum-dad-no-hands
źródło
Działa z ArcGIS 10.4, możesz odczytywać i zapisywać w geometrii PostGIS w obsługiwanych bazach danych PostgreSQL bez potrzeby żadnych dodatkowych rozszerzeń. Użyłem tylko licencji Advanced, ale uważam, że licencja standardowa może również łączyć się z bazą danych serwera PG niebędącą bazą danych geogazowych i używać tego obszaru roboczego jako miejsca docelowego dla narzędzi do tworzenia wektorów. Jest to bardziej kłopotliwe, ale możesz także używać klientów licencji Basic do pisania w tabelach za pomocą SQL z Pythonem (przez
arcpy.ArcSDESQLExecute
). Warstwy zapytań tylko do odczytu są dostępne dla wszystkich poziomów licencjatów od ArcGIS 10.0.źródło
Czy PostgreSQL 9 będzie działać z ArcGIS 10?
Do edycji Postgis ZigGIS 3.0
http://groups.google.com/group/ziggis/browse_thread/thread/8e17f4c2ac57f428?hl=en
Tylko do odczytu można dokonać za pomocą odpowiednich sterowników ODBC Postgres i bezpośredniego połączenia w ArcCatalog
źródło
GISquirrel wykonuje to zadanie za ułamek kosztów SDE. Obsługuje połączenie arcgis zarówno z MSSQL, jak i PostGIS. Bardzo prosty w konfiguracji (możliwość importowania do postgresu z pliku shapefile / featureclass) i prosty w utrzymaniu. Dla niewielkiej liczby użytkowników, którzy potrzebują możliwości edycji przez wielu użytkowników, jest w porządku.
Używamy GISquirrel / Arcgis dla naszych „zaawansowanych użytkowników” GIS, a QGIS może łączyć się z tym samym serwerem PostGIS dla naszych „podstawowych użytkowników”, co pozwala zaoszczędzić na kosztach licencji.
źródło
GISquirrel wykonuje to zadanie bardzo dobrze dla MSSQLserver i jestem pewien, że będzie dobrze działał dla Postgres. Pracuję w mieszanym środowisku ESRI / Qgis i używam wiewiórki GIS również do importowania plików kształtów itp. Do bazy danych. W SQLserver GISsquirrel śledzi kolumny geometrii, używam tych informacji do aktualizacji tabeli geometry_columns używanej przez Qgis. Bardzo przydatny ...
źródło
PgMap został zastąpiony przez st-links spatialKit i nie tylko obsługuje PostGIS, ale także obsługuje SQL Server 2008. Działa z ArcMap 9.3 i ArcMap 10. Po prostu spełnia twoje wymagania. Sprawdź to na www.st-links.com
źródło
Wierzę, że masz kilka opcji poza używaniem SDE (chociaż zaznaczę, że możesz używać PG_Geometry w SDE, dzięki czemu uzyskujesz dostęp do danych za pomocą oprogramowania ESRI lub oprogramowania OS kompatybilnego z PostGIS). Masz rozszerzenie ESRI Data Interoperability, ZigGIS, i prawdopodobnie mógłbyś zainstalować kopię geoserver lub mapserver i połączyć się za pośrednictwem usługi WMS w ArcGIS. Podobnie jak w poprzednim poście o zigGIS i potrzebie zarządzania zapytaniami za pomocą pgAdmin, będziesz musiał go użyć do tworzenia zapytań za pomocą geoserver / mapserver. Idealnie byłoby, gdybyś ponownie używał tych samych zapytań, możesz zapisać je jako widoki w postgresql i uzyskać dostęp do danych w ten sposób.
źródło
ST-Links SpatialKit to rozszerzenie ArcMap do bezpośredniego łączenia z przestrzennymi bazami danych bez ArcSDE, bez ArcInfo, bez ArcGIS Server.
Zgodnie z ich licencją kosztuje 188 CAD, ale stwierdzają: „Będziemy nadal wydawać bezpłatne licencje dla tych użytkowników, którzy nie mogą sobie pozwolić na opłatę licencyjną. Darmowe licencje mają ograniczenia czasowe. Jeśli poprosisz o bezpłatną licencję, podaj powód w Twój e-mail z prośbą o licencję. ”
źródło
Prostym sposobem dodania danych PostGIS do ArcMap jest dodanie „Połączenia interoperacyjnego”. W tym celu wymagane jest „rozszerzenie interoperacyjności danych”.
Dobrze jest dodać „Indeks liczbowy” i „Klucz podstawowy” do tabeli bazy danych PostGIS przed utworzeniem połączenia.
źródło