Mogą wystąpić sytuacje, w których trzeba przekonwertować pliki KML na format GeoJSON lub odwrotnie. W takich przypadkach ten artykuł nauczy Cię, jak konwertować pliki KML do formatu GeoJSON i plików GeoJSON do formatu KML przy użyciu języka C#.
- C# API do konwersji KML na GeoJSON i odwrotnie
- Konwertuj pliki KML do formatu GeoJSON za pomocą C#
- Konwertuj pliki GeoJSON do formatu KML za pomocą C#
C# API do konwersji KML na GeoJSON i odwrotnie
Aspose.GIS for .NET API umożliwia renderowanie map oraz tworzenie, odczytywanie i konwertowanie danych geograficznych bez dodatkowego oprogramowania. Ponadto API umożliwia konwersję plików KML do formatu GeoJSON i odwrotnie. Możesz zainstalować API przez NuGet lub pobrać bezpośrednio z sekcji Downloads.
PM> Install-Package Aspose.GIS
Konwertuj KML na GeoJSON w C#
Poniżej przedstawiono kroki konwersji plików KML do formatu GeoJSON.
- Utwórz instancję klasy ConversionOptions.
- Przypisz SpatialReferenceSystem.Wgs84 do obiektu ConversionOptions za pomocą właściwości DestinationSpatialReferenceSystem.
- Przekonwertuj plik KML na format GeoJSON przy użyciu metody VectorLayer.Convert(string sourcePath, FileDriver sourceDriver, string destinationPath, FileDriver destinationDriver, ConversionOptions options).
Poniższy przykładowy kod pokazuje, jak przekonwertować plik KML na format GeoJSON przy użyciu języka C#.
string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "Kml_File.kml";
string outputFile = dataDir + "output.geojson";
// W razie potrzeby określ ustawienia konwersji. Jest to opcjonalne.
ConversionOptions options = null;
// Ta opcja przypisuje Wgs84 do warstwy docelowej.
// Konwersja może spowodować błąd, jeśli warstwa docelowa nie obsługuje odniesienia przestrzennego Wgs84. Więc trzeba sprawdzić.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
options = new ConversionOptions()
{
DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
};
}
// Konwertuj format pliku z KML na GeoJSON
VectorLayer.Convert(sourceFile, Drivers.Kml, outputFile, Drivers.GeoJson, options);
Konwertuj GeoJSON na KML w C#
Poniżej przedstawiono kroki konwersji plików GeoJSON do formatu KML.
- Utwórz instancję klasy ConversionOptions.
- Przypisz SpatialReferenceSystem.Wgs84 do obiektu ConversionOptions za pomocą właściwości DestinationSpatialReferenceSystem.
- Przekonwertuj plik GeoJSON na format KML, używając metody VectorLayer.Convert(string sourcePath, FileDriver sourceDriver, string destinationPath, FileDriver destinationDriver, ConversionOptions options).
Poniższy przykładowy kod pokazuje, jak przekonwertować plik GeoJSON na format KML przy użyciu języka C#.
string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "intersection.geojson";
string outputFile = dataDir + "output.kml";
// W razie potrzeby określ ustawienia konwersji. Jest to opcjonalne.
ConversionOptions options = null;
// Ta opcja przypisuje Wgs84 do warstwy docelowej.
// Konwersja może spowodować błąd, jeśli warstwa docelowa nie obsługuje odniesienia przestrzennego Wgs84. Więc trzeba sprawdzić.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
options = new ConversionOptions()
{
DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
};
}
// Konwertuj format pliku z GeoJSON na KML.
VectorLayer.Convert(sourceFile, Drivers.GeoJson, outputFile, Drivers.Kml, options);
Uzyskaj bezpłatną licencję
Aby wypróbować API bez ograniczeń ewaluacyjnych, możesz uzyskać bezpłatną licencję tymczasową.
Wniosek
W tym artykule nauczyłeś się, jak konwertować pliki KML do formatu GeoJSON i odwrotnie, używając języka C#. Udostępnione fragmenty kodu pokazują, jak osiągnąć te konwersje za pomocą zaledwie kilku wierszy kodu. Aspose.GIS for .NET to solidny i bogaty w funkcje interfejs API, który pomaga w pracy z danymi geoprzestrzennymi. Możesz szczegółowo zapoznać się z interfejsem API, odwiedzając oficjalną dokumentację. W przypadku jakichkolwiek pytań prosimy o kontakt z nami na naszym bezpłatnym forum pomocy technicznej.