웹 GIS 개발 기술 세트 [폐쇄]


12

웹 GIS 개발 연구 / 취득을 원하는 기술과 기술은 무엇입니까?

답변 당 하나의 기술 / 기술을 사용하십시오.


4
광범위한 질문에 대해 이야기하십시오. 특정 소프트웨어 스택으로 좁힐 수 있습니까? 에리스? 포스? Google / 포인트 데이터 매시업을 원하십니까?
Derek Swingley

내 잘못이야. ESRI 또는 ​​FOSS, 둘 다 가질 수 없습니까? 포인트 매쉬업보다 더 복잡한 것입니다. 이와 같은 일을 할 수있는 충분한 기술. opengeohost.com/maps/stlawrence
RK

1
좋은 질문입니다. 답변 당 하나의 기술을 봅시다.
Adam Matan

감사. 좋은 생각이야 질문에 게시해야합니까? 방금 질문이 광범위하다는 것을 깨달았습니다. 커뮤니티 위키로 더 나을까요?
RK

답변:


17

간단한 지리학자로 시작하여 GIS 제품을 사용하여 공간 분석을 시도한 내 경험에 대해 이야기 할 수 있습니다.

내가 말했듯이, 나는 지리학자이며, 대학 초기부터 GIS를 사용자로 사용하기 시작했습니다. 그 후, 나는 자주해야하는 지루한 작업을 자동화하는 방법에 대해 연구하기 시작했습니다. 3 년 후, 저는 다국적 소프트웨어 회사에서 일하면서 많은 GIS 시스템과 함께 작동하고 맞춤형 솔루션을 개발하고 있습니다.

내 단계 는 다음 같습니다

  • GIS를 잘 배우십시오. 기본적인 권리없이 프로그래밍 학습을 시작하지 마십시오. 투영 및 변형, 공간 분석, 래스터와 벡터 모델의 차이점 등

  • 데이터베이스의 기본 알아보기 : 소개를 데이터베이스 시스템으로 , 데이터베이스 시스템의 기본 . 두 권의 책은 약간 다릅니다. 첫 번째는 이론에 무겁고 두 번째는 더 실용적인 접근 방식을 취합니다.

  • SQL을 배우십시오. 이것은 실제로 첫 번째의 두 번째 부분입니다. "sqlish"방식으로 생각하기 시작하면 큰 도움이됩니다. 공급 업체에서 공급 업체로 SQL이 변경됩니다. PostgreSQL을 추천 할 수 있습니다. PostgreSQL은 표준을 가장 많이 따르는 공급 업체입니다. 특정 방언을 배워야 할 경우 실제로 필요할 때 나중에 수행하십시오.

  • 객체 지향 프로그래밍. 도전적인 것처럼 보이지만 기본 사항을 이해하면 매우 쉽습니다. 쉬운 언어를 선택하십시오. 파이썬은 가장 쉬운 것입니다. 파이썬을 배우는 것은 훌륭한 출발점입니다. Dive into Python 과 같은 오픈 소스 / 무료 Python 서적이 있습니다. Python 이후에는 .NET, Java 및 C / C ++ 중에서 흥미로운 선택이 가능합니다.

  • 학습 프로그래밍. 코드를 읽고 코드를 작성하십시오. 지리 공간 코드를 읽습니다. 지리 공간 코드를 작성하십시오 . GEOS, JTS, GDAL, ArcObjects (ESRI 팬인 경우 시장에서 큰 장점) 등의 클래식 API를 연구하십시오.

    -지리 공간 문제를 해결하고 코드를 작성하여 해결하십시오. 이것이 얼마나 유용한 지 강조 할 수 없습니다. 이것은 당신을 미치게 할 것이지만, 당신이 프로그래밍 측면을 배웠다는 것을 확인하고 지리 공간 기술이 최신인지 확인하는 아주 좋은 방법입니다. 내 경우에는 교통 사고를 지오 코딩하기 위해 작은 PostgreSQL 응용 프로그램을 작성했습니다.

  • 계속 공부하십시오. OGC 표준은 여기서 좋은 선택입니다.


4

데이터베이스를 둘러싼 길을 알아라. 모든 GIS 개발자는 광범위하게 사용할 것입니다.

