C#에서 Shapefile을 KML로 변환

우리는 다양한 시스템에서 지원하는 다양한 형식으로 지리 데이터를 사용할 수 있습니다. 어떤 경우에는 지리 데이터를 ESRI Shapefile(SHP) 형식에서 Keyhole Markup Language(KML) 형식으로 내보내야 할 수도 있습니다. Shapefile 형식은 ESRI에서 지리 정보를 표시하는 데 사용되는 가장 일반적인 지리 공간 벡터 데이터 형식 중 하나입니다. KML은 GIS가 아닌 사용자와 지리 데이터를 공유하는 데 사용되는 XML 기반 형식입니다. KML 형식은 Google 어스 또는 Google 지도에 지리 데이터를 표시하는 데 사용됩니다. 이 기사에서는 C#에서 shapefile을 KML로 변환하는 방법을 배웁니다.

이 문서에서는 다음 주제를 다룹니다.

  1. C# 셰이프파일을 KML로 변환
  2. Shapefile을 KML로 변환하는 단계
  3. ShapeFile을 KML로 내보내기

C# Shapefile to KML 변환기 API - 무료 다운로드

shapefile을 KML로 변환하기 위해 Aspose.GIS for .NET API를 사용할 것입니다. ArcGIS, ArcMap, QGIS 또는 Google Earth와 같은 소프트웨어 없이도 shapefile을 KML로 내보낼 수 있습니다. API는 또한 지원되는 파일 형식에서 사용할 수 있는 지도 렌더링, 생성, 읽기 및 지리 데이터 변환을 허용합니다.

API의 ConversionOptions 클래스는 형식 간에 데이터를 변환하는 옵션을 제공합니다. SpatialReferenceSystem 클래스는 좌표를 지구상의 장소에 매핑하는 데 사용할 다양한 공간 참조 시스템 목록을 제공합니다. API의 벡터 레이어를 나타내는 VectorLayer 클래스가 있습니다. 이 클래스의 Convert(string, FileDriver, string, FileDriver, ConversionOptions) 메서드는 레이어를 다른 형식으로 변환합니다.

API의 DLL을 다운로드하거나 NuGet을 사용하여 설치하십시오.

PM> Install-Package Aspose.GIS

C#에서 Shapefile을 KML로 변환하는 방법

아래 단계에 따라 Aspose.GIS for .NET을 사용하여 shapefile을 KML로 쉽게 변환할 수 있습니다.

  • 대상 레이어에 Wgs84 공간 참조를 할당합니다.
  • SHP에서 KML로 파일 형식을 로드하고 변환합니다.

이제 C#에서 이러한 단계를 수행하여 shapefile 파일을 KML 형식으로 변환하는 방법을 살펴보겠습니다.

C#에서 ShapeFile을 KML로 내보내기

shapefile에서 KML로 데이터를 내보내려면 다음 단계를 따르세요.

  1. ConversionOptions 클래스의 인스턴스를 초기화합니다.
  2. DestinationSpatialReferenceSystem을 Wgs84로 설정합니다.
  3. 마지막으로 VectorLayer.Convert() 메서드를 호출하여 소스 shapefile을 KML로 변환합니다.

다음 코드 샘플은 C#을 사용하여 shapefile을 KML로 변환하는 방법을 보여줍니다.

// 이 코드 예제는 C#에서 shapefile을 KML로 변환하는 방법을 보여줍니다.
// 작업 디렉토리
string dataDir = @"C:\Files\GIS\";

// 필요한 경우 변환 설정을 지정합니다. 선택 사항입니다.
ConversionOptions options = null;

// 대상 레이어가 Wgs84 공간 참조를 지원하지 않는 경우 변환 시 오류가 발생할 수 있습니다. 그래서 확인이 필요합니다.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    // 대상 레이어에 Wgs84 할당
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Shapefile을 KML로 변환합니다.
VectorLayer.Convert(dataDir + "Shapefile.shp", Drivers.Shapefile, dataDir + "destination.kml", Drivers.Kml, options);

무료 라이선스 받기

평가 제한 없이 라이브러리를 사용해 보려면 무료 임시 라이센스를 얻으십시오.

결론

이 기사에서는 C#에서 shapefile을 KML로 변환하는 방법을 배웠습니다. 또한 프로그래밍 방식으로 변환 옵션을 정의하는 방법을 살펴보았습니다. 또한 문서를 사용하여 다른 여러 GIS 파일 형식으로 작업하는 방법과 Aspose.GIS for .NET API에 대해 자세히 알아볼 수 있습니다. 모호한 점이 있는 경우 포럼에서 언제든지 문의하십시오.

또한보십시오