Puede haber situaciones en las que necesite convertir archivos KML al formato GeoJSON o viceversa. Para tales casos, este artículo le enseñará cómo convertir archivos KML a formato GeoJSON y archivos GeoJSON a formato KML usando C#.

API de C# para convertir archivos KML a GeoJSON y viceversa

Aspose.GIS for .NET La API le permite representar mapas y crear, leer y convertir datos geográficos sin software adicional. Además, la API le permite convertir archivos KML a formato GeoJSON y viceversa. Puede instalar la API a través de NuGet o descargarla directamente desde la sección Descargas.

PM> Install-Package Aspose.GIS

Convierta archivos KML a formato GeoJSON usando C#

Los siguientes son los pasos para convertir archivos KML a formato GeoJSON.

El siguiente código de muestra muestra cómo convertir un archivo KML al formato GeoJSON usando C#.

string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "Kml_File.kml";
string outputFile = dataDir + "output.geojson";

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

// Esta opción asigna Wgs84 a la capa de destino.
// 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))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Convertir formato de archivo de KML a GeoJSON
VectorLayer.Convert(sourceFile, Drivers.Kml, outputFile, Drivers.GeoJson, options);

Conversión de archivos GeoJSON a formato KML usando C#

Los siguientes son los pasos para convertir archivos GeoJSON a formato KML.

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

string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "intersection.geojson";
string outputFile = dataDir + "output.kml";

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

// Esta opción asigna Wgs84 a la capa de destino.
// 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))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Convierta el formato de archivo de GeoJSON a KML.
VectorLayer.Convert(sourceFile, Drivers.GeoJson, outputFile, Drivers.Kml, options);

Obtenga una licencia gratis

Para probar la API sin limitaciones de evaluación, puede solicitar una licencia temporal gratuita.

Conclusión

En este artículo, ha aprendido cómo convertir archivos KML a formato GeoJSON y viceversa usando C#. Los fragmentos de código compartidos demuestran cómo lograr estas conversiones con solo unas pocas líneas de código. Aspose.GIS for .NET es una API robusta y rica en funciones que lo ayuda a trabajar con datos geoespaciales. Puede explorar la API en detalle visitando la documentación oficial. Si tiene alguna pregunta, no dude en comunicarse con nosotros en nuestro foro de soporte gratuito.

Ver también