Definir grade de precisão para camada GDB de arquivo em Aspose.GIS

Introdução

Neste tutorial, exploraremos como definir uma grade de precisão para uma camada File Geodatabase (GDB) usando Aspose.GIS for .NET. Aspose.GIS é uma biblioteca .NET poderosa que fornece funcionalidade geoespacial abrangente para trabalhar com vários formatos de arquivo GIS.

Pré-requisitos

Antes de começarmos, certifique-se de ter os seguintes pré-requisitos instalados:

  1. Visual Studio: certifique-se de ter o Visual Studio instalado em seu sistema.
  2. Biblioteca Aspose.GIS for .NET: Baixe e instale a biblioteca Aspose.GIS for .NET dolocal na rede Internet.
  3. Conhecimento básico de C#: A familiaridade com a linguagem de programação C# será benéfica para a compreensão dos exemplos de código.

Importar namespaces

Primeiro, vamos importar os namespaces necessários para trabalhar com Aspose.GIS:

using Aspose.Gis;
using Aspose.Gis.Formats.FileGdb;
using Aspose.Gis.Geometries;
using Aspose.Gis.SpatialReferencing;
using System;
using System.Text;

Agora, vamos detalhar cada etapa da definição de uma grade de precisão para uma camada de arquivo GDB.

Etapa 1: criar um conjunto de dados

var path = "Your Document Directory" + "PrecisionGrid_out.gdb";
using (var dataset = Dataset.Create(path, Drivers.FileGdb))
{

Aqui, criamos um novo conjunto de dados em formato File Geodatabase especificando o caminho e usando oDataset.Create método.

Etapa 2: definir opções de grade de precisão

var options = new FileGdbOptions
{
    CoordinatePrecisionGrid = new FileGdbCoordinatePrecisionGrid
    {
        XOrigin = -400,
        YOrigin = -400,
        XYScale = 1e10,
        MOrigin = 0,
        MScale = 1e4,
    },
    EnsureValidCoordinatesRange = true,
};

Nesta etapa, definimos opções de grade de precisão para a camada Arquivo GDB. Especificamos as origens X e Y, escala XY, origem M, escala M e garantimos que os intervalos de coordenadas válidos sejam aplicados.

Etapa 3: crie uma camada

using (var layer = dataset.CreateLayer("layer_name", options, SpatialReferenceSystem.Wgs84))
{

Aqui, criamos uma nova camada dentro do conjunto de dados com o nome e as opções especificadas. Utilizamos o sistema de referência espacial WGS84.

Etapa 4: adicionar recursos à camada

var feature = layer.ConstructFeature();
feature.Geometry = new Point(10, 20) { M = 10.1282 };
layer.Add(feature);
feature = layer.ConstructFeature();
feature.Geometry = new Point(-410, 0) { M = 20.2343 };

Nesta etapa, construímos recursos com geometrias de pontos e os adicionamos à camada. Observe que adicionar um recurso com coordenadas fora da grade de precisão definida gerará uma exceção.

Etapa 5: lidar com exceções

try
{
    layer.Add(feature);
}
catch (GisException e)
{
    Console.WriteLine(e.Message); // O valor X -410 está fora do intervalo válido.
}

Aqui, tratamos de exceções que podem ocorrer ao adicionar feições à camada fora do intervalo de coordenadas válido.

Conclusão

Neste tutorial, aprendemos como definir uma grade de precisão para uma camada de arquivo GDB usando Aspose.GIS for .NET. Seguindo o guia passo a passo, você poderá trabalhar de forma eficiente com dados geoespaciais em seus aplicativos .NET.

Perguntas frequentes

Posso usar o Aspose.GIS for .NET com outros formatos de arquivo GIS?

Sim, Aspose.GIS for .NET suporta vários formatos de arquivo GIS, incluindo Shapefile, GeoJSON, KML e muito mais.

O Aspose.GIS para .NET é compatível com o .NET Core?

Sim, Aspose.GIS for .NET é compatível com .NET Framework e .NET Core.

Posso realizar operações espaciais usando Aspose.GIS for .NET?

Sim, você pode realizar operações espaciais como buffer, interseção e cálculo de distância usando Aspose.GIS for .NET.

O Aspose.GIS for .NET fornece suporte para transformações de coordenadas?

Sim, o Aspose.GIS for .NET fornece suporte para transformações de coordenadas entre diferentes sistemas de referência espacial.

Existe uma versão de teste disponível para Aspose.GIS for .NET?

Sim, você pode baixar uma versão de teste gratuita do Aspose.GIS for .NET no sitelocal na rede Internet.