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
- Utwórz programowo plik KML przy użyciu języka C#
- Odczytywanie funkcji z plików KML Programowo przy użyciu języka C#
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:
- Utwórz warstwę
- Zainicjuj feature dla geometrii i atrybutów
- Ustaw wartość różnych atrybutów
- 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:
- Załaduj wejściowy plik KML metodą OpenLayer.
- Uzyskaj liczbę funkcji
- Uzyskaj dostęp do funkcji w określonym indeksie
- 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!