Poszukujesz platformy GIS z możliwością dostosowania? [Zamknięte]


9

Kształciłem się w GIS przy użyciu ArcGIS (Desktop and Workstation) i badałem go przy pomocy (bardzo) krótkich podglądów na MapInfo i uDig. W tym czasie byłem zadowolony z programu, ponieważ korzystałem ze stosunkowo małych baz danych i nie wykonywałem zbyt wielu powtarzających się zadań, a ArcGIS ma wiele fajnych narzędzi do analizy danych naukowych.

Od dwóch lat, od ukończenia studiów, pracuję w firmie o zupełnie innej skali. Mam do czynienia z ogromnymi bazami danych, wykonując stosunkowo „prostsze” zadania, ale ponadto składają się one z powtarzalnych zadań (wykonuję serię prostych zadań raz w tygodniu do całej bazy danych). W tym czasie korzystałem z programu AutoCAD (ponieważ wiele naszych danych jest rysowanych za pomocą programu AutoCAD) i bardzo je doceniałem - największą zaletą jest to, że używając języka programowania LISP i zmiennych systemowych możesz kontrolować całość wiele ustawień - czy dotyczy to dostosowania domyślnej wartości narzędzia, eliminacji korzystania z okien dialogowych w programie, czy opcji skryptu automatycznego otwierania i manipulowania rysunkami.

Czy istnieją jakieś platformy GIS, bezpłatne lub nie, które mają tak wysoki poziom dostosowywania, czy też jestem skazany na sfrustrowaną pracę ręczną?

Wolę platformy z dobrym interfejsem użytkownika w opcjach skryptów, ale nie jest to konieczne.


6
istnieją zadania w ArcGIS, które są znakomicie skryptowalne i automatyczne, inne, które zdecydowanie nie są, i zakres między nimi. Dito na wszystkie inne platformy. Jeśli możesz podać przykłady rodzajów pracy fizycznej, których chcesz uniknąć, mogą być jakieś konkretne pomocne odpowiedzi.
matt wilkie

@PolyGeo zdajesz sobie sprawę, że to 7-letnie pytanie, które chcesz edytować?
Nicklas Avén,

@ NicklasAvén Zdecydowanie nie wymagam edycji. Po prostu głosowałem za jego zamknięciem, aby nie było postrzegane jako pytanie, które może być wzorem dla podobnego pytania zadawanego dzisiaj. Aby spróbować wyjaśnić niektóre z powodów, dla których tak myślę, sam dokonałem pewnych zmian. To, czy takie stare pytania powinny zostać zamknięte, jest omawiane na stronie meta.stackexchange.com/a/194117/215590
PolyGeo

Odpowiedzi:


5

Nie mam wystarczającego doświadczenia, aby udzielić odpowiedzi z wielu aspektów, ale ... Zrobiłem swoje pierwsze rzeczy w GIS w ArcView 3.x pisząc w Avenue. Naprawdę podobała mi się szybkość i możliwości. Wtedy nigdy nie rozumiałem radości z oczekiwania na uruchomienie ArcGIS, szukania odpowiedniego narzędzia, a następnie znalezienia potrzebnego narzędzia, potrzebuje ArcInfo.

Moja nowa miłość to PostGIS. To znacznie więcej niż baza danych do przechowywania. Wbudowana funkcjonalność umożliwia wykonywanie wszystkich analiz i analiz, z których dotychczas korzystałem. W większości przypadków jest to znacznie szybsze niż produkty Arc.

W świecie open source nie dostaniesz jednego rozwiązania na wszystko, ale są projekty i oprogramowanie zaspokajające wszystkie Twoje potrzeby.

Jak powiedziałem, przetwarzam i analizuję w PostGIS. Mogę przechowywać zapytania SQL w plikach tekstowych do ponownego użycia (jak każde narzędzie w innym oprogramowaniu, ale o wiele bardziej przejrzyste). Możesz pisać funkcje w wielu różnych językach, takich jak plpgsql (specjalny język PostgreSQL) Python, pLR, C i wiele innych.

Na komputerowy GIS używam głównie QGIS. To, czego nie ma w QGIS, to rozszerzenia. Jeśli to nie wystarczy, możesz napisać własne rozszerzenie w Pythonie i myślę, że także C ++)

Jeśli jesteś przyzwyczajony do uDig, jest to oczywiście alternatywa.

