KML과 shapefile (SHP) 형식 간을 변환 하시겠습니까?


답변:


129

오픈 소스 사용 ogr2ogr에서 GDAL / OGR를 :

ogr2ogr -f 'ESRI Shapefile' output.shp input.kml

20
... 그리고 바로 옆에 자연적인 질문을 선점하기 위해, 너무 다른 방식으로 작동합니다 : ogr2ogr -f KML output.kml input.shp
glennon

8
GUI 기반 도구를 사용하려는 경우 QGIS는 ogr2ogr의 프론트 엔드 역할을 할 수 있습니다.
underdark

1
온라인 GDAL / OGR 사이트 힌트 힌트
엿보기를 기원합니다

1
@ mattwilkie 나는 그가 Zamzar.com과 같은 것을 의미한다고 생각합니다. 온라인 전환 서비스
RK

1
"ESRI Shapefile"인수에 큰 따옴표를 사용해야했습니다.
MatthewD

30

ArcGIS 10에는 KML을 피쳐 클래스로 변환하는 KML To Layer 라는 GP 도구 가 있습니다. 새로운 검색을 사용하여 KML을 검색하십시오. 나는 이것을 사용하여 Google에서 기름 유출 kml 피드를 가져 와서 SHP로 변환했습니다.

KML To Layer는 지오 데이터베이스 피처 클래스 만 생성 할 수 있으므로 형상 클래스로 변환하려면 피처 클래스를 피처 클래스로 변환해야합니다.


2
여기에 언급 된 도구는 KML To Layer 인 것처럼 보이지만 지형 데이터베이스로 변환하기 위해 Feature Class To Feature Class 단계를 수행해야하는 지오 데이터베이스 피쳐 클래스 만 작성할 수 있습니다.
PolyGeo

19

ogr2ogr을 사용하십시오. 그러나 명령 행에 관심이 없으면 ogr2ogr 의 정말 간단한 프론트 엔드 인 ogr2gui를 사용해보십시오.


10

ArcGIS에서 KML 또는 KMZ 파일로 게시 된 공간 데이터를 사용하려면 먼저 KML을 피쳐 클래스 (shapefile)로 변환해야합니다. 코네티컷 대학교는 KML에서 KML_to_Shp.tbx라는 shapefile을 작성하는 스크립트를 공개했습니다. 꽤 잘 작동하며 ArcToolbox에서 사용할 수 있습니다. KML은 항상 지리적 좌표 (WGS84) 여야하므로 결국 UTM Zone 15N NAD83으로 변환해야합니다.

모든 새 도구와 마찬가지로 사용하기 전에 설명서를 검토하십시오. 이것은 UCONN의 토지 사용 교육 및 연구 센터 웹 사이트에서 찾을 수 있습니다. 도구 상자에 도구 상자를 추가하고 제한 사항을 이해하면 도구를 사용하는 것이 매우 간단합니다.

http://clear.uconn.edu/tools/kml_to_shp/index.htm


3
UTM Zone 15N NAD83이 항상 필요한 것은 아니며 데이터에 적합한 영역이 필요합니다. WGS84를 사용하여 투사 할 수도 있습니다 (즉, WGS84는 라 트론을 의미하지 않습니다)
Vinko Vrsalovic


10

언급해야 할 또 하나의 상용 제품은 Global Mapper 입니다. 이것은 당신이 상상할 수있는 거의 모든 지리 데이터에 대한 관점, 변환, 재 투영 범주에 속합니다. 나는 내가 가르치는 수업에서 무료 버전을 많이 사용하고 거의 모든 사람들이 이것이 GIS 도구의 스위스 군용 칼에 대해 논평합니다 (무료 버전은 번역을하지 않지만 모든 메뉴와 옵션을 제공합니다). 내 경험에 많은 비용이 들었습니다.


10

다른 답변 외에도 추가 옵션이 있습니다 ...

오픈 소스 FDO 라이브러리를 사용하는 SL-King의 fdo2fdo 응용 프로그램 을 사용하면 KML을 SHP로 변환하고 그 반대로 변환 할 수 있습니다. 여기에는 명령 줄 도구뿐만 아니라 GUI (형식-형식 변환 및보다 사용자 정의 된 스키마 매핑 변환을 표현하는 GUI)가 포함됩니다.

적절한 응용 프로그램의 경우 Safe Software의 FME를 사용하면 소스 정보를 대상에 매핑하는 방법을 놀랍게 제어 할 수 있습니다. ArcGIS가있는 경우 추가 비용 으로 Data Interoperability Extension ( 형식 목록)을 통해 액세스 할 수 있습니다 .

속성이없는 포인트 기능 인 경우 XML과 같이 쉽게 CSV로 가져올 수있는 것으로 구문 분석하는 것이 좋습니다. 좌표 태그 사이의 데이터를 찾고 있습니다.


9

다른 옵션은 ArcGIS에서 작동하는 타사 확장 인 XToolsPro를 사용하는 것입니다. 많은 편리한 변환 도구 중에는 "KML에서 데이터 가져 오기"기능이 있습니다.




8

QGIS는 kml과 shp 간의 변환을 위해 훨씬 강력 해졌습니다. 레이어의 오른쪽 클릭 메뉴에서 다른 이름으로 저장을 사용하십시오. 또는 새 레이어 추가 메뉴에서 해당 파일 형식을 각각 열고 대화 상자에서 파일 형식을 변경하십시오.


6

Safe Software에서 FME를 볼 수도 있습니다 http://www.safe.com .

14 일의 평가판이 있습니다. FME를 사용하면 특정 속성 또는 공간 범위에 따라 KML 포인트 파일을 필터링하는 기능 외에도 데이터 변환 / 마이그레이션 프로세스 중에 KML 파일의 속성을 ESRI SHP 형식으로 매핑 할 수도 있습니다.

