Konvertera Shapefile till KML i C#

Vi kan ha geografiska data tillgängliga i många format som stöds av olika system. I vissa fall kan vi behöva exportera geografiska data från formatet ESRI Shapefile (SHP) till formatet Keyhole Markup Language (KML). Shapefile-formatet är ESRI:s ett av de vanligaste geospatiala vektordataformaten som används för att visa geografisk information. KML är ett XML-baserat format som används för att dela geografiska data med icke-GIS-användare. KML-formatet används för att visa geografiska data i Google Earth eller Google Maps. I den här artikeln kommer vi att lära oss hur man konverterar en shapefil till KML i C#.

Den här artikeln ska täcka följande ämnen:

  1. C# Shapefile to KML Converter
  2. Steg för att konvertera Shapefile till KML
  3. Exportera ShapeFile till KML

C# Shapefile to KML Converter API - Gratis nedladdning

För att konvertera en shapefil till KML kommer vi att använda Aspose.GIS for .NET API. Det tillåter export av shapefile till KML utan att behöva programvara som ArcGIS, ArcMap, QGIS eller Google Earth. API:et tillåter också rendering av kartor, skapande, läsning och konvertering av geografiska data som är tillgängliga i de filformat som stöds.

Klassen ConversionOptions i API ger alternativ för att konvertera data mellan format. Klassen SpatialReferenceSystem tillhandahåller en lista över olika rumsliga referenssystem att använda för att kartlägga koordinater till platser på jorden. Vi har klassen VectorLayer som representerar ett vektorlager i API:t. Metoden Convert(string, FileDriver, string, FileDriver, ConversionOptions) för den här klassen konverterar ett lager till ett annat format.

Vänligen antingen ladda ner API:ts DLL eller installera den med NuGet.

PM> Install-Package Aspose.GIS

Hur man konverterar Shapefile till KML i C#

Vi kan enkelt konvertera en shapefil till KML med Aspose.GIS för .NET genom att följa stegen nedan:

  • Tilldela den rumsliga referensen Wgs84 till destinationslagret.
  • Ladda och konvertera filformat från SHP till KML.

Låt oss nu se hur man utför dessa steg i C# för att konvertera en shapefile-fil till ett KML-format.

Exportera ShapeFile till KML i C#

Följ stegen nedan för att exportera data från en shapefil till KML:

  1. Initiera en instans av klassen ConversionOptions.
  2. Ställ in DestinationSpatialReferenceSystem som Wgs84.
  3. Till sist, anropa VectorLayer.Convert()-metoden för att konvertera källformfilen till KML.

Följande kodexempel visar hur man konverterar en shapefil till KML med C#.

// Detta kodexempel visar hur man konverterar en shapefil till KML i C#.
// Arbetskatalog
string dataDir = @"C:\Files\GIS\";

// Ange konverteringsinställningar vid behov. Det är valfritt.
ConversionOptions options = null;

// Konvertering kan orsaka fel om destinationslagret inte stöder Wgs84 spatial referens. Så måste kolla.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    // Tilldela Wgs84 till destinationslagret
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Konvertera en Shapefil till KML.
VectorLayer.Convert(dataDir + "Shapefile.shp", Drivers.Shapefile, dataDir + "destination.kml", Drivers.Kml, options);

Skaffa en gratis licens

Du kan få en gratis tillfällig licens för att prova biblioteket utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har vi lärt oss hur man konverterar en shapefil till KML i C#. Vi har också sett hur man definierar konverteringsalternativ programmatiskt. Dessutom kan du utforska hur du arbetar med flera andra GIS-filformat och lära dig mer om Aspose.GIS för .NET API med hjälp av dokumentationen. I händelse av oklarheter, var god kontakta oss på vårt forum.

Se även