Převést OSM na KML v C#

OpenStreetMap (OSM) je projekt s otevřeným zdrojovým kódem. Jeho cílem je vytvořit zdarma editovatelnou geografickou databázi celého světa. Soubor OpenStreetMap (.osm) je výpis z databáze OpenStreetMap uložený jako XML. V určitých případech může být nutné exportovat mapová data z OSM pro zobrazení na Google Earth. Google Earth používá k zobrazení geografických dat soubory KML. V tomto článku se naučíme, jak převést OSM na KML v C#.

Tento článek se bude týkat následujících témat:

  1. Konvertor C# OSM na KML
  2. Kroky pro převod OSM na KML
  3. Převést OSM na KML

C# OSM to KML Converter API – ke stažení zdarma

Pro převod souboru OpenStreetMap (OSM) do KML budeme používat Aspose.GIS for .NET API. Rozhraní API umožňuje export OSM do KML bez potřeby softwaru jako ArcGIS, ArcMap, QGIS nebo Google Earth. Umožňuje také vykreslování map, vytváření, čtení a konverzi geografických dat dostupných v podporované formáty souborů.

Rozhraní API poskytuje třídu VectorLayer, která představuje vektorovou vrstvu. Poskytuje Convert(string, FileDriver, string, FileDriver, ConversionOptions), který převádí vrstvu do jiného formátu. Třída SpatialReferenceSystem poskytuje seznam různých prostorových referenčních systémů pro použití v mapě.

Prosím buď stáhněte si DLL API, nebo jej nainstalujte pomocí NuGet.

PM> Install-Package Aspose.GIS

Jak převést OSM na KML v C#

Soubor OpenStreetMap (OSM) můžeme snadno převést na KML pomocí Aspose.GIS pro .NET podle následujících kroků:

  1. Přiřaďte prostorovou referenci Wgs84 cílové vrstvě.
  2. Převeďte formát souboru z OSM do KML.

Následující část popisuje, jak převést tyto kroky do C# a převést OSM do formátu KML.

Převést OSM na KML v C#

Data můžeme exportovat z OSM do KML podle následujících kroků:

  1. Nejprve vytvořte instanci třídy ConversionOptions.
  2. Poté nastavte DestinationSpatialReferenceSystem jako Wgs84.
  3. Nakonec zavolejte metodu VectorLayer.Convert() pro převod zdrojového OSM na KML.

Následující ukázka kódu ukazuje, jak převést OSM na KML pomocí C#.

// Tento příklad kódu ukazuje, jak převést OSM na 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 OSM do KML.
VectorLayer.Convert("C:\\Files\\sample.osm", Drivers.OsmXml, "C:\\Files\\destination.kml", Drivers.Kml, options);

Získejte bezplatnou licenci

Můžete získat bezplatnou dočasnou licenci a vyzkoušet knihovnu bez omezení hodnocení.

Závěr

V tomto článku jsme se naučili, jak převést OSM na KML v C#. Kromě toho můžete prozkoumat, jak pracovat s několika dalšími formáty souborů GIS a dozvědět se více o API pomocí dokumentace. V případě jakýchkoliv nejasností nás prosím neváhejte kontaktovat na našem bezplatném fóru podpory.

Viz také