Estou tentando unir as fronteiras dos níveis superior e inferior do nível do Estado dos EUA de maneira a gerar uma tabela PostGIS com os nomes dos níveis superior e inferior para cada forma.
No meu exemplo abaixo, U
é um conjunto de dados e tem uma coluna com linhas UA
e UB
. L
é um outro conjunto de dados e tem LA
, LB
e LC
. Quando L
uno as formas, devo obter as mesmas formas, mas o novo conjunto de dados unido possui as duas colunas de dados.
Edit : Minha imagem de exemplo acima é muito ruim. As respostas até agora foram relacionadas à consulta dos dados, assumindo que a geometria está disponível. Isso é importante, mas está pulando a parte mais confusa da minha pergunta. Um exemplo melhor:
A forma amarela é de U
, a forma laranja é de L
. Observe que eles se sobrepõem, mas algumas partes dos polígonos não estão completamente contidas em outra forma (como no meu exemplo, onde LB
e LC
estão completamente dentro UB
).
A pergunta que eu estava tentando fazer é cortar corretamente as duas camadas para que o conjunto de dados resultante não tenha sobreposições. Veja, por exemplo, esta postagem na lista de discussão que se aproxima, mas não funciona.
Respostas:
Sem saber o nome da sua coluna, este é o meu melhor palpite. (Eu não tive a chance de testar, por isso pode não estar exatamente correto.) Espero que você possa identificar os nomes das colunas que usei. Supondo que L é um subconjunto de U:
fonte
A resposta depende de quão limpos e consistentes são os seus dados. Se você pode assumir que o centróide da tabela L pode ser encontrado dentro do polígono correspondente na tabela U, você pode escrever algo como:
Então você deve conseguir o que deseja. Se você usar toda a geometria em vez do centróide de L, obterá muitas correspondências estranhas.
HTH
Nicklas
fonte