Mohou nastat situace, kdy potřebujete převést soubory KML do formátu GeoJSON nebo naopak. Pro takové případy vás tento článek naučí, jak převést soubory KML do formátu GeoJSON a soubory GeoJSON do formátu KML pomocí C#.

C# API pro převod KML na GeoJSON a naopak

Aspose.GIS for .NET API vám umožňuje vykreslovat mapy a vytvářet, číst a převádět geografická data bez dalšího softwaru. Kromě toho vám API umožňuje převádět soubory KML do formátu GeoJSON a naopak. Rozhraní API můžete nainstalovat buď prostřednictvím NuGet, nebo si jej stáhnout přímo ze sekce Downloads.

PM> Install-Package Aspose.GIS

Převést KML na GeoJSON v C#

Níže jsou uvedeny kroky pro převod souborů KML do formátu GeoJSON.

Následující ukázkový kód ukazuje, jak převést soubor KML do formátu GeoJSON pomocí C#.

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

// V případě potřeby zadejte nastavení převodu. Je to nepovinné.
ConversionOptions options = null;

// Tato volba přiřadí Wgs84 cílové vrstvě.
// Konverze může způsobit chybu Pokud cílová vrstva nepodporuje prostorovou referenci Wgs84. Takže potřeba zkontrolovat.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Převeďte formát souboru z KML do GeoJSON
VectorLayer.Convert(sourceFile, Drivers.Kml, outputFile, Drivers.GeoJson, options);

Převést GeoJSON na KML v C#

Níže jsou uvedeny kroky pro převod souborů GeoJSON do formátu KML.

Následující ukázkový kód ukazuje, jak převést soubor GeoJSON do formátu KML pomocí C#.

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

// V případě potřeby zadejte nastavení převodu. Je to nepovinné.
ConversionOptions options = null;

// Tato volba přiřadí Wgs84 cílové vrstvě.
// Konverze může způsobit chybu Pokud cílová vrstva nepodporuje prostorovou referenci Wgs84. Takže potřeba zkontrolovat.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Převeďte formát souboru z GeoJSON do KML.
VectorLayer.Convert(sourceFile, Drivers.GeoJson, outputFile, Drivers.Kml, options);

Získejte bezplatnou licenci

Abyste mohli API vyzkoušet bez omezení hodnocení, můžete získat bezplatnou dočasnou licenci.

Závěr

V tomto článku jste se naučili, jak převést soubory KML do formátu GeoJSON a naopak pomocí C#. Sdílené úryvky kódu ukazují, jak těchto konverzí dosáhnout pomocí několika řádků kódu. Aspose.GIS for .NET je robustní a na funkce bohaté API, které vám pomáhá při práci s geoprostorovými daty. Rozhraní API můžete podrobně prozkoumat na oficiální dokumentaci. V případě jakýchkoli dotazů nás neváhejte kontaktovat na našem bezplatném fóru podpory.

Viz také