가장 주목할만한 점 :

  • DBMS관계형 모델 . 이러한 주제는 데이터 스토리지의 기본 사항을 이해하는 데 중요합니다.
  • 하나 이상의 GIS DB 솔루션 . PostGIS를 선호 하지만 다른 솔루션도 있습니다 .
  • SQL 및 GIS SQL에 대한 지식 : 데이터를 효율적으로 추출, 삽입, 정렬 및 조작하는 방법.
  • 클래식 DB 트레이드 오프 : 다른 작업이 메모리, 디스크 공간, CPU 및 네트워크 사용에 미치는 영향
  • 인덱싱. 초보자 중에서 가장 일반적인 DB Lacuna이기 때문에 별도의 글 머리 기호로 충분합니다.
  • 에 대한 몇 가지 지식 클러스터링 및 확장 성 .
  • NOSQL에 대한 기본 지식 .

데이터베이스를 사용하지 않더라도 여전히 데이터를 사용하고 있으며 일반적으로 SQL (또는 그 사촌 중 하나)을 사용하여 데이터를 쿼리하는 것이 안전합니다.
mwalker

나는 위의 모든 것들이 알아야 할 좋은 점에 동의하지만 WEB 개발과 관련하여 목록의 최상위에 있습니까?
Simon

CQL은 어떻습니까? 그것도 필요합니까?
RK

1
@simon-불충분 한 DB 기능은 GIS 개발자들에게 가장 일반적인 문제 중 하나입니다. IMHO는 가장 중요한 기술 중 하나입니다 (HTML / CSS, JavaScript 및 맵 렌더링과 함께). @rk-CQL?
Adam Matan

일반적인 쿼리 언어? GeoServer로 작업하는 동안 한 번 발생했습니다.
RK

3

이미 GIS쪽에 포함되어 있다고 가정하면 (지도 제작 원칙 등) 먼저 http://www.w3schools.com/ 으로 이동합니다 . -HTML, Javascript, XML 등의 자습서를 실행합니다.

그런 다음 선택할 수있는 다양한 플랫폼이 있습니다. ESRI에 약간 편견이 있으며 API에 대해 시작하여 시작하는 것이 좋습니다. http://resources.arcgis.com/content/web/web-apis-concepts / samples를 실행하면 실제로 무엇을 의미하는지 알 수 있습니다. 당신은 달성 할 수 있습니다.
코드 샘플을 다운로드하고 리버스 엔지니어링하여 자신의 서비스로 작업 할 수 있습니다 (ArcGIS Server 인스턴스가 있다고 가정하고 그렇지 않으면 ESRI 샘플 서버를 사용할 수 있다고 가정)는 배우는 좋은 방법입니다.

또한 비디오가 많이 있습니다.이 y y dev dev 회의 비디오를보십시오. 권장 JavaScript 용 ArcGIS API 개요, 효과적인 맵 서비스 디자인을위한 모범 사례, 웹용 데스크탑 응용 프로그램 재 설계 및 ArcGIS Server REST API 사용.

어떤 웹 플랫폼을 선택 하시겠습니까? WebADF (Java / NET)를 보는 것은 무시할 것입니다.

당신의 고객은 누구입니까? 어떤 브라우저를 사용합니까? Silverlight 또는 Flash 플러그인을 설치할 수 있습니까? 개발할 IDE가 있습니까? 예를 들어 Flex는 FlashBuilder ($$)에서 최고이지만 오픈 소스 대안 인 FlashDevelop를 사용할 수도 있습니다.

기존 기술이나 새로운 기술에 더 익숙하십니까? 위험을 측정하십시오.
-.NET / Java는 오래 전부터 사용되어 왔습니다.-Silverlight & Flex는 상당히 새롭고 HTML 5가 이러한 플랫폼을 없앨 것인지에 대한 논쟁이 있습니다.

Silverlight와 Flex는 기본적으로 Dojo.Framework에 의존하여 이러한 차이를 보완하는 Javascript와 같은 대화 형 기능을 제공합니다.

웹 ADF와 웹 API의 기능에서 가장 큰 차이점은 ArcGIS Web API가 전적으로 클라이언트 측이라는 사실입니다.

ESRI에 덜 구체적인 답변을 제공하기 위해 다른 사람을 남겨두고 싶지만 분명한 선택은 Google Maps API 로 게임을 시작하는 것입니다 .이를 배우는 데 필요한 많은 리소스 / 자습서가 있습니다.


와. 개요 주셔서 감사합니다 : DI는 제 3 세계 국가에 있고 ESRI 제품이 대부분의 사람들에게 도달하지 못함에 따라 FOSS에 대해 조금 더 기울입니다.
RK

