Convertir Shapefile a KML en C#

Es posible que tengamos datos geográficos disponibles en muchos formatos compatibles con varios sistemas. En ciertos casos, es posible que necesitemos exportar datos geográficos del formato ESRI Shapefile (SHP) al formato Keyhole Markup Language (KML). El formato Shapefile es uno de los formatos de datos vectoriales geoespaciales más comunes de ESRI que se utiliza para mostrar información geográfica. El KML es un formato basado en XML, que se utiliza para compartir datos geográficos con usuarios que no son SIG. El formato KML se utiliza para mostrar datos geográficos en Google Earth o Google Maps. En este artículo, aprenderemos cómo convertir un archivo de forma a KML en C#.

Este artículo cubrirá los siguientes temas:

  1. C# Shapefile to KML Converter
  2. Pasos para convertir Shapefile a KML
  3. Exportar ShapeFile a KML

C# Shapefile to KML Converter API - Descarga gratuita

Para convertir un archivo de forma a KML, usaremos la API Aspose.GIS para .NET. Permite exportar shapefile a KML sin necesidad de software como ArcGIS, ArcMap, QGIS o Google Earth. La API también permite la representación de mapas, la creación, la lectura y la conversión de datos geográficos disponibles en los formatos de archivo admitidos.

La clase ConversionOptions de la API proporciona opciones para convertir datos entre formatos. La clase SpatialReferenceSystem proporciona una lista de diferentes sistemas de referencia espacial para usar en el mapeo de coordenadas a lugares en la Tierra. Tenemos la clase VectorLayer que representa una capa vectorial en la API. El método Convert(string, FileDriver, string, FileDriver, ConversionOptions) de esta clase convierte una capa a un formato diferente.

Descargue la DLL de la API o instálela usando NuGet.

PM> Install-Package Aspose.GIS

Cómo convertir Shapefile a KML en C#

Podemos convertir fácilmente un archivo de forma a KML usando Aspose.GIS para .NET siguiendo los pasos que se detallan a continuación:

  • Asigne la referencia espacial Wgs84 a la capa de destino.
  • Cargue y convierta el formato de archivo de SHP a KML.

Ahora, veamos cómo realizar estos pasos en C# para convertir un archivo de forma a un formato KML.

Exportar ShapeFile a KML en C#

Siga los pasos que se indican a continuación para exportar datos de un archivo de forma a KML:

  1. Inicialice una instancia de la clase ConversionOptions.
  2. Establezca DestinationSpatialReferenceSystem como Wgs84.
  3. Finalmente, llame al método VectorLayer.Convert() para convertir el archivo de forma de origen a KML.

El siguiente ejemplo de código muestra cómo convertir un archivo de forma a KML usando C#.

// Este ejemplo de código demuestra cómo convertir un archivo de forma a KML en C#.
// Directorio de trabajo
string dataDir = @"C:\Files\GIS\";

// Especifique la configuración de conversión si es necesario. es opcional
ConversionOptions options = null;

// La conversión puede arrojar un error si la capa de destino no admite la referencia espacial Wgs84. Así que hay que comprobar.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    // Asigne Wgs84 a la capa de destino
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Convierta un Shapefile a KML.
VectorLayer.Convert(dataDir + "Shapefile.shp", Drivers.Shapefile, dataDir + "destination.kml", Drivers.Kml, options);

Obtenga una licencia gratis

Puede obtener una licencia temporal gratuita para probar la biblioteca sin limitaciones de evaluación.

Conclusión

En este artículo, hemos aprendido cómo convertir un archivo de forma a KML en C#. También hemos visto cómo definir las opciones de conversión mediante programación. Además, puede explorar cómo trabajar con varios otros formatos de archivo GIS y obtener más información sobre Aspose.GIS para la API .NET utilizando la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en nuestro foro.

Ver también