GeoTIFF를 KMZ 파일로 일괄 변환


11

약 600MB의 GeoTIFF 맵 파일이 있으며 각 크기는 약 140MB이며 KMZ 파일로 변환하여 사람들이 파일을 다운로드하여 Garmin GPS 장치, Google 어스 등에서 사용할 수 있습니다.

누구나 일괄 처리를 쉽게 수행 할 수있는 방법을 알고 있다면 바람직하게는 프로세스의 일부로 딱딱한 이미지를 훨씬 작은 JPEG 이미지로 변환합니까?

"-co COMPRESS = JPEG"옵션을 사용하여 이미지를 더 작은 것으로 최적화하는 것이 유용한 gdal_translate 를 우연히 발견했습니다 .


G-Raster 가 파일별로 프로세스를 수행 할 수있는 것처럼 보입니다 .
Gavin

글로벌 매퍼 도 가능해 보이지만 KMZ 파일을 다운로드하는 사람들로부터 이익을 얻지 않기 때문에 약간 비쌉니다.
Gavin

OkMap 은 좋은 출력을 생성하지만 유용한 배치 처리 옵션이 없습니다.
Gavin

1
이미지가 큰 경우 최대 1 메가 픽셀로 타일을 바둑판 식으로 배열해야 할뿐만 아니라 Garmin 핸드 헬드가 사용자 지정 맵으로 허용하도록 동일한 KMZ 내에서 100 타일을 초과해서는 안됩니다. WGS84 위도 여야합니다. Garmin KMZ 지원에 대한 자세한 내용 은 garmin 포럼 을 참조하십시오.
Stefan

결국 OkMap을 사용하여 수동으로 프로세스를 완료했습니다. 모두의 의견을 보내 주셔서 감사합니다.
Gavin

답변:


15

gdal_translate의 최신 버전은 KML Superoverlay를 지원합니다. GDAL 웹 사이트에 아직 문서화되어 있지는 않지만 다음을 사용할 수 있습니다.

gdal_translate.exe -of KMLSUPEROVERLAY c : \ in.tif c : \ out.kmz -co FORMAT = JPEG

jpeg 압축을 사용하여 타일 버전을 kmz 파일로 저장합니다.

Windows에서는 다음을 사용하여 자동화 할 수 있습니다.

forfiles / m * .tif / c "KMLSUPEROVERLAY @FILE @ FNAME.kmz -co FORMAT = JPEG의"cmd / c gdal_translate.exe "

입력 파일이 WGS84에 있다고 가정합니다.


1
불행히도 방금 제작 한 KMZ가 Garmin Custom Map 호환 KMZ 파일이 아니라는 것을 발견했습니다.
Gavin

왜 호환되지 않는지 아십니까?
Adam Mills

SuperOverlay의 구조가 다릅니다. 그것은 kmz의 전체 무리가있는 kmz입니다. Garmin 형식은 jpg 폴더와 jpg의 범위를 설명하는 doc.kml 파일이있는 kmz입니다. 왜 대체 구조가 있는지 모르겠지만 개인적으로 Garmin 형식 클리너를 발견했습니다 ... 가즘 대부분의 Garmin 데이터 구조가 싫어서 이상합니다.
Mike

@Gavin 솔루션을 찾은 적이 있습니까? 나는 같은 문제라고 생각하는 것을 겪고 있습니다. 이 질문을 참조하십시오 .
gerrit

@gerrit 죄송합니다. 곧 다시 볼 것들 목록에 있습니다.
Gavin

0

Geotiff 파일의 크기가 각각 140MB 인 경우 결과 jpg 파일은 여전히 ​​상당히 클 수 있습니다. 파일을 더 작은 파일로 나누면 더 쉽게 표시 될 수 있습니다. KML Superoverlay를 생성하는 옵션이있는 http://www.maptiler.org/ 를 사용하여 하나의 파일로 시도 할 수 있습니다. MapTiler가 모든 파일을 일괄 처리하는 데 적합하지는 않지만 사용하기 쉬우므로 예비 테스트를 수행하는 것이 좋습니다.

원하는대로 작동하면 GDAL2Tiles를 사용하여 모든 파일을 일괄 처리하십시오 . 나는 그것을 시도하지 않았지만 MapTiler가 GDAL2Tiles를 기반으로하기 때문에 가능해야한다고 생각합니다.


