Shapefile 형식은 ESRI에서 지리 정보를 표시하는 데 사용되는 가장 일반적인 지리 공간 벡터 데이터 형식 중 하나입니다. 어떤 경우에는 지리 데이터를 ESRI Shapefile(SHP) 형식에서 SVG 형식으로 내보내야 할 수도 있습니다. SVG는 이미지의 모양을 설명하기 위한 XML 기반 텍스트 형식입니다. 이 기사에서는 C#에서 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로 쉽게 변환할 수 있습니다.
- 지도를 초기화합니다.
- 지도에 Wgs84 공간 참조를 할당합니다.
- shapefile을 벡터 레이어로 엽니다.
- 맵에 shapefile 레이어를 추가합니다.
- 지도를 SVG 형식으로 렌더링합니다.
이제 이러한 단계를 C# 코드로 변환하고 shapefile 파일을 SVG 형식으로 변환하는 방법을 살펴보겠습니다.
C#에서 ShapeFile을 SVG로 렌더링
셰이프 파일을 SVG로 렌더링하려면 아래 단계를 따르세요.
- 먼저 Map 클래스의 인스턴스를 만듭니다.
- 다음으로 SpatialReferenceSystem을 Wgs84로 설정합니다.
- 그런 다음 SimpleLine 클래스를 사용하여 간단한 선 심볼라이저를 정의합니다.
- 한편 VectorLayer.Open() 메서드를 사용하여 shapefile을 로드합니다.
- 그런 다음 Map.Add() 메서드를 사용하여 맵에 shapefile 레이어를 추가합니다.
- 마지막으로 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에 대해 자세히 알아볼 수 있습니다. 모호한 점이 있는 경우 무료 지원 포럼에서 언제든지 문의해 주십시오.