Převést Shapefile na KML v C#

Můžeme mít k dispozici geografická data v mnoha formátech podporovaných různými systémy. V určitých případech můžeme potřebovat exportovat geografická data z formátu ESRI Shapefile (SHP) do formátu Keyhole Markup Language (KML). Formát Shapefile je jedním z nejběžnějších formátů geoprostorových vektorových dat ESRI používaných k zobrazení geografických informací. KML je formát založený na XML, který se používá ke sdílení geografických dat s uživateli bez GIS. Formát KML se používá k zobrazení geografických dat v aplikaci Google Earth nebo v Mapách Google. V tomto článku se naučíme, jak převést shapefile do KML v C#.

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

  1. C# Shapefile to KML Converter
  2. Kroky k převodu Shapefile do KML
  3. Exportovat ShapeFile do KML

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

K převodu shapefile do KML použijeme Aspose.GIS for .NET API. Umožňuje exportovat shapefile do KML bez potřeby softwaru jako ArcGIS, ArcMap, QGIS nebo Google Earth. API také umožňuje vykreslování map, vytváření, čtení a konverzi geografických dat dostupných v podporované formáty souborů.

Třída ConversionOptions rozhraní API poskytuje možnosti pro převod dat mezi formáty. Třída SpatialReferenceSystem poskytuje seznam různých prostorových referenčních systémů pro použití při mapování souřadnic k místům na Zemi. Máme třídu VectorLayer, která představuje vektorovou vrstvu v API. Metoda Convert(string, FileDriver, string, FileDriver, ConversionOptions) této třídy převede vrstvu do jiného formátu.

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

PM> Install-Package Aspose.GIS

Jak převést Shapefile do KML v C#

Tvarový soubor můžeme snadno převést na KML pomocí Aspose.GIS pro .NET podle následujících kroků:

  • Přiřaďte prostorovou referenci Wgs84 cílové vrstvě.
  • Načtěte a převeďte formát souboru z SHP do KML.

Nyní se podívejme, jak provést tyto kroky v C# pro převod souboru shapefile do formátu KML.

Export ShapeFile do KML v C#

Chcete-li exportovat data ze souboru shape do KML, postupujte podle následujících kroků:

  1. Inicializujte instanci třídy ConversionOptions.
  2. Nastavte DestinationSpatialReferenceSystem jako Wgs84.
  3. Nakonec zavolejte metodu VectorLayer.Convert() a převeďte zdrojový soubor shapefile na KML.

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

// Tento příklad kódu ukazuje, jak převést shapefile na KML v C#.
// Pracovní adresář
string dataDir = @"C:\Files\GIS\";

// V případě potřeby zadejte nastavení převodu. Je to nepovinné.
ConversionOptions options = null;

// 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))
{
    // Přiřaďte Wgs84 cílové vrstvě
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Převést Shapefile na KML.
VectorLayer.Convert(dataDir + "Shapefile.shp", Drivers.Shapefile, dataDir + "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 shapefile na KML v C#. Také jsme viděli, jak programově definovat možnosti převodu. Kromě toho můžete prozkoumat, jak pracovat s několika dalšími formáty souborů GIS a dozvědět se více o Aspose.GIS for .NET API pomocí dokumentace. V případě jakýchkoliv nejasností nás neváhejte kontaktovat na našem fóru.

Viz také