사용자로부터 많은 KML 파일 세트가있는 경우 일괄 변환을 수행하는 옵션도 있습니다.

~ SRG


6

명령 줄 제어에 OGR을 사용하면 Google 어스 프로는 다양한 다른 앱과 마찬가지로 변환하는 그래픽 방식을 제공합니다.




4

interop 확장이있는 경우 해당 KML을 ArcMap에 바로로드하고 shp로 내 보냅니다.

Q에 대한 반대 대답이지만 누군가가 그 반대의 경우를 위해 여기에 왔을 경우이 스크립트는 SHP-> KML http://arcscripts.esri.com/details.asp?dbid=14273 에서 완벽하게 작동합니다.




3

KML을 SHP로 변환하기위한 추가 리소스를 추가하기위한 응답에서 보지 못한 몇 가지 옵션은 다음과 같습니다.

MyGeodata 변환기

Keyhole Markup Language 형식을 ESRI Shapefile 형식 (KML to SHP)으로 온라인 변환하는 도구는 개별 및 일괄 변환에 빠르고 사용하기 쉬운 도구입니다. 또한 변환기는 90 개 이상의 기타 벡터 및 래스터 GIS / CAD 형식과 3 000 개 이상의 좌표 참조 시스템을 지원합니다.

무료 지리 도구Zonums 소프트웨어 도구를 다루고 제공합니다.


2

보다 깨끗한 결과를 얻을 수있는 좋고 쉬운 도움은 KML을 GPX로 먼저 변환하고 (수행 할 수있는 여러 가지 오픈 소스 소프트웨어가 있음) 각 데이터를 여는 것입니다 (GPX에는 5 가지 정보 클래스가 있습니다 : 웨이 포인트, 트랙 포인트, QGIS에서 GDAL / OGR의 ogr2ogr을 사용하여 .SHP 파일 형식으로 직접 저장하십시오.

원하는 경우 단일 데이터 파일을 생성하기 위해 대량의 데이터에 대해 일괄 처리 (예 : SAGA의 병합 벡터 레이어 사용)를 사용하는 것이 매우 쉽고 최종 "SHP로 저장"전에 빈 속성을 지울 수도 있습니다.

이상한 결과가 최종 결과에 나타날 경우 목록 체계에 특별한주의를 기울이십시오. 새 벡터 데이터를지도에 추가하는 순간에 적절한 문자를 선택할 수 있습니다.


0

나는 파티에 늦었지만 몇 가지 추가 방법이 있습니다.

  1. Google Fusion Tables 는 KML 포인트 정보를 .csv 형식의 WGS84 X 및 Y로 변환 한 다음 원하는 GIS 분석 소프트웨어에서 사용할 수 있습니다.

  2. R에서 rgdal 패키지 사용 :

    install.packages("rgdal")
    library(rgdal) #load package
    kmlfile=readOGR("yourkmlfilehere.kml") #load KML
    writeOGR(kmlfile,"yourshapepath",layer="shapename", driver="ESRI Shapefile") #save shape

0

다른 팁 : 명령 줄을 사용하여 폴더 / 디렉토리의 여러 KML을 한 번에 shapefile로 변환하려면 폴더에서 cmd를 열고 다음을 입력하십시오.

(* .kml)의 / R % f에 대해 ogr2ogr -f "ESRI Shapefile" "% ~ dpnf.shp" "% f"

참고 : KML 이름을 셰이프 파일 이름으로 사용하므로 KML의 셰이프 파일 이름 형식이 올바른지 확인하십시오. shapefile은 해당 kml과 동일한 디렉토리에 작성됩니다. 하위 디렉토리의 KML도 모양 파일로 변환됩니다.


-1

KML을 Shp 파일 형식으로 변환하려면 ogr2ogr 유틸리티를 사용할 수 있습니다. 먼저 시스템에 설치해야합니다. 이미 설치 한 경우 터미널에 ogr2ogr 유형을 사용하십시오.

이제 변환을 위해 주어진 명령을 실행해야합니다.

--- ogr2ogr -f 'ESRI Shapefile' Output_sahpefile.shp Input_KML.kml

이것은 ogr2ogr로 변환을 수행하는 방법이며 결과를 얻지 못하면 코딩 방법으로 Kml을 shp로 변환 할 수 있습니다.

PHP를 사용하여 수행 할 수도 있습니다. 이 명령을 문자열로 정의한 함수를 작성하고이 문자열을 shell_exec () 메소드에 제공하여 실행할 수 있습니다. Shell_exec ()는 실제로 명령을 실행하고 출력을 문자열로 반환합니다.

public function KML_to_shp($KMLfilepath,$output){
 $query="ogr2ogr -f 'ESRI Shapefile'  $output.gml  $KMLfilepath";
 shell_exec($query);
 }

다음은 명령 행 도구 ogr2ogr 또는 PHP 코드를 사용 하여 kml을 shp로 변환 하는 게시물 입니다. QGIS 도구를 사용하는 경우 QGIS를 사용 하여 변환 하거나 다른 게시물을 계속 사용 하려면 내 블로그 게시물 중 하나를 살펴보십시오 .


1
답변으로 제공하는 웹 사이트와 연결되어 있습니까? 그렇다면 게시물에 기재하십시오.
LaughU

-2

ArcGIS에서 "kml TO LAYER"또는 "Layer to KML"을 검색하십시오. 이 도구는 shapefile 및 KML로 변환하는 데 도움이됩니다.


이 접근 방식은 다른 저자 가 이미 언급 한 것 같습니다 . 또는 새롭거나 향상된 것을 제안 할 수 있습니다.
Taras
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.