OpenLayers를위한 튜토리얼? [닫은]


12

많은 래스터 레이어를 보여주는 웹 맵을 만들어야합니다. 맵 서버를 사용 중이며 Openlayers를 사용하고 싶지만 좋은 자습서를 찾을 수 없습니다. 좋은 문서가 없다고 말하는 몇 가지 오래된 질문 ( 12 )을 봅니다. 최근에 상황이 변경 되었습니까?

코드에 대한 좋은 설명과 결과 그림 / 예제를 사용하여 기본부터 복잡한 것까지 가르치는 자습서를 찾고 싶습니다. 지금은 .map 파일을 사용하여 가장 간단한 웹 맵만 수행 했지만 범례, 그룹 레이어 추가, 컨트롤 추가, 포함 등 사용자 지정해야합니다.

답변:


7

다른 사람들이 훌륭한 온라인 자습서를 제안했지만 OpenLayers에서 필요한 기초를 많이 제공 한 책에 대해 알려 드리겠습니다.

책은 : Erik Hazzard 's OpenLayers 2.10 Beginner 's Guide. Packt Publishers에서 구할 수 있습니다.

도서관의 모든 주요 부분을 다루기 때문에이 책을 강력히 추천합니다. 기본부터 시작하여 API의 복잡한 부분으로 천천히 성장하도록 도와줍니다.


2
여기 에서 전자 책으로 구입할 수 있으며 £ 14.44에 훌륭합니다.
Mark Cupitt

가격은 액세스 한 국가에 따라 다릅니다. 그것은 대략 $ 3의 가격을 보여주고 있습니다;
Devdatta Tengshe

와우, 나는 필리핀에서 우리가 벌칙을 받고 있다고 생각한다. 당신이 나를 위해 그것을 사 줘야합니다 :-)
Mark Cupitt

조언에 감사드립니다. 방금 친구에게서 책을 받았습니다. 보자 ...
nadya

PirateBrowser와 같은 것을 사용하여 국가를 숨기고 최저 가격으로 구입할 수 있습니까?
레이더 아래

13

위의 훌륭한 답변 외에도 내 경험을 추가하겠습니다. 1 년 반 전에 저는 마스터 프로젝트에서 OL (OpenLayers)을 사용하고 그것을 배우기로 결정했습니다. 저는 1980 년대 초부터 고고학자로서 저의 일의 일환으로 프로그래밍과 디지털지도 제작을 해왔으며 15 년 동안 ArcGIS 사용자였습니다. 프로젝트에 OL을 선택하게되어 기쁘지만 항상 배우는 것이 매끄럽지는 않았습니다. 일부는 명확하지 않았으며 시행 착오에 의해서만 배웠습니다. 그래서 초보자에게 조언이 있습니다.

OL을 배우는 여정은 Safari Books Online에서 월 $ 10 / 달러로 5 슬롯 책장 계정에 가입했을 때 실제로 시작되었습니다. 구입하기 전에 책을 검토하고 싶었고 GIS 관련 컴퓨터 책을 가지고 다닐 수있는 상점은 거의 없었습니다. 현재 OL 2에는 3 권의 책이 있습니다. Di Lorenzo와 Allegri (2013 년 4 월)의 Instant OpenLayers Starter라는 최신 58 페이지의 책은 빠른 시작이지만 처음 두 권의 책과 해당 코드 샘플 (출판사 웹에서 제공) 사이트, 각 책의 무료 샘플 장과 함께 좋은 자료) :

  • OpenLayers 2.10 : Erik Hazzard의 초보자 안내서 (2011 년 3 월)
  • Antonio Santiago Perez의 OpenLayers 요리 책 (2012 년 8 월)

때때로 CSS와 브라우저 호환성에 대한 좌절로 인해 JavaScript 프레임 워크를 배우게되었습니다. 이것이 Perez가 그의 책에서 사용한 것이기 때문에 Dojo를 선택합니다. Modern Dojo (Dojo 1.7 +)는 AMD (Asynchronous Module Definition) 형식을 사용하는 이전 버전과는 상당히 다른 접근법입니다. 모든 일을하는 방식이 바뀌 었습니다. Esri는 2012 년 8 월에 책이 출판되기 9 개월 전에 폐기 된 1.7 이전 버전의 Dojo를 사용한다는 점을 이해하지 못했습니다. Esri는 2012 년 6 월에 현대화 될 때까지 JavaScript ArcGIS API에서 1.7 이전 Dojo를 계속 사용했습니다. 이는 많은 ArcGIS Javascript 개발자에게 고통스러운 전환이었습니다.

