KML é abreviado para Keyhole Markup Language, que é estendido da notação XML. É um formato de arquivo GIS e é usado para exibir informações geográficas. Você pode criar arquivos KML programaticamente, bem como ler informações deles usando a linguagem C#. Vamos explorar as seguintes seções relacionadas ao formato de arquivo KML:
- Criando ou lendo arquivos KML – Instalação da API
- Criar arquivo KML programaticamente usando C#
- Leia recursos de arquivos KML programaticamente usando C#
Criando ou lendo arquivos KML – Instalação da API
A API Aspose.GIS for .NET suporta trabalhar com arquivos KML junto com vários outros formatos de arquivo suportados. Vamos instalar a API para manipular os arquivos vetoriais em aplicativos baseados em .NET. Você precisa baixar a API da seção New Releases ou da galeria NuGet com o seguinte comando de instalação:
PM> Install-Package Aspose.GIS
Depois de configurar a API, você está pronto para criar ou manipular arquivos KML. Agora você não precisa se preocupar com pequenos detalhes porque você só precisa fazer chamadas de API simples. Passemos a mais detalhes:
Criar arquivo KML programaticamente usando C#
Os arquivos KML seguem a estrutura baseada em tags, como os arquivos XML. Você pode usar arquivos KML para identificar locais, planejar ou rastrear suas viagens e muitos outros cenários importantes. Você pode criar arquivos KML programaticamente usando C# com as etapas abaixo:
- Crie uma camada
- Inicialize recurso para geometria e atributos
- Definir valor de diferentes atributos
- Adicione o recurso a uma camada específica
O snippet de código a seguir é uma demonstração básica e simples de como criar arquivos KML programaticamente em C#:
// Criar uma camada
using (var layer = Drivers.Kml.CreateLayer(dataDir + "Kml_File_out.kml"))
{
// Inicializar recurso para geometria e atributos
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));
// Definir valor de diferentes atributos
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) });
// Adicione o recurso a uma camada específica
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);
}
Leia recursos de arquivos KML programaticamente usando C#
Os recursos básicos de um arquivo KML podem incluir marcadores, descrições, caminhos etc. Vamos prosseguir com o arquivo KML que criamos no exemplo acima. Você pode ler qualquer recurso de um arquivo KML com as etapas abaixo:
- Carregar arquivo KML de entrada com o método OpenLayer
- Obter contagem de recursos
- Acesse um recurso em um índice específico
- Leia os recursos do arquivo KML
O snippet de código abaixo mostra como ler recursos de um arquivo KML programaticamente em C#:
// Carregar arquivo KML de entrada com o método OpenLayer
using (var layer = Drivers.Kml.OpenLayer(dataDir + "Kml_File.kml"))
{
// Obter contagem de recursos
int count = layer.Count;
// Acesse um recurso em um índice específico
Feature featureAtIndex1 = layer[0];
Console.WriteLine(featureAtIndex1.GetValue<string>("string_data"));
Feature featureAtIndex2 = layer[1];
Console.WriteLine(featureAtIndex2.GetValue<string>("string_data"));
}
Conclusão
Neste artigo, exploramos como trabalhar com arquivos KML. Aprendemos como criar um arquivo KML ou ler seus recursos programaticamente com a ajuda do código de exemplo C#. Da mesma forma, você pode explorar como trabalhar com vários outros formatos de arquivo GIS. Você pode visitar Documentação do produto ou escrever para nós no Fórum de suporte gratuito para discutir qualquer uma de suas preocupações. Adoraríamos ajudá-lo!