Os dados do mapa podem estar disponíveis em diferentes formatos, como KML, GeoTiff, GeoJSON, Shapefile, etc. Pode haver situações em que você precise renderizar os dados do mapa como imagens BMP. Para isso, este artigo ensinará como renderizar dados de mapas no formato BMP usando C#.
- API C# para renderização de mapa para formato BMP
- Renderize o mapa para o formato BMP usando C#
- Renderizando mapa para projeção específica usando C#
- Adicionar marcador com estilo personalizado usando C#
API C# para renderização de mapa para formato BMP
Usaremos a API Aspose.GIS for .NET para renderizar mapas no formato BMP. É uma API que suporta trabalhar com dados geoespaciais armazenados em vários formatos de arquivo. Ele também oferece a capacidade de renderizar mapas e criar, ler e converter dados geográficos sem nenhum software adicional. Você pode instalar a API por meio do NuGet ou baixá-la diretamente da seção Downloads.
PM> Install-Package Aspose.GIS
Renderize o mapa para o formato BMP usando C#
A seguir estão as etapas para renderizar mapas no formato BMP.
- Crie uma instância da classe Map.
- Crie uma camada vetorial a partir do shapefile e adicione-a ao mapa.
- Renderize o mapa como um BMP usando o método Map.Render(string outputPath, Renderer renderer).
O código de exemplo a seguir mostra como renderizar um mapa para o formato BMP usando C#.
using (var map = new Map(800, 400))
{
map.Add(VectorLayer.Open(dataDir + "land.shp", Drivers.Shapefile));
map.Render(dataDir + "land_out.bmp", Renderers.Bmp);
}
Renderizando mapa para projeção específica usando C#
A seguir estão as etapas para renderizar um mapa para uma projeção específica.
- Crie uma instância da classe Map.
- Crie uma camada vetorial a partir do shapefile e adicione-a ao mapa.
- Configure o sistema de referência espacial do mapa usando a propriedade Map.SpatialReferenceSystem.
- Salve o mapa como uma imagem BMP usando o método Map.Render(string outputPath, Renderer renderer).
O código de exemplo a seguir mostra como renderizar um mapa para uma projeção específica usando C#.
using (var map = new Map(800, 400))
{
map.Add(VectorLayer.Open(dataDir + "land.shp", Drivers.Shapefile));
map.SpatialReferenceSystem = SpatialReferenceSystem.CreateFromEpsg(54024); // World Bonne
map.Render(dataDir + "land_out2.bmp", Renderers.Bmp);
}
Adicionar marcador com estilo personalizado usando C#
A seguir estão as etapas para adicionar um marcador com estilo personalizado a um mapa.
- Crie uma instância da classe Map.
- Crie uma instância da classe SimpleMarker.
- Defina as propriedades do objeto SimpleMarker de acordo com seus requisitos.
- Crie uma camada vetorial a partir do arquivo geojson e adicione-a ao mapa junto com os marcadores.
- Salve o mapa como uma imagem BMP usando o método Map.Render(string outputPath, Renderer renderer).
O código de exemplo a seguir mostra como adicionar um marcador de estilo personalizado a um mapa usando C#.
using (var map = new Map(500, 200))
{
var symbol = new SimpleMarker() { Size = 7, StrokeWidth = 1, FillColor = Color.Red };
map.Add(VectorLayer.Open(dataDir + "points.geojson", Drivers.GeoJson), symbol);
map.Padding = 20;
map.Render(dataDir + "points_out2.bmp", Renderers.Bmp);
}
Obtenha uma licença gratuita
Para experimentar a API sem limitações de avaliação, você pode solicitar uma licença temporária gratuita.
Conclusão
Neste artigo, você aprendeu como renderizar dados de mapa como imagens BMP usando C#. Além disso, você viu como definir as projeções do mapa e adicionar marcadores com estilo personalizado. O Aspose.GIS for .NET é uma API robusta que fornece vários recursos adicionais para trabalhar com dados de mapas. Você pode explorar a API em detalhes visitando a documentação oficial. Em caso de dúvidas, sinta-se à vontade para nos contatar em nosso fórum de suporte gratuito.