Skapa Redigera KML-fil

KML är en förkortning för Keyhole Markup Language som utökas från XML-notation. Det är ett GIS-filformat och används för att visa geografisk information. Du kan skapa KML-filer programmatiskt, samt läsa information från dem med hjälp av språket C#. Låt oss utforska följande avsnitt relaterade till KML-filformat:

Skapa eller läsa KML-filer – API-installation

Aspose.GIS for .NET API stöder arbete med KML-filer tillsammans med flera andra filformat som stöds. Låt oss installera API:et för att manipulera vektorfilerna i .NET-baserade applikationer. Du måste ladda ner API:t från New Releases-sektionen eller från NuGet-galleriet med följande installationskommando:

PM> Install-Package Aspose.GIS

Efter att ha konfigurerat API:et är du redo att skapa eller manipulera KML-filer. Nu behöver du inte oroa dig för mindre detaljer eftersom du bara behöver göra enkla API-anrop. Låt oss gå vidare till ytterligare detaljer:

Skapa KML-fil programmatiskt med C#

KML-filer följer den taggbaserade strukturen som XML-filerna. Du kan använda KML-filer för att lokalisera platser, planera eller spåra dina resor och många andra viktiga scenarier. Du kan skapa KML-filer programmatiskt med C# med följande steg:

  1. Skapa ett lager
  2. Initiera funktion för geometri och attribut
  3. Ange värde för olika attribut
  4. Lägg till funktionen till ett specifikt lager

Följande kodavsnitt är en grundläggande och enkel demonstration av hur man skapar KML-filer programmatiskt i C#:

// Skapa ett lager
using (var layer = Drivers.Kml.CreateLayer(dataDir + "Kml_File_out.kml"))
{
    // Initiera funktion för geometri och attribut
    layer.Attributes.Add(new FeatureAttribute("string_data", AttributeDataType.String));
    layer.Attributes.Add(new FeatureAttribute("int_data", AttributeDataType.Integer));
    layer.Attributes.Add(new FeatureAttribute("bool_data", AttributeDataType.Boolean));
    layer.Attributes.Add(new FeatureAttribute("float_data", AttributeDataType.Double));

    // Ange värde för olika attribut
    Feature feature = layer.ConstructFeature();
    feature.SetValue("string_data", "string value");
    feature.SetValue("int_data", 10);
    feature.SetValue("bool_data", true);
    feature.SetValue("float_data", 3.14);
    feature.Geometry = new LineString(new[] { new Point(0, 0), new Point(1, 1) });

    // Lägg till funktionen till ett specifikt lager
    layer.Add(feature);

    Feature feature2 = layer.ConstructFeature();
    feature2.SetValue("string_data", "string value2");
    feature2.SetValue("int_data", 100);
    feature2.SetValue("bool_data", false);
    feature2.SetValue("float_data", 3.1415);
    feature2.Geometry = Geometry.Null;

    layer.Add(feature2);
}

Läs funktioner från KML-filer Programmatiskt med C#

De grundläggande funktionerna i en KML-fil kan inkludera platsmärken, beskrivningar, sökvägar, etc. Låt oss fortsätta med KML-filen som vi har skapat i exemplet ovan. Du kan läsa alla funktioner i en KML-fil med följande steg:

  1. Ladda in KML-fil med metoden OpenLayer
  2. Få funktioners räkning
  3. Få tillgång till en funktion vid ett specifikt index
  4. Läs funktionerna i KML-filen

Kodavsnittet nedan visar hur man läser funktioner från en KML-fil programmatiskt i C#:

// Ladda in KML-fil med OpenLayer-metoden
using (var layer = Drivers.Kml.OpenLayer(dataDir + "Kml_File.kml"))
{
    // Få funktioners räkning
    int count = layer.Count;

    // Få tillgång till en funktion vid ett specifikt index
    Feature featureAtIndex1 = layer[0];

    Console.WriteLine(featureAtIndex1.GetValue<string>("string_data"));

    Feature featureAtIndex2 = layer[1];

    Console.WriteLine(featureAtIndex2.GetValue<string>("string_data"));
}

Slutsats

I den här artikeln har vi utforskat hur man arbetar med KML-filer. Vi har lärt oss hur man skapar en KML-fil eller läser dess funktioner programmatiskt med hjälp av C#-exempelkoden. På samma sätt kan du utforska hur du arbetar med flera andra GIS-filformat. Du kan besöka Produktdokumentation eller skriva till oss på Free Support Forum för att diskutera dina problem. Vi hjälper dig gärna!

Se även