Jeśli chcesz wykonać mapowanie internetowe, możesz wypróbować MapServer. Mapserver wygrał wielki test porównawczy podczas tegorocznej konferencji FOSS4G w zakresie obsługi WMS. Esri nie chciała brać udziału w tym roku. W zeszłym roku zarejestrowali się, aby wziąć udział, ale nigdy tego nie zrobili. W tym roku nawet się nie zarejestrowali.

GeoServer to kolejna alternatywa dla udostępniania map internetowych. Jest bardzo przyjazny dla użytkownika i obsługuje wiele różnych formatów. Obsługuje także WFS-T, dzięki czemu możesz edytować dane mapy i wysyłać zmiany z powrotem na serwer.

Jeśli chcesz mieć lekki i bardzo szybki serwer WFS-T, powinieneś spojrzeć na Tiny-OWS

Cóż, lista może zawierać długie kompetentne oprogramowanie, które razem tworzy bardzo potężny i oczywiście dostosowywalny pakiet.

To znaczy, czy może być bardziej konfigurowalny. Masz dostęp do całego kodu źródłowego. A za pieniądze, które zaoszczędzisz, nie płacąc rocznych opłat na rzecz Esri, możesz wziąć darmowe i uczyć się programowania lub zatrudnić programistę. Dostaniesz dużo kodowania w tych projektach za cenę licencji ArcGIS Server.


12

Nie zgadzam sie z Toba.

Myślę, że pomoc / fora / blogi / vids / etc ArcGIS dają świetną perspektywę na to, co możesz osiągnąć dzięki gamie produktów ArcGIS.

Nie jesteś ograniczony do Pythona do manipulowania danymi przestrzennymi. Nadal możesz używać VBA w wersjach 931 i 10, aby uzyskać dostęp do biblioteki ArcObjects, lub możesz pójść o krok dalej i używać .NET do robienia różnych rzeczy, i znowu jest to dobrze udokumentowane.

Uważam również, że skróty do ArcGIS Desktop są świetne i jeśli chcesz, możesz tworzyć własne skróty za pomocą okna dialogowego Dostosuj.

Jeśli nie chcesz nauczyć się kodować, istnieje także ModelBuilder, który jest świetnym sposobem na automatyzację żmudnych zadań / typowych przepływów pracy, szczególnie w przypadku geoprzetwarzania .

Jestem stronniczy, ale mam doświadczenie z innymi produktami.