ArcGIS (및 다른 많은) 웹 API는 대부분 클라이언트 측에서 처리를 수행하지만 게시 된 서비스 및 / 또는 서버 측 처리에 크게 의존 합니다. 따라서 기존 리소스 (예 : 지오 프로세싱)를 모으는 것 이상을 수행하려면 서버 측 기술을 조사하거나 클라이언트 측에서 수행하는 방법을 알아 내기 위해 많은 연구를해야 할 수도 있습니다.
mwalker

유명한. 오픈 지오 스택을 지금 조사 중입니다.
RK

3

자바 스크립트, HTML DOM, CSS, HTTP

이것들을 마스터하면 웹에서 무엇이든 할 수 있습니다. SVG와 같은 멋진 API를 추가하면 더 쉬워지고 웹 응용 프로그램이 더 좋아질 수 있지만 IMO는 위에 나열된 네 가지를 결코 얻을 수 없습니다.


Javascript, HTML DOM, CSS, HTTP 특정 순서를 배워야합니까? :)
RK

2
서버 측 스크립팅을 위해 HTML, CSS, HTTP, DOM, JavaScript, 추가로 PHP 및 Python / Ruby 순서를 제안합니다.
underdark

3

공간 DB와 맵 서버 (여기 다른 답변에 설명되어 있음)를 정렬하고 HTML, CSS 및 JavaScript에 대한 지식을 정리했다고 가정하면 사용자의 웹 브라우저 내에서 맵 구성 요소를 사용하고 표시하는 클라이언트 라이브러리로 땜질을 시작할 수 있습니다.

OpenLayers 는 가장 많이 참조되고 사용되는 라이브러리 인 것 같습니다. 꽤 좋은 문서와 예제가 있으며 여기에서 몇 가지 자습서를 찾을 수 있습니다 . BostonGIS 페이지는 OpenLayers뿐만 아니라 여기에서도 유용합니다.

Python MapFish 를 배우려는 지식 / 의지에 따라 매우 우아한 솔루션입니다. 또는 GeoDjango 로 뛰어들 수는 있지만이 솔루션에 대해 많이 언급 할 수는 없습니다.

또는 OSGeo 웹 매핑 솔루션을 보거나 Flash를 사용하거나 ESRI Web API 와 같은 상용 제품을 사용할 수 있습니다.


3

나는 공간 DB와 SQL이 출발점이되어야한다는 Adam 에게 동의 한다.

그 후에는 미래의 웹 지오 스택 의 두 번째 계층을 살펴볼 가치가 있습니다 . 사용자의 브라우저에서 공간 DB에서 클라이언트로 데이터를 '서비스'하는 브릿지 역할을하는 것이 필요합니다.

WFSWMS 개념 을 이해해야 합니다.

자신의 서버에서 로컬로 설치하고 재생하십시오. Open Source Geospatial Foundation에 의해 잘 알려진 두 가지 프로젝트 는 GeoServerMapServer 입니다. QGIS 맵 서버도 살펴볼 가치가 있습니다. ArcGIS 서버 는 여기서 비용이 많이 듭니다.

이 부분을 정리하면 클라이언트 라이브러리로 게임을 시작할 수 있습니다.


2

맵 타일을 만들기위한 Mapnik 또는 기타 맵 렌더링 도구

거의 모든 GIS 웹 개발자는 맵 렌더링 도구를 사용하거나 최소한 레이어와 타일의 기본 개념을 이해해야합니다.


감사. 레이어와 타일을 잘 이해한다고 생각합니다. 내가 문제를 일으키는 렌더링 부분입니다.
RK

2

서버 OS, 웹 서버 (IIS, Apache 등) 및 누군가를 위해 모든 것을 수행하더라도 물건을 보호하는 방법을 알고 있습니다.


2

내 코스 (https://www.e-education.psu.edu/geog585/)를 통해 작업 할 수 있습니다.


1

나는 조지의 마지막 주석까지 충분히 강조 할 수 없다. 관심있는 지리 공간 및 / 또는 웹 문제를 선택하고 필요한 기술에 대해 알아 봅니다.

위에 나열된 모든 영역에서 숙달되기까지 시간이 걸리면, 실제로 가려운 곳을 긁는 프로젝트를 만들기 시작하기 전까지는 영원히 지속될 것입니다.

OpenLayers를 사용하여 앱을 빌드하여 기존 데이터 서비스의 데이터를 매핑하는 앱을 시작하는 것이 좋습니다. 그런 다음 고유 한 데이터 소스 또는 서비스를 생성 할 수 있습니다. FLOSS 기술을 고수하면 라이센스 비용 문제없이 어디서나 앱을 빌드하고 사용할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.