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

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.

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.

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.

Zobacz też