Temos dados rasterizados gerados a partir de paredes (verticais). Gostaríamos de manter esses dados em um banco de dados postgis e ter a referência espacial codificada "da maneira mais precisa".
Atualmente, eles são salvos ao abusar de um CRS métrico e codificam a coordenada z da parede como y e o deslocamento do lado esquerdo da parede como x. Isso fornece um sistema de referência local que funciona para sua finalidade, mas perde o contexto global.
Para dados vetoriais, é fácil atribuir a cada vértice uma coordenada 3D para localizá-lo no espaço (global). É isso que deve ser criado com base nos dados de varredura (use uma interface de usuário GIS para digitalizar áreas de interesse no topo dessas paredes).
Além disso, várias paredes podem estar situadas próximas umas das outras e deve ser possível visualizá-las nesse contexto (basta apenas funcionar se tiverem o mesmo azimute).
Existem algumas abordagens disponíveis sobre como isso pode ser resolvido:
Use um CRS personalizado no espaço vertical, que tem sua origem com base em uma coordenada do mundo real. No entanto, onde exatamente essa "referência de origem" seria armazenada ainda não está claro.
- Salve as informações no CRS (isso é possível?) - Exigiria vários CRS diferentes para cada plano de referência.
- Use uma chave estrangeira para uma linha (veja linhas vermelhas na amostra) - Situação atual, informações redundantes (e se o comprimento da linha não corresponder à largura da varredura?)
- Crie um polígono 3D como plano de referência - Informações redundantes, veja acima
- Crie um ponto de origem na linha, que em combinação com o azimute da linha possa ser o plano de referência - Paredes diferentes compartilhariam o mesmo plano de referência?
Todas as abordagens parecem ser de alguma forma "soluções alternativas" e têm suas ressalvas.
As duas imagens abaixo mostram uma visão superior da situação e uma composição de várias imagens raster frontais. (Tudo bem se eles estiverem mapeados para um único plano de referência)
Qual é a maneira mais apropriada de armazenar as imagens raster verticais no banco de dados sem perder seu contexto geográfico no espaço horizontal e com informações de elevação?
fonte
Respostas:
duvidoso, é a resposta elegante, mas soa semelhante a algo que fizemos - onde começamos com seções transversais digitalizadas (rasters verticais, como suas paredes). Georreferenciamos as imagens em que o deslocamento do lado esquerdo era a coordenada x, e a altura da seção x era y. essas coordenadas estavam no mesmo CRS que todos os outros dados do mapa para a área.
Simplesmente digitalizamos os rasters e incluímos um conjunto de dados de pontos separado para indicar os verdadeiros cantos de início / parada das seções transversais
A partir daí, um script curto pode extrair os vértices das linhas e, usando os cantos, podemos transpor os pontos para exibição no espaço 2D ou 3D - (nota em 2D - todos os pontos se empilham no plano vertical)
ou em algum visualizador em 3D -
enquanto não os armazenamos em um banco de dados, o conceito deve ser o mesmo.
agora, talvez haja algum erro enorme em nosso método - então eu ficaria feliz (bem, não de verdade) em ouvir isso também. se estiver interessado, eu poderia compartilhar o script kludgy que usamos para transpor os dados.
fonte