Jak rozwinąć umiejętności programowania GIS?

30

Chciałbym rozwinąć umiejętności programowania GIS, od czego zacząć? Ludzie mówią, że uczą się C ++ lub Python, ale gdzie mogę się tego nauczyć w kontekście geograficznym? Samouczki lub cokolwiek innego byłyby bardzo pomocne, podobnie jak wszelkie informacje o językach / programach, których należy używać.

Wola
źródło
2
Czy masz już jakąkolwiek wiedzę programistyczną? Powinieneś przynajmniej poznać podstawy, zanim spróbujesz swoich sił w niezbyt trywialnej dziedzinie GIS.
podmroku
Zacznij od Arcgis Python ... jest łatwy w użyciu. Dostępnych jest wiele próbek.
Jestem programistą i znam Delphi i D2k. Chciałbym studiować programowanie GIS, jak to możliwe przez Internet. proszę o pomoc
To nie jest odpowiedź. Jeśli chcesz zadać pytanie, zadaj pytanie. Jeśli chcesz wykonać to pytanie, zaznacz je jako ulubione i sprawdź ponownie.
Branco

Odpowiedzi:

18

Jest jeden post na blogu od Michalisa Avraama, który wyjaśnia podstawowe umiejętności niezbędne do odniesienia sukcesu w karierze GIS, które moim zdaniem są dobrze napisane. Prawdopodobnie znajdziesz tam wiele dobrych porad.

AKTUALIZACJA: niestety górne linki są martwe, ale podobny temat można znaleźć w jednym artykule badawczym Identyfikacja wymagań dotyczących umiejętności w pozycjach GIS: Analiza treści ogłoszeń o pracy

Mario Miler
źródło
1
Powyższe linki Michalis Avraam są zepsute?
Umar Yusuf,
@UmarYusuf thaks za powiadomienie o martwych linkach. Zaktualizowałem jeden link o podobnym temacie.
Mario Miler,
Oto adres URL posta na blogu od Michalis Avraam - dusk.geo.orst.edu/gis/PPTs/essential_skills.pdf
birdybird03
13

Lubię materiały szkoleniowe Python for Geoprocessing Chrisa Garrarda. http://www.gis.usu.edu/~chrisg/python/2009/ Osobiście uważam, że programowa manipulacja OGR / GDAL jest niezbędna.

Jeśli chodzi o znalezienie najlepszego dla siebie rozwiązania, rozważ oprogramowanie lub geostack, w którym chcesz być najbardziej ekspertem (np. ArcGIS, QGIS, PostGIS-GeoServer-OpenLayers), a następnie wybierz języki programowania, które najlepiej obsługują Twój wybór. Będzie to możliwe do wykrycia przez sprawdzenie języka powiązanego interfejsu API lub innych samouczków dostosowywania. Istnieje wiele zasobów do nauki programowania online, a wyszukiwanie w Internecie twojego ulubionego pakietu oprogramowania + języka + „samouczka” sprawi, że będziesz się rozwijać.

Wierzę również w „uczenie się przez działanie”. Na przykład wykrój prostą mapę za pomocą Javascript i Google Maps i spróbuj dodać geometrię, styl, interfejs użytkownika i analizy. Pracuj, aby zobaczyć, co jest możliwe, a co nie. Podczas tworzenia będziesz potrzebować bardziej wyrafinowanych narzędzi do dostosowywania, a to wskaże na odpowiednie plaftormy, języki i biblioteki.

glennon
źródło
10

Nie zaczynaj od C ++ i GIS bez wcześniejszej nauki programowania. To po prostu za dużo.

Python to dobre miejsce na rozpoczęcie, niezależnie od tego, z której platformy GIS korzystasz później. Istnieje wiele książek, stron internetowych i materiałów szkoleniowych, a wiele szkół wyższych używa Pythona jako wstępu przed przejściem do języków programowania o dużej wytrzymałości, takich jak c ++ i java.

Moje ulubione zasoby Pythona - poza tą witryną - to Show Me Do , Think Python , Stack Overflow oraz listy mailingowe oprogramowania, którego używam (głównie GDAL i ArcGIS).

matowe wilkie
źródło
7

