Entonces, cuando hablamos de algunas API GIS, la representación de archivos de mapas avanzados parece ser lo primero que se nos viene a la mente. La buena noticia es que la nueva versión Aspose.GIS for .NET 19.4 contiene esta función. No se trata solo de esta versión, ya que también hay muchas otras actualizaciones. Debe leer las notas de la versión para obtener una lista completa de las novedades y las correcciones. Veamos lo que está inspirando allí en este lanzamiento.

Mapa básico de Redner usando C#

Parece que estuvo esperando mucho tiempo para renderizar mapas usando Aspose.GIS y eso es todo, la espera ha terminado ya que esta función se proporciona en la última API para renderizar Shapefile, FileGDB, GeoJSON, KML u otros formatos de archivo admitidos a SVG. Hemos hecho un esfuerzo especial para mantener este proceso simple, es decir, renderizar mapas usando muy pocas líneas de código en aras de la simplicidad y resultados rápidos sin establecer una gran cantidad de propiedades. Solo eche un vistazo a lo simple que es representar un mapa usando C#.

// Para obtener ejemplos completos y archivos de datos, vaya a https://github.com/aspose-gis/Aspose.GIS-for-.NET
using (var map = new Map(800, 400))
{
    map.Add(VectorLayer.Open(dataDir + "land.shp", Drivers.Shapefile));
    map.Render(dataDir + "land_out.svg", Renderers.Svg);
}

Vea lo fácil que es simplemente configurando la resolución de la imagen resultante, seleccionando el controlador de acuerdo con el tipo de archivo de entrada y eso es todo. El mapa está listo para renderizar como SVG.

Aquí está la salida del programa:

Es posible que le preocupe la apariencia y la sensación de que es solo un plano en blanco y negro. ¿Es esta la nueva característica que se esperaba desde hace mucho tiempo? ¡No! esta es solo la salida más simple para mostrar la funcionalidad. Puede personalizar la representación y los estilos de funciones para lograr el aspecto que desea. Aquí hay un código de muestra avanzado que muestra más funciones en esta nueva versión.

// Para obtener ejemplos completos y archivos de datos, vaya a https://github.com/aspose-gis/Aspose.GIS-for-.NET
using (var map = new Map(800, 476))
{
    var baseMapSymbolizer = new SimpleFill { FillColor = Color.Salmon, StrokeWidth = 0.75 };
    map.Add(VectorLayer.Open(dataDir + "basemap.shp", Drivers.Shapefile), baseMapSymbolizer);

    var citiesSymbolizer = new 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;
        }
    };
    map.Add(VectorLayer.Open(dataDir + "points.geojson", Drivers.GeoJson), citiesSymbolizer);

    map.Render(dataDir + "cities_out.svg", Renderers.Svg);
}

Veamos cómo los estilos cambiarán la salida usando el código de muestra anterior:

¡Guau! estupendo. Ahora puede comenzar a trabajar con esta característica usando sus mapas de muestra. ¿Lo es?

Para comprender los detalles del código, visite este artículo en la sección de documentación.

Conversión de datum debido a SRS WKT incompleto

Aspose.GIS ha introducido una nueva función de conversión entre datums cuando la definición SRS WKT no está completa. Para transformar entre SRS geográficos, se requieren parámetros TOWGS84. Si están presentes en la definición de WKT, Aspose.GIS puede transformarse entre cualquier SRS geográfico. Si no están presentes, Aspose.GIS intenta detectar los parámetros TOWGS84 por el nombre SRS. Si esto falla, Aspose.GIS intenta encontrar SRS con los mismos parámetros y un nombre de dato similar, para tomar los parámetros TOWGS84 de un SRS similar.

Otras actualizaciones

Las gradaciones posteriores se realizan para que la biblioteca sea más fácil de usar y libre de errores.

  • Se notificó cierto contenido adicional al final del documento al sobrescribir un archivo existente. Este problema ya no existe.
  • Hubo algunos problemas al especificar rutas en la misma carpeta que el ejecutable, sin embargo, este problema se resolvió ahora.
  • Hubo casos en los que se lanzaron mensajes de error engañosos por un archivo faltante. Era como “Fin de archivo inesperado”, que no indicaba el problema real. Este mensaje está corregido ahora.
  • Había un constructor innecesario en la clase de controlador GPX que se eliminó ahora para evitar confusiones.

Espero que tengas una buena idea sobre este nuevo lanzamiento. Disfrute usando esta última versión y comparta sus opiniones para mejorarla en nuestro foro de soporte.

Recursos de la API