Estou procurando uma maneira de implementar a visibilidade (também conhecida como viewhed). Encontrei uma pergunta anterior do GIS SE que sugeria alguns aplicativos GIS (não é o que eu preciso - estou tentando incorporar os cálculos) e também o SAGA. O SAGA se parece mais com o que estou procurando (classes C ++, Java, C #), mas não consigo entender o suficiente da documentação da API para descobrir quais classes eu preciso instanciar (ou subclasse).
Não estou ligado à ideia do SAGA - estou apenas procurando por biblioteca / mecanismo que possa fazer cálculos de intervisibilidade.
As restrições são que ele precisa ser:
- razoavelmente "leve" (como eu gostaria de poder cobrir incorporado / móvel)
- código-fonte aberto razoavelmente (já que meu aplicativo será código-fonte aberto, embora eu seja flexível em exatamente qual licença, desde que seja compatível com GPL).
Alguém pode recomendar tal biblioteca ou mecanismo e fornecer uma descrição ou link para qual parte da biblioteca ou mecanismo eu preciso usar para cálculos de exibição?
Como alternativa / além disso, também aprecio referências a documentos ou tutoriais que explicam como fazer esses cálculos de maneira eficiente (conforme aplicável a dispositivos embarcados / móveis, para que uma implementação baseada em GPU possa não ser tão útil quanto algo que é mais geral e lida com dispositivos de baixa potência)
Minha preferência é uma implementação existente, em vez de criar algo pessoalmente (que é uma opção de backup).
Edit: C ++ não é um requisito firme - qualquer coisa razoavelmente portátil (C #, C ++, Java) fará. Estou tentando criar uma biblioteca ou modelos em vez de incorporar um aplicativo grande.