태그 보관물: openlayers

openlayers

작은 웹 매핑 / 맵 타일링 서비스 만들기 접근 방식이 생겨나 고 혼란 스러웠습니다.

하나 이상의 다각형 셰이프 파일을 온라인으로 제공하는 소규모의 쉬운 방법을 찾고 있습니다 (기존의 맵 서버 인프라가없는 시립 웹 사이트에서). 지금은 QGIS에서 모든 작업을 수행하고 있으며 모든 오픈 소스를 유지하는 것을 선호합니다 (큰 소프트웨어 투자에는 예산이 남아 있지 않습니다).

이 주제를 연구 한 결과, 가능한 많은 접근 방식이 생겨나 고 혼란 스러웠습니다. 내가 찾고있는 것은

  • 주제별지도에 분류 된 다각형을 표시 할 수 있음 (-가능한 경우 팝업을 얻거나 속성 정보를 검색 할 수는 있지만 매우 선택적임)
  • QGIS에서 대부분의 작업 (스타일링 등)을 선호합니다
  • 기본 맵으로서의 OSM은 완벽하게 괜찮을 것입니다

지금까지 OSM 기본 맵의 사용자 지정 맵 타일은 내가 찾고있는 것 같습니다 (또는 더 나은 솔루션이 있습니까)? 이 타일을 만드는 가장 좋은 방법은 무엇입니까?



답변

QGIS로 시작하는 간단한 방법으로 일반적인 QGIS 인터페이스를 사용하여 디자인 한 맵을 제공 할 수있는 QGIS Mapserver 를 사용할 수 있습니다. 또는 Java 기반이며 설치가 쉬운 GeoServer를 사용 하는 것이 좋습니다. 하나의 프로그램으로 시작하여 나중에 전환해야하는 경우 두 프로그램 모두 공개 표준을 사용하여 맵을 제공하므로 클라이언트를 변경할 필요가 없습니다.

WMS 맵을 제공하도록 시스템을 설정 한 후에는 클라이언트 프런트 엔드가 필요합니다. 시작하기가 쉽고 간단하게 확장 할 수 있으므로 OpenLayers 를 추천 합니다. 문제없이 WMS, WMST 및 OSM 타일을 처리합니다.

궁극적으로 WMS 계층의 타일로 이동해야 할 수도 있습니다 (예 : 합리적인 하드웨어에서 분당 50-100 개 이상의 요청을 받기 시작 함). 맵 서버 앞에 타일 캐시를 배치하는 것이 좋습니다. GeoServer를 사용했다면 내장 된 GeoWebCache를 사용하거나 TileCache를 사용할 수 있습니다 .


답변

주제별지도에 분류 된 다각형을 표시 할 수 있음 (-가능한 경우 팝업을 얻거나 속성 정보를 검색 할 수는 있지만 매우 선택적임)

QGIS에서 대부분의 작업 (스타일링 등)을 선호합니다

기본 맵으로서의 OSM은 완벽하게 괜찮을 것입니다

이 모든 것은 QGIS와 ogr2layers플러그인 내에서 수행 할 수 있습니다 . 워크 플로우는 간단합니다 :

  1. QGIS에서 데이터 스타일을 지정하십시오. 플러그인을 New Symbology사용할 때 문제가 있었으므로 이전 심볼을 사용하십시오 ogr2layers.

  2. ogr2layers플러그인을 시작하고 열린 레이어 설정 (예 :지도 크기,지도 컨트롤,베이스 맵 등)을 정의하십시오. 그러면 파일 index.html로 변환 된 데이터 레이어가 포함 된 디렉토리가 생성 됩니다 geojson.

  3. 웹 서버에 디렉토리를 업로드하십시오.

이것은 간단한 웹맵 전용입니다. 사용자 정의베이스 맵 및 기타 웹 매핑 기능을 만들려면 iant 및 Peter의 답변을 확인하십시오.


답변

또 다른 옵션은 TileMill 그것은라는 프로토 CSS 언어 스타일의 정의를 포함, 사용하는 웹 기반 인터페이스에 쉬운 상호 작용과지도 제작, 바둑판 지원 – cascadenik . TileMill를 사용하면 척척 수 mbtiles의 같은과 소비 할 수있는 파일 TileStream을 . 즉, 매핑 된 출력을 배포하는 데 여전히 몇 가지 트릭이 있지만 고품질 타일을 생성하기위한 좋은 플랫폼을 제공합니다.


답변

타 일드 맵 서비스를 위해 어떤 방식으로 갔는지에 대한 정보를 제공하기로 결정했습니다. 순수한 JavaScript와 GeoJSON은 해결책이 아니 었습니다. 왜냐하면 대략 40k 다각형과 33k 포인트를 처리해야하기 때문입니다. 그래서 나는 바둑판 식으로 갔다. 아, 여전히 루트 서버에 액세스 할 수 없으므로 GeoServer 또는 이와 유사한 것을 설정할 수 없습니다 (현재 단일 클라이언트에게는 경제적으로 가능하지 않음)

조사하고 읽은 후에 마침내 OpenLayers에 정착했습니다 (일부 GMaps를 선보인 후). Eric Hazzard의 훌륭한 저서 “OpenLayers 2.10″(Packt Publishing, 2011)은 JavaScript의 기본 사항과 디버깅 팁도 다루므로 정말 도움이되었습니다.

물론 모든 벡터 데이터 작업을 QGIS에서 수행했습니다. 물론 저와 같은 작은 프리랜서를 찾아 갈 수있는 방법입니다 (대학의 ArcGIS도 알고 있지만 QGIS는 지금까지 필요한 모든 것을 제공했습니다).

