Utwórz plik edycji KML

KML to skrót od Keyhole Markup Language, który jest rozszerzeniem notacji XML. Jest to format pliku GIS i służy do wyświetlania informacji geograficznych. Możesz programowo tworzyć pliki KML, a także odczytywać z nich informacje za pomocą języka C#. Przeanalizujmy następujące sekcje związane z formatem pliku KML:

Tworzenie lub odczytywanie plików KML – instalacja API

Aspose.GIS for .NET API obsługuje pracę z plikami KML wraz z kilkoma innymi obsługiwanymi formatami plików. Zainstalujmy API do manipulowania plikami wektorowymi w aplikacjach opartych na .NET. Musisz pobrać API z sekcji New Releases lub z galerii NuGet za pomocą następującego polecenia instalacyjnego:

PM> Install-Package Aspose.GIS

Po skonfigurowaniu interfejsu API można przystąpić do tworzenia plików KML lub manipulowania nimi. Teraz nie musisz martwić się o drobne szczegóły, ponieważ wystarczy wykonać proste wywołania API. Przejdźmy do dalszych szczegółów:

Utwórz programowo plik KML przy użyciu języka C#

Pliki KML mają strukturę opartą na znacznikach, podobnie jak pliki XML. Możesz używać plików KML do wskazywania lokalizacji, planowania lub śledzenia podróży i wielu innych ważnych scenariuszy. Możesz programowo tworzyć pliki KML przy użyciu języka C#, wykonując poniższe czynności:

  1. Utwórz warstwę
  2. Zainicjuj feature dla geometrii i atrybutów
  3. Ustaw wartość różnych atrybutów
  4. Dodaj obiekt do określonej warstwy

Poniższy fragment kodu to podstawowa i prosta demonstracja, jak programowo tworzyć pliki KML w języku C#:

// Utwórz warstwę
using (var layer = Drivers.Kml.CreateLayer(dataDir + "Kml_File_out.kml"))
{
    // Zainicjuj funkcję dla geometrii i atrybutów
    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));

    // Ustaw wartość różnych atrybutów
    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) });

    // Dodaj obiekt do określonej warstwy
    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);
}

Odczytywanie funkcji z plików KML Programowo przy użyciu języka C#

Podstawowe funkcje pliku KML mogą obejmować oznaczenia miejsc, opisy, ścieżki itp. Przejdźmy do pliku KML, który utworzyliśmy w powyższym przykładzie. Możesz odczytać dowolną funkcję pliku KML, wykonując poniższe czynności:

  1. Załaduj wejściowy plik KML metodą OpenLayer.
  2. Uzyskaj liczbę funkcji
  3. Uzyskaj dostęp do funkcji w określonym indeksie
  4. Przeczytaj cechy pliku KML

Poniższy fragment kodu pokazuje, jak programowo odczytywać funkcje z pliku KML w języku C#:

// Załaduj wejściowy plik KML metodą OpenLayer
using (var layer = Drivers.Kml.OpenLayer(dataDir + "Kml_File.kml"))
{
    // Uzyskaj liczbę funkcji
    int count = layer.Count;

    // Uzyskaj dostęp do funkcji w określonym indeksie
    Feature featureAtIndex1 = layer[0];

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

    Feature featureAtIndex2 = layer[1];

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

Wniosek

W tym artykule zbadaliśmy, jak pracować z plikami KML. Nauczyliśmy się tworzyć plik KML lub programowo odczytywać jego funkcje za pomocą przykładowego kodu C#. Podobnie możesz dowiedzieć się, jak pracować z kilkoma innymi formatami plików GIS. Możesz odwiedzić Dokumentację produktu lub napisać do nas na Bezpłatne forum pomocy, aby omówić wszelkie swoje wątpliwości. Chętnie Ci pomożemy!

Zobacz też