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
- Převeďte soubory KML do formátu GeoJSON pomocí C#
- Převeďte 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.
- Vytvořte instanci třídy ConversionOptions.
- Přiřaďte SpatialReferenceSystem.Wgs84 objektu ConversionOptions pomocí vlastnosti DestinationSpatialReferenceSystem.
- Převeďte soubor KML do formátu GeoJSON pomocí metody VectorLayer.Convert(string sourcePath, FileDriver sourceDriver, string destinationPath, FileDriver destinationDriver, ConversionOptions options).
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.
- Vytvořte instanci třídy ConversionOptions.
- Přiřaďte SpatialReferenceSystem.Wgs84 objektu ConversionOptions pomocí vlastnosti DestinationSpatialReferenceSystem.
- Převeďte soubor GeoJSON do formátu KML pomocí metody VectorLayer.Convert(string sourcePath, FileDriver sourceDriver, string destinationPath, FileDriver destinationDriver, ConversionOptions options).
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.