맵의 스타일을 지정하고 타일을 만드는 것이 더 큰 도전이었습니다. 먼저 CASA의 ” GMapCreator ” 와 함께 갔지만 여러 셰이프 파일을 계층화하는 것은 지루한 것으로 판명되었습니다 (다각형에 점 데이터를 제공 한 다음 모든 것을 포함하는 도시 경계선을 제공해야 함). GMapsCreator에서이 작업을 수행하는 것이 절대적으로 가능하지만 (쇼케이스 단계에서 수행했습니다), 3 번의 전체 렌더링주기가 필요합니다 (먼저 타일을 생성 한 다음 기존 타일이 이후 기능으로 “오버 페인 드”됩니다-올바른 순서로 렌더링 중요합니다!), 스타일 메뉴는 약간 부피가 크고 혼란 스럽습니다. 맵을 저장하고 나중에 편집하는 것도 복잡한 문제입니다.

TileMill은 매우 유망한 것으로 보 였으며 특히 CSS와 같은 스타일이 좋았습니다. 불행히도, 그것은 Mac 또는 Linux 전용이므로 일부 사람들을 놀라게 할 수 있습니다. 나는 내가 본 것을 정말 좋아해서 하드 드라이브에 Ubuntu 파티션을 설정하고 다운로드하여 맵 스타일을 지정했습니다. 스타일링 구문에 대한 문서는 때때로 조금 드물지만 데모 비디오 (주 사이트에 링크 됨)를 보는 것이 거의 모든 것에 응답합니다. 중첩 및 / 또는 조건부 스타일을 사용하여 흥미로운 작업을 수행 할 수 있으며 기본 CSS에 대한 이해를 통해 원하는 곳으로 이동할 수 있습니다.

결국 TileMill은 멋진 단일 * .mbtiles 파일을 렌더링합니다. OpenLayers에 직접 표시하는 방법이 없다고 생각합니다 (적어도 찾을 수 없습니까?) . 다른 도구 인 mbutil 을 사용해야 했습니다 . 이 도구는 mbtiles-File을 선택된 확대 / 축소 레벨에서 내 데이터의 타일 된 png가 포함 된 일반 폴더 구조로 “압축 해제”합니다.

마지막으로 모든 파일을 FTP 서버에 업로드하고 OL을 많이 읽고 웹 맵을 작성하고 진행했습니다 (생성 된 타일을 TMS 레이어로 추가하지만 올바른 소스 URL과 레이어 이름을 추측하는 데 시간이 오래 걸렸습니다. 인터넷 검색)에 이어 기본적인 html / CSS 문제로 몇 시간을 허비했습니다. 고객 “회사”(이것은 지방 자치 단체) ID 지침에 따라 떠 다니는 범례가있는 100 % 너비 / 높이 맵을 원했습니다.

아, 지금까지 Google지도를 기본 레이어로 사용하지만 WMS를 통해 제공되는 일부 맞춤형 항공 사진 (나가 제공하지 않고 주 측량 및 지리 데이터 관리)으로 곧 대체 될 수 있습니다.

중요한 점은 잊어 버리지 않았 으면 좋았 으면 자유롭게 물어보십시오! 이 스레드를 가끔 확인하겠습니다.


답변

다각형이 1000 개 미만인 경우 벡터 솔루션에 대한 @Mapperz의 의견을 고려하십시오. 다수의 다각형 만있는 경우 비대화 형 타일 ​​이미지 를 만들고 저장할 필요가 없습니다 .

바둑판 식 이미지는 위성 이미지, 도로 또는 50,000 인구 조사 다각형을 표시하는 등 밀도가 높은 정보에 적합합니다.

소수의 다각형에 대한 가장 간단한 해결책은 모양 파일을 KML로 변환하여 Google 내지도에 업로드하는 것입니다.

Javascript로 코딩하는 경우 가장 대화식 ​​솔루션은 다각형을 그리고 정보 팝업 창을 만드는 Google Maps API (또는 OpenLayers)입니다. GDAL 라이브러리를 사용하여 shapefile 다각형을 geoJSON 파일 (지리 정보를 저장하는 Javascript 방식)로 변환하여 시작할 수 있습니다.

또는 타일 경로를 사용하는 경우 사내 번거 로움없이 Amazon 또는 Google 클라우드에 타일을 저장할 수 있습니다.

이 주제별 매핑 블로그 항목 에는 고려중인 타일 방식에 비해 벡터 방식의 장점이 요약되어 있습니다.

행운을 빕니다!


답변

나는 같은 결론을 내릴 때까지 천천히 노력하고 있기 때문에 당신은 배우자라고 생각합니다. QGIS를 배운 후 quantamnik과 mapnik을 시도했습니다. 그러나 qgis 스타일링은 편도 여행이며 스타일링 시스템은 1로 1이 아니므로 mapnik 스타일링을 알아야합니다. qgis mapserver 내보내기 기능에도 동일하게 적용됩니다. 맵 서버에서 기술을 익히는 “쉬운 방법”이없는 것 같습니다.

Mapnik, geoserver, mapserver, 각각의 헌신자가있는 것처럼 보이지만 mapserver는 중간 도로 인 것 같습니다.

내가 찾은 바로 가기가 하나 있으며 qgis는 qgis 맵을 선택한 해상도 및 범위로 래스터 화하는 명령 행 옵션이 있으며 월드 파일을 만듭니다. 이를 통해 maptiler 또는 gdal2tiles를 사용하여 한 번에 하나의 레이어를 타일링 할 수 있습니다. 분명히 20 줌 레벨에는 좋지 않으며 최대 png 크기 제한이 무엇인지 알지 못합니다.


답변