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ć.
python
c++
references
Wola
źródło
źródło
Odpowiedzi:
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
źródło
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.
źródło
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).
źródło
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ą.
źródło
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:
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.
źródło
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
źródło
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.
źródło
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.
źródło
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 :-)
źródło
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.
źródło