Desenvolvi ferramentas para proprietários de petróleo que lhes permitem criar polígonos de arrendamentos com base nas descrições legais do PLSS em uma planilha.
A primeira ferramenta reside no Excel e é usada para exportar descrições legais de concessões da planilha para um arquivo xml. A pasta de trabalho contém o VBA que faz referência a uma classe de transferência de dados . A classe é escrita no .NET com um invólucro de chamada COM . O técnico do Excel escreveu o código que percorre as linhas da planilha, instanciando objetos de concessão. Um dos atributos do objeto de concessão é uma descrição legal bem formada. Pode descrever algo como a metade N da seção do quarto SE da Seção 21 do distrito, qualquer que seja o alcance. As concessões de petróleo podem ser aninhadas bem abaixo de 1/128 de uma seção, se bem me lembro. A coleção de concessões é então serializada em um arquivo xml.
A segunda ferramenta reside no Arcmap. O usuário primeiro carrega uma camada de polígono PLSS no mapa (baixado do BLM). Ele então clica em um comando e é solicitado um arquivo xml e uma pasta de saída. O comando usa a mesma dll para desserializar o arquivo xml em uma coleção de objetos de concessão. Em seguida, ele usa as descrições legais dessas concessões para encontrar o polígono da Seção apropriado, depois o divide e subdivide recursivamente, conforme necessário. Esses polígonos são gravados em um shapefile, juntamente com os atributos que estavam originalmente na planilha do Excel.
Não conheço gramática padronizada para essas descrições legais; portanto, eu e o guardião do excel trabalhamos juntos para criar uma. (Se alguém souber de um, por favor grite!). Normalmente, a geocodificação é vista como um processo para gerar locais de pontos. Este caso de uso ilustra uma situação em que a geocodificação produz polígonos. A interpolação desempenha um papel nas duas formas de geocodificação. Com os pontos de geocodificação lineares são interpolados ao longo de uma linha. Com as subseções de geocodificação baseadas em PLSS, as subseções e assim por diante são encontradas interpolando ao longo dos lados dos polígonos para criar linhas de corte. Encontrar os cantos de um polígono pode ser complicado - um polígono geralmente tem mais de 4 vértices. Usando uma origem no centróide do polígono, encontrei o vértice em cada quadrante mais distante da origem.
Se uma gramática padronizada pudesse ser estabelecida, algum lugar como o BLM poderia publicar um serviço de geoprocessamento (GP) que converte descrições legais em polígonos. Esse serviço de GP pode ser usado por outras pessoas para escrever aplicativos da Web que, por exemplo, permitem aos usuários copiar e colar uma descrição legal em uma caixa de texto, pressionar um botão e exibir um polígono em um mapa.