C#에서 Shapefile을 SVG로 변환

Shapefile 형식은 ESRI에서 지리 정보를 표시하는 데 사용되는 가장 일반적인 지리 공간 벡터 데이터 형식 중 하나입니다. 어떤 경우에는 지리 데이터를 ESRI Shapefile(SHP) 형식에서 SVG 형식으로 내보내야 할 수도 있습니다. SVG는 이미지의 모양을 설명하기 위한 XML 기반 텍스트 형식입니다. 이 기사에서는 C#에서 shapefile을 SVG로 변환하는 방법을 배웁니다.

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

  1. C# 셰이프파일을 SVG로 변환하는 변환기
  2. Shapefile을 SVG로 변환하는 단계
  3. ShapeFile을 SVG로 렌더링

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

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

API의 Map 클래스는 Renderer를 통해 서로 겹쳐서 렌더링할 수 있는 레이어 모음입니다. SpatialReferenceSystem 클래스는 지도에 사용할 다양한 공간 참조 시스템 목록을 제공합니다. SimpleLine 클래스를 사용하여 간단한 벡터 라인 심볼라이저를 정의할 수 있습니다. API의 벡터 레이어를 나타내는 VectorLayer 클래스가 있습니다. 이 클래스의 Open(string, FileDriver) 메서드를 사용하여 shapefile을 벡터 레이어에 로드할 수 있습니다. 읽기용 레이어를 엽니다.

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

PM> Install-Package Aspose.GIS

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

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

  1. 지도를 초기화합니다.
  2. 지도에 Wgs84 공간 참조를 할당합니다.
  3. shapefile을 벡터 레이어로 엽니다.
  4. 맵에 shapefile 레이어를 추가합니다.
  5. 지도를 SVG 형식으로 렌더링합니다.

이제 이러한 단계를 C# 코드로 변환하고 shapefile 파일을 SVG 형식으로 변환하는 방법을 살펴보겠습니다.

C#에서 ShapeFile을 SVG로 렌더링

셰이프 파일을 SVG로 렌더링하려면 아래 단계를 따르세요.

  1. 먼저 Map 클래스의 인스턴스를 만듭니다.
  2. 다음으로 SpatialReferenceSystem을 Wgs84로 설정합니다.
  3. 그런 다음 SimpleLine 클래스를 사용하여 간단한 선 심볼라이저를 정의합니다.
  4. 한편 VectorLayer.Open() 메서드를 사용하여 shapefile을 로드합니다.
  5. 그런 다음 Map.Add() 메서드를 사용하여 맵에 shapefile 레이어를 추가합니다.
  6. 마지막으로 Map.Render() 메서드를 호출하여 SVG로 저장합니다. 출력 SVG 파일 경로와 Renderers.Svg를 인수로 사용합니다.

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

// 이 코드 예제는 shapefile을 SVG로 변환하는 방법을 보여줍니다.
// 파일 디렉토리
string dataDir = "C:\\Files\\GIS\\";

// 맵 초기화
var map = new Map(800, 400);

// 지정된 SRS 사용
map.SpatialReferenceSystem = SpatialReferenceSystem.Wgs84;

// 지정된 스타일을 사용하여 선 그리기
// 점, 선 및 표면에 대한 스타일도 있습니다.
var symbolizer = new SimpleLine() 
{ 
    Width = Measurement.Pixels(2) 
};

// shapefile을 레이어로 열기
var shapefileLayer = VectorLayer.Open(dataDir + "buildings.shp", Drivers.Shapefile);

// 맵에 shapefile 레이어 추가
map.Add(shapefileLayer, symbolizer);

// 지도를 Svg 형식으로 렌더링
map.Render(dataDir + "buildings_out.svg", Renderers.Svg);

무료 라이선스 받기

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

결론

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

또한보십시오