Wiem, że Pythonowi brakuje mocy zapewniania łatwych do dostosowania interfejsów, które będą prezentowane użytkownikom, ale jak już wspomniałem, w VBA / .NET możesz łączyć formularze bogate w treści, aby dać użytkownikom niestandardowy interfejs do robienia tego, czego potrzebują zrobić.

  • Za pomocą .NET możesz wykonywać skrypty przeciwko MXD (np. Loop przez folder MXD i otwieraj każdy MXD, zrób kilka rzeczy, a następnie przejdź do następnego MXD
  • Manipulowanie wartościami domyślnymi w danych przestrzennych jest również możliwe dzięki ArcObjects.

Moje umiejętności programistyczne są dobre, ale w żadnym wypadku nie mogę się równać z wykształconym programistą (ale z każdym dniem jestem lepszy). Dotyczy to Python / VBA. Ponieważ niestety VBA idzie szybko na marne (dzięki Microsoftowi), po prostu powiedziałbym, że z mojego doświadczenia jest wstyd, ponieważ jest prosty z jednej strony i potężny z drugiej. Ale w tempie, w jakim ESRI wydaje aktualizacje (z obietnicą 10.1 nie będzie obsługiwać VBA), nie widzę żadnego uzasadnienia, aby inwestować czas w naukę programowania przy użyciu VBA.
jonatr

A co do VB.net / ArcObjects. Zapomniałem odnieść się do tego, ponieważ czuję (z bardzo małego doświadczenia w C #, że mam), że nie jest on przeznaczony dla przeciętnego analityka GIS (który ma pewne doświadczenie w programowaniu i może zarządzać podstawowym VBA / Python), ale doświadczony przez cały czas zaangażowani profesjonalni programiści. Wydaje mi się, że czyniąc VB.net preferowanym językiem, ESRI rezygnuje z całej części małych firm i analityków, którzy dostosowywali małe rzeczy do własnych potrzeb.
jonatr

Podstawowym problemem, jaki mam z VB.net, jest to, że niestety nie mogę poświęcić czasu na naukę go od zera (to jest kurs trwający cały rok) i alternatywnie nie mogę znaleźć żadnych referencji internetowych / książek dotyczących pracy z ArcGIS i VB.net. O ile wiem, poza kilkoma kodami, ESRI nie ma żadnych książek na ten temat (takich jak poznanie obiektów Arcob, ale dla c #). Jeśli wiesz lepiej, udostępnij.
jonatr

2
To dobre, osobne pytanie dla gis.stackexchange.com: „1. Za każdym razem, gdy otwieram symobolię i przechodzę do okna Kolor wypełnienia, aby dopasować potrzebne kolory. Otwiera się w CMYK i muszę go zmienić na RGB”. Może istnieć nieprogramowy sposób rozwiązania tego problemu.
Jay Cummins

1
Odp .: Twoje wyżej wymienione pytanie nr 2. Ten problem wydaje mi się pytalny, ale niewiele robię z arcgis / python, więc może ktoś inny skomentuje. Poleciłbym podzielenie tego na inne pytanie dla gis.stackexchange.com (ułatwi to przyszłym, sfrustrowanym analitykom GIS, którzy muszą zapętlać, powiększać, eksportować, aby znaleźć odpowiedź).
Jay Cummins

4

„... Wypełnij okno Kolor, aby dostosować kolory, których potrzebuję. Otwiera się w CMYK i muszę go zmienić na RGB”

  1. Zabawne, nauczyłem się robić to w zeszłym tygodniu.

    • otwórz ArcMap -> dodaj warstwę -> przejdź do palety kolorów
    • Zmień CYMK na RGB
    • Zapisz dokument do Normal.mxt w swoim dokumencie i ustawieniach (w folderze ESRI)
    • Zamknij i ponownie otwórz ArcMap -> Zawsze będzie domyślnie ustawiony na RGB.
  2. DS Map Book może być dla Ciebie rozwiązaniem? A jeśli jesteś na v10, D ata Driven Pages ? Jak powiedziałem, skrypty .NET / VBA mogą to zrobić, nie jestem zbyt gorący w Pythonie, aby zapewnić rozwiązanie w języku Python

„poznanie arcobjectów”, ale dla c #

Zgadzam się z tobą tutaj. Wiem, że ESRI są tego świadomi, ale nie są pewni, czy mają coś w przygotowaniu. Ten link może pomóc jako starter, jeśli masz doświadczenie w VBA. Nadal będę argumentować, że AO GTK jest nadal ważną lekturą, a wyciągnięte wnioski będą nadal obowiązywały dla platformy .NET (i możesz przejrzeć książkę w tydzień @ 1-2 godziny dziennie).

Byłem / jestem wielkim fanem VBA ...


Dzięki. „Strzepnąłem kurz” z MOJEJ kopii GTKAO dziś rano i pomyślałem, że nadszedł czas, aby do niej wrócić, ponieważ poprawiłem się od czasu, gdy przeczytałem ją w połowie. Może potem będę miał więcej podstaw, by zagłębić się w VB.Net.
jonatr

Częścią mojego problemu jest przekonanie działu komputerowego w firmie, że potrzebuję Visual Studio (GIS nie jest tak popularny - nie widzą nas jako programistów, więc muszę walczyć o podstawowe rzeczy). DS MapBook to kolejny powód do walki z komputerami i dlatego do tej pory skupiałem się na Pythonie i VBA - są one wbudowane i nie muszę o nie walczyć. W każdym razie, dziękuję za wskazówkę dotyczącą materii CMYK / RGB, wypróbuję to.
jonatr

@jonatr - Istnieje darmowa wersja Visual Studio - myślę, że nazywa się „Express”. Prawdopodobnie zrobi wszystko, czego potrzebujesz. Wersja profesjonalna ma po prostu więcej narzędzi dla profesjonalnych programistów.

Zgadzam się, Visual Studio Express jest zwykle wystarczający, aby uzyskać to, czego chcesz. Zdecydowanie jest to dobre miejsce, aby rozpocząć naukę, a także polecam ten link: msdn.microsoft.com/en-au/beginner/default.aspx
Simon

3

Na platformie ArcGIS, jeśli nie jesteś skazany na pracę ręczną, to jesteś skazany na pracę programistyczną (nieźle jak na mnie, ponieważ podobają mi się takie rzeczy)!

Nie znam sposobu, aby w 9.3.x zastąpić domyślne wartości w geobazie bez uciekania się do niestandardowych narzędzi. To właśnie robię, zwłaszcza jeśli jest to zestaw powtarzalnych operacji edycji.

W ArcGIS 10 użytkownik może tworzyć szablony funkcji Utwórz i początkowo ustawiać wartości domyślne dla każdego szablonu , szablony są symbolami warstwy obiektów, ale w razie potrzeby można kopiować / zdalnie / modyfikować szablony funkcji ). Nie przeszedłem na ArcGIS 10, ale jest to jedna z funkcji, na którą czekają nasi redaktorzy GIS.

Nigdy nie potrzebowałem usuwać skrótu, więc nie jestem pewien, czy możesz to zrobić w dowolnej wersji ArcGIS. Możesz je zdecydowanie dodać (akceleratory). Nie jestem pewien, czy możesz je zastąpić; jeśli możesz, możesz je zastąpić za pomocą fałszywego polecenia, które nic nie robi.

Jak wspomniano Simon, możesz używać ArcObjects / .NET i operować na wielu MXD. Chociaż uważam, że ArcObjects jest bardzo wybredny, gdy MXD zawiera zerwane połączenia danych lub dowolną z różnych warstw usług. W ArcGIS 10 będziesz mieć arcpy.mapping w Pythonie, który pomaga w pracy skryptowej przeciwko MXD / LYR w Pythonie. Nadal jest trochę wadliwy, ale może działać dla ciebie w zależności od tego, co masz w MXD.


Cześć. Ponieważ napisałem bardzo długą odpowiedź dla Simona, nie chcę kopiować i wkleić go (jest powyżej), ale byłbym wdzięczny, gdybyś skomentował (jeśli masz coś do skomentowania). Dziękuję za odpowiedź.
jonatr

3

Chociaż bardzo podoba mi się ArcGIS, muszę przyznać, że na pulpicie bardzo brakuje możliwości tworzenia plików obserwacyjnych udostępnianych na stacji roboczej ArcInfo. Wielu jest zaznajomionych ze zdolnością Excela do nagrywania makr. Wygląda na to, że ESRI może mieć podobne możliwości - nawet po 10,0, gdy VBA jest wycofany. Na przykład Neooffice ma możliwość rejestrowania makr w języku Python .

ArcGIS Engine jest wysoce konfigurowalny. Pozwala tworzyć małe, skoncentrowane narzędzia, które robią jedną rzecz i robią to dobrze. Zawiera projekty szablonów dla Visual Studio, w tym darmową wersję Express (?), Które można wykorzystać do tworzenia małych, lekkich aplikacji do przeglądania map bez żadnego kodowania. Aby jednak w pełni korzystać z ArcGIS Engine, trzeba poświęcić czas na naukę języka programowania .NET.


1
nie jest tak płynny ani kompletny jak plik podglądu, ale karta Wyniki zawiera historię geoprzetwarzania, którą można przeciągnąć i upuścić w programie Model Builder lub wyeksportować do fragmentów python. Używam tego jako pewnego rodzaju ulepszonej historii metadanych dla zestawów danych.
matt wilkie

istnieje również historia narzędzi GP jako plik XML tutaj% AppData% \ Roaming \ ESRI \ Desktop10.0 \ ArcToolbox \ History, plik xml ma pewne problemy z tym, które zostaną rozwiązane o 10.1. ale może to być dla ciebie interesująca opcja.
gotchula

1

Taka jest rzeczywistość polegająca na tym, że zestaw narzędzi napędza bazę danych, a nie na odwrót. Brzmisz tak, jakbyś znalazł się w sytuacji, w której potrzebujesz kompleksowej struktury bazy danych, takiej, w której możesz uzyskiwać raporty, tworzyć aktualizacje, publikować mapy itp. Z częścią GIS lub bez. Uwolnienie danych z narzędzia umożliwi korzystanie z wybranego narzędzia. Dlatego mamy otwarte standardy. Stamtąd możesz korzystać z aplikacji, która najlepiej służy twojemu celowi. Właśnie przeprowadziłem dziś rano tę rozmowę, że jeśli zdarzy ci się reprezentować dane w kolumnach, nie jest to arkusz kalkulacyjny Excel.

Inny respondent omówił ograniczenia Python, tak nie jest. Prawdopodobnie jest więcej rzeczy, które możesz zrobić z Pythonem ze względu na obszerne biblioteki niż większość innych języków, a interfejsy nie są takie trudne. Ogranicza to implementację ESRI Pythona w ArcGIS. Nie pomyl tych dwóch.


1

Możesz wypróbować MapWindow jako bezpłatną alternatywę .... czyta pliki Shapefiles itp., Ale musisz wiedzieć, jak programować w C #. Ale wtedy masz całkowitą kontrolę nad wszystkim ...

http://www.mapwindow.org/


Problemem jest zdobycie wiedzy w języku C #, który nie jest trywialny i bardzo czasochłonny. Ale dzięki, będę o tym pamiętać.
jonatr
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.