Renderowanie map odnosi się do tworzenia map wizualnych z danych geoprzestrzennych. Możesz renderować mapy z KML, GeoJSON, GeoTIFF, a także Shapefile do różnych formatów plików. Mapy można renderować do różnych formatów obrazów, takich jak PNG, SVG, JPG itp. Poniższe sekcje omówią renderowanie map do obrazów:
- Renderowanie map z pliku Shape do obrazów – instalacja C# API
- Renderuj mapę z Shapefile do SVG programowo przy użyciu C#
- Renderuj mapę z Shapefile do obrazu PNG programowo w C#
- Niestandardowe renderowanie map z zaawansowanym stylem przy użyciu języka C#
- Renderuj mapę z formatu GeoTIFF do SVG Programowo przy użyciu C#
Renderowanie map z pliku Shape do obrazów – instalacja C# API
Aspose.GIS for .NET API umożliwia pracę z różnymi formatami plików geograficznych i geoprzestrzennych. Możesz renderować mapy z obsługiwanych formatów plików do SVG, PNG i innych formatów plików zgodnie z własnymi wymaganiami. Skonfiguruj interfejs API, pobierając go z sekcji New Releases lub użyj następującego polecenia instalacyjnego NuGet w konsoli menedżera pakietów.
PM> Install-Package Aspose.GIS
Renderuj mapę z Shapefile do SVG programowo przy użyciu C#
Możesz renderować mapę z pliku kształtu do pliku SVG, wykonując następujące czynności:
- Utwórz nową instancję klasy Map.
- Utwórz warstwę mapy wektorowej i dodaj ją do mapy.
- Wyrenderuj mapę do pliku.
Poniższy kod wyjaśnia, jak programowo renderować mapę z pliku Shapefile do SVG przy użyciu języka C#;
// Utwórz nową instancję klasy Map.
using (var map = new Rendering.Map(800, 400))
{
// Utwórz warstwę mapy wektorowej i dodaj ją do mapy.
map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));
// Wyrenderuj mapę do pliku.
map.Render("land_out.svg", Renderers.Svg);
}
Renderuj mapę z Shapefile do obrazu PNG programowo w C#
Możesz renderować mapę z pliku kształtu do formatu obrazu rastrowego, takiego jak PNG, JPG, BMP itp. Poniżej przedstawiono kroki renderowania mapy z pliku kształtu do obrazu PNG:
- Zainicjuj obiekt klasy Map z wymiarami.
- Utwórz i dodaj warstwę mapy wektorowej.
- Renderuj mapę do obrazu PNG.
Poniższy kod pokazuje programowe renderowanie mapy z pliku Shapefile do obrazu PNG przy użyciu języka C#:
// Zainicjuj obiekt klasy Map z wymiarami.
using (var map = new Rendering.Map(800, 400))
{
// Utwórz i dodaj warstwę mapy wektorowej.
map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));
// Renderuj mapę do obrazu PNG.
map.Render("land_out.png", Renderers.Png);
}
Niestandardowe renderowanie map z zaawansowanym stylem przy użyciu języka C#
Możesz dostosować wygląd mapy za pomocą zaawansowanych stylów obiektów. Wykonaj poniższe czynności, aby uzyskać niestandardowe renderowanie mapy:
- Zainicjuj obiekt klasy Map.
- Zainicjuj SimpleFill dla prostego symbolizatora wielokątów.
- Otwórz warstwę z wejściowego pliku kształtu do odczytu.
- Wyrenderuj mapę do pliku.
Poniższy kod wyjaśnia, jak wykonać niestandardowe renderowanie mapy z zaawansowanym stylem przy użyciu języka C#:
// Zainicjuj obiekt klasy Map.
using (var map = new Rendering.Map(800, 476))
{
// Zainicjuj SimpleFill dla prostego symbolizatora wielokątów.
var baseMapSymbolizer = new Rendering.Symbolizers.SimpleFill { FillColor = Color.Salmon, StrokeWidth = 0.75 };
// Otwórz warstwę z wejściowego pliku kształtu do odczytu.
map.Add(VectorLayer.Open("basemap.shp", Drivers.Shapefile), baseMapSymbolizer);
// Zainicjuj nową instancję klasy 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;
}
};
// Dodaj VectorMapLayer do mapy.
map.Add(VectorLayer.Open("points.geojson", Drivers.GeoJson), citiesSymbolizer);
// Renderuj mapę do pliku.
map.Render("cities_out.svg", Renderers.Svg);
}
Renderuj mapę z formatu GeoTIFF do SVG Programowo przy użyciu C#
Możesz renderować mapę z GeoTIFF do pliku SVG, wykonując następujące czynności:
- Utwórz instancję obiektu klasy Map.
- Otwórz warstwę do odczytu za pomocą sterownika formatu GeoTIFF lub TIFF.
- Renderuj mapę do pliku.
Poniższy fragment kodu pokazuje, jak programowo renderować mapę z formatu GeoTIFF do SVG przy użyciu języka C#:
// Zainicjuj obiekt klasy Map.
using (var map = new Rendering.Map(500, 500))
{
// Otwórz warstwę do odczytu za pomocą sterownika formatu GeoTIFF lub TIFF.
var layer = GeoTiff.OpenLayer("raster_float32.tif");
// Konwersja na kolory jest wykrywana automatycznie.
// Obliczane są wartości maksymalne i minimalne oraz stosowana jest interpolacja liniowa.
map.Add(layer);
// Renderuj mapę do pliku.
map.Render("raster_float32_out.svg", Renderers.Svg);
}
Uzyskaj bezpłatną licencję API
Możesz ocenić interfejs API z Bezpłatną licencją tymczasową do testowania interfejsu API bez żadnych ograniczeń.
Wniosek
W tym artykule nauczyłeś się renderowania map z formatu shapefile lub GeoTIFF do SVG lub innych formatów obrazów rastrowych, takich jak PNG, JPG, TIFF itp. Możesz zapoznać się z innymi funkcjami interfejsu API, odwiedzając Dokumentacja. W przypadku jakichkolwiek pytań prosimy o kontakt za pośrednictwem Bezpłatne forum pomocy technicznej.