OpenLayers에서 이미지를 렌더링 하시겠습니까?


11

우리 조직에는 전 세계 및 지역 기후 데이터를 표시하기위한 웹 응용 프로그램이 있으며 개선을 고려하고 있습니다. 우리의 주요 아이디어는 OSM 또는 Google지도와 같은 기본 계층에 기후 래스터를 표시하는 OpenLayers 기반 응용 프로그램을 만드는 것입니다. 맵은 또한 일부 다른 애플리케이션 특정 벡터 레이어 및 컬러 바 또는 데이터를 설명하는 다른 범례 특징을 포함 할 수있다. 내가 알 수 있듯이 OpenLayers 로이 모든 것이 가능해 보입니다.

그러나 프로젝트의 한 가지 요구 사항은 ( 이상적으로웹앱 에서) 출판 품질 (거의 또는 더 적은)지도 를 내보낼 수 있어야 합니다. 일반적인 사용 사례는 다음과 같습니다.

  1. 기본 레이어를 가이드로 사용하는 사용자는 관심 영역으로 이동합니다.
  2. 사용자는 기후 매개 변수 (예 : 2040 년대의 평균 온도) 또는 매개 변수 세트를 선택합니다.
  3. 사용자는 "내보내기"버튼을 누른 다음 첫 번째 단락에 설명 된 모든 요소가 포함 된 양질의 맵을 다운로드합니다.

OpenLayers에서 이미지 렌더링에 대한 내용을 찾을 수 없었습니다. 이것이 가능한지 아는 사람이 있습니까? 그리고 렌더링에 대한 다른 접근 방법이 없다면? 모든 맵 매개 변수 (bbox, 투영, 포함 된 레이어 등)를 외부 렌더링 엔진으로 전달해야한다고 가정합니다. 어떤 오픈 소스 렌더링 엔진이 있습니까?


www.mapsdata.co에서 png / pdf로 내보내기 및 openlayers 맵 인쇄를 구현했습니다. 등록하고 확인할 수 있습니다.
Rayiez

답변:


12

내가 아는 오픈 레이어에서 예쁜 인쇄 맵을 표시하는 주요 방법은 다음과 같습니다.

Geoext가 포함 된 Geoserver

-Geoext가있는 메기

두 솔루션 모두 Java 부분에 의존합니다 (예 : http://geoserver.org/display/GEOS/Printing+in+GeoServer 또는 http://www.mapfish.org/doc/print/ )

-Openlayers 독립형 (공식 문서 http://trac.openlayers.org/wiki/Printing 참조 )

최근 기술은 PhantomJS와 이미지 (소프트웨어가 명령 줄에서 브라우저를 시뮬레이션) 렌더링 보인다 http://acuriousanimal.com/blog/2012/09/17/creating-static-maps-in-openlayers-using-phantomjs/을

일부 최근 라이브러리는 브라우저 캔버스 렌더링 기능을 사용하여이 OpenLayers 3 예제 또는 이 Leaflet 과 같은 이미지를 "잡기"



2

"게시물 품질"을 얻으려면 300dpi를 원하므로 화면 렌더링을 위해 열린 레이어에 전달하는 맵을 사용하는 것은 아마도 시작이 아닙니다.

OpenStreetMap의 내보내기 탭은 OpenLayers를 사용하여 내보낼 항목을 선택한 다음 별도의 백엔드 서버 프로세스 (실제로는 여러 가지 선택)로 렌더링합니다. 이것은 아마도 당신이해야 할 접근 방식입니다. 이를 위해 Google지도를 사용할 수 없습니다.


"게시 품질"은 아마도 svg 또는 다른 벡터 형식을 의미 할 것입니다. 그리고 그 용어로 말하면, 아마도 mapnik이나 planet.osm 파일에서베이스 맵을 렌더링하기 위해 무언가를 사용하고 싶을 것입니다. 그런 다음 일부 이미지 라이브러리를 사용하여 다른 요소 (기후 래스터, 범례 요소, 특성)를 오버레이 할 수 있습니다. 당신은 아마 Gmaps가 아마 수출업자를 위해 아마도 (다양한 기술적, 기술적이지 않은 이유로) 나올 것입니다. 어쨌든 모든 답변에 감사드립니다.
Hiebert
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.