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
- Konvertera KML-filer till GeoJSON-format med C#
- Konvertera 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.
- Skapa en instans av klassen ConversionOptions.
- Tilldela SpatialReferenceSystem.Wgs84 till objektet ConversionOptions med hjälp av egenskapen DestinationSpatialReferenceSystem.
- Konvertera KML-filen till GeoJSON-format med metoden VectorLayer.Convert(string sourcePath, FileDriver sourceDriver, string destinationPath, FileDriver destinationDriver, ConversionOptions options).
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.
- Skapa en instans av klassen ConversionOptions.
- Tilldela SpatialReferenceSystem.Wgs84 till objektet ConversionOptions med hjälp av egenskapen DestinationSpatialReferenceSystem.
- Konvertera GeoJSON-filen till KML-format med metoden VectorLayer.Convert(string sourcePath, FileDriver sourceDriver, string destinationPath, FileDriver destinationDriver, ConversionOptions options).
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.