Dojo 1.3에 관해 2010 년에 쓰여진 책 이외의 Dojo가 얼마나 잘 지원되지 않는지를 이해하려면 대부분의 책이 2007 년과 2008 년에 쓰여졌습니다. Modern Dojo에 대한 출판 된 책은 없습니다. 웹 사이트에 있습니다. 기본적으로 Perez의 책에서 예제를 사용하려면 Dojo 비트를 무시하고 예제를 일반 JavaScript 또는 선택한 프레임 워크로 이동하기 위해 JavaScript에 대해 충분히 알아야합니다.

돌이켜 보면 ExtJS 프레임 워크와 GeoExt를 함께 사용했으면합니다. 프로젝트가 오픈 소스 인 경우 ExtJS는 무료이며 많은 회사에서 지원되는 버전을 기꺼이 지불하므로 포괄적 인 웹 사이트 설명서 및 자습서에 시간을 할애 할 수 있습니다.

나는 예제를 다루거나 해킹하여 가장 잘 배웁니다. OpenLayers의 개발자는 학습을위한 기본 문서와 동일한 철학을 가지고 있으며 예제를 검토합니다. 그러나 웹 사이트 및 다른 곳의 일부 OL 예제에는 초보자가 넘어 질 수있는 문제가 있습니다. (아래 참조)

문서로서 예제에 의존한다는 것은 또한 사용자가 웹 맵을 개발하기위한 좋은 작업 흐름을 가지고 있지 않다는 것을 의미합니다. 이로 인해 맵이 불완전하게 느껴질 수 있습니다. 예를 들어, 맵 사용자 인터페이스에 대한 CSS 사용자 정의 및 "모양 및 느낌"이 없을 수 있습니다. 사용자 지정으로 OL CSS를 재정의하면 초보자에게는 어려워 보이지만 Firebug는 재정의 해야하는 요소 이름을 찾는 데 도움이 될 수 있습니다. 승인 된 작업 흐름에 대한 감각이 부족하면 사용자가 원하는대로 코드에 기능을 추가 할 때 Frankencode가 생성 될 수 있습니다.

이로 인해 OL 사이트 문서에 부족하다고 생각되는 마지막 항목 인 OL 맵에 대한 "모범 사례"라는 느낌이 듭니다. 모듈화되고 견고하도록 코드를 구성하는 더 좋은 방법이 있습니까? JavaScript 클로저 및 OL 객체의 함정은 무엇입니까? 스타일을 어디에서 선언해야합니까? 등등.

위키의 다양한 오래된 파일 외에도 공식 OL 예제 및 API 문서에서 학습 할 때 초보자가 알아야 할 두 가지 일반적인 문제가 있습니다. 먼저 OL 웹 사이트의 OL 개발 예제 페이지에 대한 조직이 없습니다. 단순히 예제 (2014 년 2 월 13 일 현재 207 개)의 해당 디렉토리 (example-list.xml)에있는 xml 파일의 피드를 제시하고 행을 파일 이름별로 알파벳순으로 그리드에 정렬합니다. 고급 예제는 기본 예제와 혼합되어 있습니다. 키워드로 예제를 검색 할 수 있지만 대부분의 예제에는 키워드가 없으며 검색 기능에는 키워드뿐만 아니라 컨텐츠 및 페이지 제목이 검색에 포함됩니다. 결과는 단어 빈도가 뒤 따르는 가장 많은 수의 검색어와 함께 리턴됩니다. 검색 결과 중 하나만 일치하는 검색어 만 있으면됩니다. OL Wiki의 UserRecipes 페이지에는 범주별로 구성된 약 90 개의 예제가 나열되어 있으며이 분류는 도움이됩니다. 이 중 66 개는 예제 페이지의 예제에 대한 라이브 링크이고 나머지는 제거 된 예제에 대한 잘못된 링크입니다.

