Det kan finnas situationer där du behöver konvertera KML-filer till GeoJSON-format eller vice versa. I sådana fall kommer den här artikeln att lära dig hur du konverterar KML-filer till GeoJSON-format och GeoJSON-filer till KML-format med C#.

C# API för att konvertera KML till GeoJSON och vice versa

Aspose.GIS for .NET API låter dig rendera kartor och skapa, läsa och konvertera geografiska data utan extra programvara. Dessutom tillåter API:et dig att konvertera KML-filer till GeoJSON-format och vice versa. Du kan antingen installera API:t genom NuGet eller ladda ner det direkt från avsnittet Nedladdningar.

PM> Install-Package Aspose.GIS

Konvertera KML till GeoJSON i C#

Följande är stegen för att konvertera KML-filer till GeoJSON-format.

Följande exempelkod visar hur man konverterar en KML-fil till GeoJSON-format med C#.

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

// Ange konverteringsinställningar vid behov. Det är valfritt.
ConversionOptions options = null;

// Detta alternativ tilldelar Wgs84 till destinationslagret.
// Konvertering kan orsaka fel Om destinationslagret inte stöder Wgs84 spatial referens. Så måste kolla.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Konvertera filformat från KML till GeoJSON
VectorLayer.Convert(sourceFile, Drivers.Kml, outputFile, Drivers.GeoJson, options);

Konvertera GeoJSON till KML i C#

Följande är stegen för att konvertera GeoJSON-filer till KML-format.

Följande exempelkod visar hur man konverterar en GeoJSON-fil till KML-format med C#.

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

// Ange konverteringsinställningar vid behov. Det är valfritt.
ConversionOptions options = null;

// Detta alternativ tilldelar Wgs84 till destinationslagret.
// Konvertering kan orsaka fel Om destinationslagret inte stöder Wgs84 spatial referens. Så måste kolla.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Konvertera filformat från GeoJSON till KML.
VectorLayer.Convert(sourceFile, Drivers.GeoJson, outputFile, Drivers.Kml, options);

Skaffa en gratis licens

För att prova API utan utvärderingsbegränsningar kan du få en gratis tillfällig licens.

Slutsats

I den här artikeln har du lärt dig hur du konverterar KML-filer till GeoJSON-format och vice versa med C#. De delade kodavsnitten visar hur man uppnår dessa konverteringar med bara några rader kod. Aspose.GIS för .NET är ett robust och funktionsrikt API som hjälper dig att arbeta med geospatial data. Du kan utforska API:et i detalj genom att besöka den officiella dokumentationen. Om du har några frågor är du välkommen att kontakta oss på vårt gratis supportforum.

Se även