OkMap 은이를 수행합니다-GeoTIFF를 가져 와서 KMZ 파일에서 사용하기 위해 여러 개의 작은 이미지로 분할합니다. gdal2tiles는 편리한 도구입니다. 아직 kmz를 만드는 방법을 찾지 못했습니다. 좀 더 연주합니다.
Gavin

OkMap은 처음입니다. 그것은 그것을 볼 것입니다, 그것은 흥미로운 프로그램 인 것 같습니다.
이름

gdal2tiles는 거의 있지만 OkMap 은 훨씬 더 우아한 결과를 생성합니다. 타일 ​​크기는 OkMap에 의해 계산되어 원본 이미지를 효율적으로 분할하여 정사각형 타일이 아닌 직사각형 타일을 허용하므로 투명 영역을 추가로 피할 수 있습니다. 어떻게 든 파일을 일괄 처리하도록 OkMap을 자동화 / 명령 줄 OkMap 할 수 있는지 궁금합니다.
Gavin

0

gdal2tiles.py 가 도움이 될 것 같지만 KML에서 이미지를 사용한 적이 없습니다 . OS에 따라 다양한 방식으로 일괄 변환을 수행 할 수 있습니다. CMD가있는 Windows에서 명령 : DIR 경로 > yourfile .txt (파일 목록 생성), .txt를 Excel / OpenOffice로 가져 와서 정리하고 GDAL 구문을 추가하십시오. filename.bat로 저장하고 명령 행에서 실행하십시오.


나는 익숙하고 정기적으로 gdal2tiles를 사용하지만 kmz를 뱉어 내기 위해 어떤 설정을 사용 해야하는지 확실하지 않습니다. 어떤 아이디어?
Gavin

1
kml 출력과 이미지를 압축 한 다음 zip 파일의 이름을 kmz 확장자로 바꾸는 경우 일뿐입니다.
Gavin

그게 다야. 이미지를 압축하려면 어떤 종류의 데이터 유형인지 살펴보고 더 효율적인 메모리로 변경해야합니다.
Tomek

gdal2tiles는 거의 있지만 OkMap 은 훨씬 더 우아한 결과를 생성합니다. 타일 ​​크기는 OkMap에 의해 계산되어 원본 이미지를 효율적으로 분할하여 정사각형 타일이 아닌 직사각형 타일을 허용하므로 투명 영역을 추가로 피할 수 있습니다. 어떻게 든 파일을 일괄 처리하도록 OkMap을 자동화 / 명령 줄 OkMap 할 수 있는지 궁금합니다.
Gavin


0

ArcGIS에서 사용할 Python 스크립트를 여기에 게시했습니다.

해상도를 잃지 않고 3GB ArcGIS Raster를 KML로 내보내기?

다른 모델은 다른 수의 타일을 지원합니다. 이 제한 사항, 사용하려는 이미지의 범위 및 사용하려는 최소 해상도를 확인해야합니다. 그런 다음 원본 이미지에서 여러 파일을 만들고 스크립트 도구를 사용하여 이미지의 각 섹션을 처리 한 다음 필요할 때 랩톱에서 GPS로 파일을 전송해야합니다 (Garmin은 한 번에 1 개의 "사용자 지정 맵"만 지원) . 많은 * map 모델은 100 1024x1024 타일 만 지원합니다. 콜로라도와 몬태나는 더 많은 것을 지원합니다. 타일 ​​크기를 2048 x 2048로 변경하여 실험했지만 여전히 작동하는 것으로 보였으며 한 번에 더 많은 데이터를 허용합니다.

귀하의 경우에는 몇 개의 다중 공연 이미지로 모자이크 하고이 큰 영역의 이미지를 처리하고 사용자가 Google 어스에서 이미지를 하위 집합으로 만들고 거기에서 자신의 kmz를 저장하도록 할 것입니다. Garmin이 jnx 형식을 지원하고 Birdseye 구독을 판매하기 때문에 Custom Maps는 의도적으로 매우 제한적입니다. 또는 장치를 해킹하도록 강요합니다.


0

OkMap Desktop (전체, 유료)에는 Garmin Custom Map 호환 KMZ 파일 생성을위한 배치 기능이 포함되어 있습니다.

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