지도 렌더링은 지리 공간 데이터에서 시각적 지도를 만드는 것을 말합니다. KML, GeoJSON, GeoTIFF 및 Shapefile의 지도를 다른 파일 형식으로 렌더링할 수 있습니다. PNG, SVG, JPG 등과 같은 다양한 이미지 형식으로 지도를 렌더링할 수 있습니다. 다음 섹션에서는 이미지로의 지도 렌더링을 자세히 설명합니다.
- Shapefile에서 이미지로 매핑 렌더링 – C# API 설치
- C#을 사용하여 프로그래밍 방식으로 Shapefile에서 SVG로 맵 렌더링
- C#에서 프로그래밍 방식으로 Shapefile에서 PNG 이미지로 맵 렌더링
- C#을 사용하여 고급 스타일로 사용자 지정 지도 렌더링
- C#을 사용하여 프로그래밍 방식으로 GeoTIFF 형식에서 SVG로 맵 렌더링
Shapefile에서 이미지로 매핑 렌더링 – C# API 설치
Aspose.GIS for .NET API를 사용하면 다양한 지리 및 지리 공간 파일 형식으로 작업할 수 있습니다. 요구 사항에 따라 지원되는 파일 형식에서 SVG, PNG 및 기타 파일 형식으로 맵을 렌더링할 수 있습니다. New Releases 섹션에서 API를 다운로드하여 구성하거나 패키지 관리자 콘솔에서 다음 NuGet 설치 명령을 사용할 수 있습니다.
PM> Install-Package Aspose.GIS
C#을 사용하여 프로그래밍 방식으로 Shapefile에서 SVG로 맵 렌더링
다음 단계에 따라 shapefile에서 SVG 파일로 맵을 렌더링할 수 있습니다.
- Map 클래스의 새 인스턴스를 만듭니다.
- 벡터 맵 레이어를 만들어 맵에 추가합니다.
- 맵을 파일로 렌더링합니다.
아래 코드는 C#을 사용하여 프로그래밍 방식으로 Shapefile에서 SVG로 맵을 렌더링하는 방법을 자세히 설명합니다.
// Map 클래스의 새 인스턴스를 만듭니다.
using (var map = new Rendering.Map(800, 400))
{
// 벡터 맵 레이어를 생성하여 맵에 추가합니다.
map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));
// 맵을 파일로 렌더링합니다.
map.Render("land_out.svg", Renderers.Svg);
}
C#에서 프로그래밍 방식으로 Shapefile에서 PNG 이미지로 맵 렌더링
shapefile에서 PNG, JPG, BMP 등과 같은 래스터 이미지 형식으로 맵을 렌더링할 수 있습니다. 다음은 shapefile에서 PNG 이미지로 맵을 렌더링하는 단계입니다.
- 차원으로 Map 클래스 객체를 초기화합니다.
- 벡터 맵 레이어를 만들고 추가합니다.
- 지도를 PNG 이미지로 렌더링합니다.
다음 코드는 C#을 사용하여 프로그래밍 방식으로 Shapefile에서 PNG 이미지로의 맵 렌더링을 보여줍니다.
// 차원으로 Map 클래스 객체를 초기화합니다.
using (var map = new Rendering.Map(800, 400))
{
// 벡터 맵 레이어를 만들고 추가합니다.
map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));
// 지도를 PNG 이미지로 렌더링합니다.
map.Render("land_out.png", Renderers.Png);
}
C#을 사용하여 고급 스타일로 사용자 지정 지도 렌더링
고급 피처 스타일을 사용하여 지도 모양을 사용자화할 수 있습니다. 사용자 지정 지도 렌더링을 위해 아래 단계를 따르십시오.
- Map 클래스 객체를 초기화합니다.
- 단순 다각형 심볼라이저에 대해 SimpleFill을 초기화합니다.
- 읽기 위해 입력 shapefile에서 레이어를 엽니다.
- 맵을 파일로 렌더링합니다.
아래 코드는 C#을 사용하여 고급 스타일로 사용자 지정 지도 렌더링을 수행하는 방법을 설명합니다.
// Map 클래스 객체를 초기화합니다.
using (var map = new Rendering.Map(800, 476))
{
// 단순 폴리곤 심볼라이저에 대해 SimpleFill을 초기화합니다.
var baseMapSymbolizer = new Rendering.Symbolizers.SimpleFill { FillColor = Color.Salmon, StrokeWidth = 0.75 };
// 읽기 위해 입력 shapefile에서 레이어를 엽니다.
map.Add(VectorLayer.Open("basemap.shp", Drivers.Shapefile), baseMapSymbolizer);
// SimpleMarker 클래스의 새 인스턴스를 초기화합니다.
var citiesSymbolizer = new Rendering.Symbolizers.SimpleMarker() { FillColor = Color.LightBlue };
citiesSymbolizer.FeatureBasedConfiguration = (feature, symbolizer) =>
{
var population = feature.GetValue<int>("population");
symbolizer.Size = 10 * population / 1000;
if (population < 2500)
{
symbolizer.FillColor = Color.GreenYellow;
}
};
// VectorMapLayer를 지도에 추가합니다.
map.Add(VectorLayer.Open("points.geojson", Drivers.GeoJson), citiesSymbolizer);
// 맵을 파일로 렌더링합니다.
map.Render("cities_out.svg", Renderers.Svg);
}
C#을 사용하여 프로그래밍 방식으로 GeoTIFF 형식에서 SVG로 맵 렌더링
다음 단계에 따라 GeoTIFF에서 SVG 파일로 지도를 렌더링할 수 있습니다.
- Map 클래스 개체를 인스턴스화합니다.
- GeoTIFF 또는 TIFF 형식용 드라이버를 사용하여 읽기용 레이어를 엽니다.
- 맵을 파일로 렌더링합니다.
아래 코드 조각은 C#을 사용하여 프로그래밍 방식으로 GeoTIFF 형식에서 SVG로 지도를 렌더링하는 방법을 보여줍니다.
// Map 클래스 객체를 초기화합니다.
using (var map = new Rendering.Map(500, 500))
{
// GeoTIFF 또는 TIFF 형식용 드라이버를 사용하여 읽기용 레이어를 엽니다.
var layer = GeoTiff.OpenLayer("raster_float32.tif");
// 색상 변환이 자동으로 감지됩니다.
// 최대값과 최소값이 계산되고 선형 보간이 사용됩니다.
map.Add(layer);
// 맵을 파일로 렌더링합니다.
map.Render("raster_float32_out.svg", Renderers.Svg);
}
무료 API 라이선스 받기
API를 제한 없이 테스트하기 위해 무료 임시 라이선스로 API를 평가할 수 있습니다.
결론
이 기사에서는 shapefile 또는 GeoTIFF 형식에서 SVG 또는 PNG, JPG, TIFF 등과 같은 기타 래스터 이미지 형식으로의 지도 렌더링을 배웠습니다. 문서를 방문하여 API의 다른 기능을 탐색할 수 있습니다. 문의 사항이 있는 경우 무료 지원 포럼을 통해 언제든지 문의해 주십시오.