Kaip konvertuoti KML į SHP naudojant C#

Šiame straipsnyje pateikiama informacija apie tai, kaip konvertuoti KML į SHP naudojant C#, bendrinant aplinkos tinkinimo veiksmus ir apibrėžiant reikalingą šios programos rašymo procedūrą. Gausite žingsnis po žingsnio komandų rinkinį, kuris paryškins visas reikalingas klases, vardų sritis ir metodus, reikalingus konvertavimui. Galų gale bendrinamas vykdomas pavyzdinis kodas, kad KML konvertuotų į SHP naudojant C#, kurį galima vykdyti MS Windows, palaikančioje .NET arba Linux ir macOS, palaikančioje .NET Core.

KML konvertavimo į SHP veiksmai naudojant C#

  1. Sukurkite kūrimo aplinką, kad įdiegtumėte Aspose.GIS for .NET iš NuGet paketų tvarkyklės
  2. Deklaruokite ConversionOptions tipo kintamąjį, kad tinkintumėte procesą
  3. Patikrinkite, ar paskirties sluoksnio tipas palaiko konkrečią erdvinių nuorodų sistemą
  4. Nustatykite norimą erdvinės atskaitos sistemos ypatybę ConversionOptions klasės objekte
  5. Naudojant VectorLayer. Konvertavimo metodas konvertuoti šaltinio KML į SHP naudojant pasirinktas parinktis

Šie aiškūs veiksmai padeda rašyti KML į Shapefile konverterį naudojant C#, nes pateikiami ištekliai, kurie turi būti įdiegti pavyzdiniam kodui paleisti. Šį procesą galima užbaigti neatliekant jokio tinkinimo, tačiau siekiant geriau suprasti, įvedama “ConversionOptions” klasė, kurią galima naudoti norint nustatyti skirtingus parametrus. Paskutiniame etape įvedamas tikrasis metodas, kuris atlieka konversiją kartu su pasirenkamu parametru su norimomis savybėmis.

Kodas pakeisti KML į SHP naudojant C#

using Aspose.Gis;
using Aspose.Gis.SpatialReferencing;
namespace AsposeProjects
{
class Program
{
static void Main(string[] args) // Main function to Convert KML to SHP using C#
{
// Load license
Aspose.Gis.License lic = new Aspose.Gis.License();
lic.SetLicense(@"Aspose.Total.lic");
// Create ConversionOptions if required
ConversionOptions options = new ConversionOptions();
// This options assigns Wgs84 to the destination layer.
// Conversion may throw error If destination layer does not support the Wgs84 spatial reference. So need to check.
//
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs72))
options.DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs72;
// Convert file format from KML to Shapefile.
VectorLayer.Convert("source.kml", Drivers.Kml, "destination.shp", Drivers.Shapefile, options);
System.Console.WriteLine("Done");
}
}
}

Paskutinę kodo eilutę galite naudoti tik su pirmaisiais keturiais parametrais, tačiau jei paskirties sluoksniui norite priskirti konkrečią erdvinių nuorodų sistemą, tik tada galite naudoti klasės objektą ConversionOptions. “ConversionOptions” klasėje yra kitų ypatybių, tokių kaip “AttributeConverter”, “DestinationDriverOptions”, “DestinationSpatialReferenceSystem” ir “SourceDriverOptions”, kurias galima konfigūruoti, jei reikia. Šis pavyzdinis kodas demonstruoja visą KML į Shapefile konverterį naudojant C#, kurį galima naudoti tokį, koks jis yra.

Čia išmokome rašyti KML į SHP konverterį naudojant C#, tačiau jei norite konvertuoti Shapefile į Geojson, galite žiūrėti straipsnį apie kaip konvertuoti SHP į Geojson C#.

 Latviski