지도 렌더링

지도 렌더링은 지리 공간 데이터에서 시각적 지도를 만드는 것을 말합니다. KML, GeoJSON, GeoTIFF 및 Shapefile의 지도를 다른 파일 형식으로 렌더링할 수 있습니다. PNG, SVG, JPG 등과 같은 다양한 이미지 형식으로 지도를 렌더링할 수 있습니다. 다음 섹션에서는 이미지로의 지도 렌더링을 자세히 설명합니다.

Shapefile에서 이미지로 매핑 렌더링 – C# API 설치

Aspose.GIS for .NET API를 사용하면 다양한 지리 및 지리 공간 파일 형식으로 작업할 수 있습니다. 요구 사항에 따라 지원되는 파일 형식에서 SVG, PNG 및 기타 파일 형식으로 맵을 렌더링할 수 있습니다. New Releases 섹션에서 API를 다운로드하여 구성하거나 패키지 관리자 콘솔에서 다음 NuGet 설치 명령을 사용할 수 있습니다.

PM> Install-Package Aspose.GIS

C#을 사용하여 프로그래밍 방식으로 Shapefile에서 SVG로 맵 렌더링

다음 단계에 따라 shapefile에서 SVG 파일로 맵을 렌더링할 수 있습니다.

  1. Map 클래스의 새 인스턴스를 만듭니다.
  2. 벡터 맵 레이어를 만들어 맵에 추가합니다.
  3. 맵을 파일로 렌더링합니다.

아래 코드는 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 이미지로 맵을 렌더링하는 단계입니다.

  1. 차원으로 Map 클래스 객체를 초기화합니다.
  2. 벡터 맵 레이어를 만들고 추가합니다.
  3. 지도를 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#을 사용하여 고급 스타일로 사용자 지정 지도 렌더링

고급 피처 스타일을 사용하여 지도 모양을 사용자화할 수 있습니다. 사용자 지정 지도 렌더링을 위해 아래 단계를 따르십시오.

  1. Map 클래스 객체를 초기화합니다.
  2. 단순 다각형 심볼라이저에 대해 SimpleFill을 초기화합니다.
  3. 읽기 위해 입력 shapefile에서 레이어를 엽니다.
  4. 맵을 파일로 렌더링합니다.

아래 코드는 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 파일로 지도를 렌더링할 수 있습니다.

  1. Map 클래스 개체를 인스턴스화합니다.
  2. GeoTIFF 또는 TIFF 형식용 드라이버를 사용하여 읽기용 레이어를 엽니다.
  3. 맵을 파일로 렌더링합니다.

아래 코드 조각은 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의 다른 기능을 탐색할 수 있습니다. 문의 사항이 있는 경우 무료 지원 포럼을 통해 언제든지 문의해 주십시오.

또한보십시오