둘째, 기본적으로 동일한 두 가지 버전의 API 문서가 있습니다. 공식 API는 / apidocs라는 디렉토리와 최첨단이지만 일시적인 개발자 라이브러리는 / docs라는 디렉토리에 있습니다. 그렇지 않으면 URL이 동일합니다. 트렁크 버전도 있습니다. 다른 버전을 보려면 페이지 주소를 편집하십시오. 위키는 언제라도 라이브러리에서 속성, 함수 등이 제거 될 수 있으므로 개발자 라이브러리에 의존해서는 안된다고 지적합니다. OpenLayers 3이 현실에 가까워짐에 따라 (베타 버전으로 제공되고 있으며 현재 책이 나와 있습니다) 앞으로 OL 2에서 그다지 많은 변화가 없을 것이라고 생각합니다. 지금 초점은 OL 3입니다.

일반적으로, 나는 OL API 페이지가 지나치게 골격 적이며, 특히 더 완전한 API 문서를 가진 라이브러리를 사용하는 사람을 위해 설명이나 예시가 부족한 경우가 많습니다. 그것이 표시되는 방식은 당신이 상속받는 객체에 대한 명확한 그림을 얻지 못합니다.

일반적으로 웹의 OL 예제 중 많은 버전이 개선 된 버전으로 대체되어 더 이상 사용되지 않는 오브젝트 또는 구문을 사용합니다. 예를 들어 Layer.Vector는 이제 버전 3에서 더 이상 사용되지 않으므로 마커를 그리는 데 선호되는 방법입니다. deprecated.js 파일을 검사하여 나가는 객체를 사용하지 않는지 확인하십시오. 또는 최소한 코드를 OL 3으로 업그레이드하는 경우이를 변경해야합니다.

위의 Julien-Samuel Lacroix가 링크 한 Boundless OpenLayers 워크숍 외에도 IBM은 3 년이 지난 OpenLayers, MapServer, Google Gears 및 jQuery를 사용하여 완벽한 GIS 웹 애플리케이션을 구축하는 멋진 튜토리얼을 제공합니다. OpenLayers와 함께 데이터 가져 오기 : 웹 맵에서 여러 분기 소스의 데이터 사용

또한 레이어 스위처 스타일링에 대한 유용한 게시물을 확인하십시오.

Google은 OpenLayers 및 jsFiddle이라는 단어를 사용하여 OL 바이올린의 예를 얻습니다. techslides 사이트의 결과는이 중 몇 가지를 나열한 페이지입니다.

마지막으로, 대부분의 예제에서 맵 이미지는 OSM (OpenStreetMap) 서버에서 온 것으로, 매번 다운되어 계획되거나 계획되지 않은 상태로 분홍색 타일이 표시됩니다. 때로는 코드를 망쳤다 고 생각할 것입니다. OpenStreetMap 위키에서 플랫폼 상태를 확인할 수 있습니다.


2
이것은 좋은 자세한 답변입니다. 사이트에 이런 종류의 답변이 많지 않다는 것은 부끄러운 일입니다.
Devdatta Tengshe

Leta, 전체 답변 감사합니다! 지금은 GeoExt (ExtJS로)와 싸우고, 그것은 OL보다는 자습서에 더 많은 문제가있다, 그 예는 꽤 보면 다음과 같은 :
Nadya를


4

Open Layers는 매우 융통성있는 환상적인 패키지이지만 초보자 용 설명서는 없지만 많은 개발자 설명서가 있습니다.

내가 처음 시작할 때 내가 한 일은 모든 예제 를보고 원하는 기능을 가진 코드를 선택하고 코드를 분석 한 다음 단계별로 기능을 빌드하고 테스트를 진행하는 것이 었습니다. 한 번에 너무 많은 기능을 사용하면 개념과 디버그 문제를 염두에두기가 더 어려워졌습니다.

그런 다음 다른 사람들의 질문을 조사하거나 제 자신을 묻는 특정 문제에 큰 도움이 된 GIS @ SE를 찾았습니다.

그 외에도 @Julian은 자습서 측면에서 최상의 옵션을 제공했을 것입니다.


답변 주셔서 감사합니다, 나는 이미 이러한 예를 보았지만 필요한 것을 찾을 수 없었습니다. 그래서 코딩해야합니다 ...
nadya

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