Mogłem nauczyć się języka Python, siadając z kopią Learning Python autorstwa Lutza i Aschera (O'Reilly Press). Moje biuro korzysta z produktów ESRI, więc aby uzyskać połączenie z ArcGIS, stworzyłem kilka modeli za pomocą programu ESRI Model Builder i wyeksportowałem je do Pythona. Potem wystarczyło spojrzeć na wyeksportowane skrypty Pythona, przekopać się przez książkę i skorzystać z internetowego systemu pomocy ESRI dla tematów geoprzetwarzania, aby uzyskać lepszy pomysł na to, jak Python i ArcGIS współpracują ze sobą.

Jason V.
źródło
3

Istnieje bardzo niewiele szkół wyższych oferujących kursy programowania związane z GIS. Poleciłbym program certyfikacyjny GIS Elmhurst College, który ma dwa (2) z tych kursów w ramach certyfikatu GIS. Program, oba związane z programowaniem:

  1. Programowanie ISG 100 GIS za pomocą ArcObjects
  2. ISG 200 Wdrażanie geobaz

    http://public.elmhurst.edu/adult/gis

Cały program jest online i mają dedykowany serwer GIS. Uczą głównie Pythona.

Bogaty
źródło
2

Programowanie w GIS jest jednym z zestawów umiejętności wymienionych w Geospatial Technology Competence Model (GTCM), który właśnie się ukazał i zawiera kilka dodatkowych zestawów umiejętności, które mogą być ostatecznym źródłem informacji na ten temat: http://www.careeronestop.org/ Competencymodel / blockModel.aspx? tier_id = 4 & block_id = 708 i GEO = Y

Bogaty
źródło
I zaleca GeoTools jako zestaw narzędzi - nie dlatego, że czujemy się zadowoleni z siebie lub coś w tym stylu :-)
Ian Turton
2

Odpowiedź zależy w dużej mierze od używanego systemu i systemu operacyjnego, na którym działa. Programuję przede wszystkim Manifold w systemie Windows lub aplikacjach internetowych z Manifold na zapleczu, więc mogę wybierać z dowolnego języka .NET. C # to mój osobisty wybór, ponieważ większość przykładów i samouczków, które znajdziesz w sieci, będzie w języku C # (przynajmniej dla .NET).

Ponieważ dopiero zaczynasz, Kolektor może nie być złym wyborem. Możesz go uzyskać za mniej niż 300 USD i rozwijać przy użyciu darmowych wersji „Express” programu Visual Studio.

Jeśli możesz być bardziej szczegółowy, prawdopodobnie możemy Ci pomóc.

dmbrubac
źródło
1

Wirtualny kampus ESRI oferuje kilka krótkich kursów wprowadzających na temat używania Pythona do skryptowania w ArcGIS. Myślę, że jeden z nich jest bezpłatny. Wybór jednego z nich byłby świetnym sposobem, aby sprawdzić, czy jest to coś, w co możesz zanurzyć się głębiej.

L_Holcombe
źródło
1

Przejdź przez ArcMap, ucząc się podstaw obsługi obiektów przestrzennych. Kiedy czujesz się komfortowo z operacją, spróbuj ustanowić proces za pomocą ModelBuilder. Kreator modeli jest odpowiednikiem klocków Lego w świecie ESRI. Umożliwia generowanie kodu python. Ten kod zostanie uproszczony, ale zadziała.

WingIDE to narzędzie, które ułatwia obsługę skryptów Pythona, a także zapewnia przewidywalne środowisko do wypróbowania skryptów. Otwórz skrypt konstruktora modeli w wybranym środowisku IDE i baw się z nim.

Z biegiem języków programowania Python jest nisko wiszącym owocem. Zabierze Cię od prostego poziomu i wyżej :-)

Ragnvald
źródło
0

Dziwi mnie, że książka kucharska PyQGIS dla programistów jeszcze nie istnieje. Uważam, że jest to niezbędne do dopasowania moich starych umiejętności GIS i nowych umiejętności Python, szczególnie bez dostępu do ArcGIS. Jeśli jesteś bardziej zorientowany na ArcGIS, oznacza to, że masz o wiele więcej zasobów .

Na StackOverflow znajduje się lista programów szkoleniowych w języku Python . Ja osobiście wolę Checkio .

O ile nie masz już silnego doświadczenia w innym języku (C # dla ArcGIS, C ++ dla opensource GIS), zacznij od Pythona i naucz się innych języków później. Większość funkcji związanych z GIS powinna mieć podobną składnię i użycie w Pythonie i tych językach, więc uczenie się ich z wcześniejszą znajomością Pythona nie powinno być trudne.

Pavel V.
źródło