Quais são algumas estruturas recomendados para manipulação de dados espaciais em C ++? [fechadas]
-
20-08-2019 - |
Pergunta
O que são algumas estruturas recomendados para manipulação de dados espaciais em C ++?
Eu estou olhando para um objeto polígono, objeto de ponto, e algumas operações como união, intersecção, distância e área. Eu preciso inserir coordenadas em WGS84 (lon, lat) e obter a área em km quadrado.
Eu preferiria um quadro livre / de fonte aberta, mas estou aberto a sugestões.
Edit: Infelizmente eu preciso de uma solução não-GPL. LGPL está bem.
Outras dicas
Eu também recomendo genérico geometria Biblioteca que recentemente tem sido revisada e acabou aceitando a coleção de impulsionar C ++ Bibliotecas . Como incluído no Boost, a GGL é agora chamado Boost.Geometry, mais precisamente Boost.Geometry aka GGL, Generic Geometria Biblioteca .
Outras ferramentas úteis
- ORFEO Toolbox (aka OTB) - uma biblioteca de processamento de imagem algoritmo
- MetaCRS -. Um projeto abrangendo várias projeções e coordenar tecnologias relacionados ao sistema
- libgeotiff para o linguado manipulação GeoTIFF
-
O CGAL Projeto de Código Aberto fornece acesso fácil a eficiente e algoritmos geométricos fiáveis ??no formar de uma biblioteca de C ++. CGAL é usada em diversas áreas que necessitam geométrico computação, tais como: computador gráficos, visualização científica, computer aided design e modelagem, Sistemas de Informação Geográfica, biologia molecular, imagiologia médica, robótica e planejamento de movimento, malha geração, métodos numéricos.
-
A Geometria Biblioteca Genéricos (geometrylibrary.geodan.nl, atualmente em "preview 4") fornece uma implementação genérica de algoritmos de geometria, trabalhando com geometrias definidas pelo usuário. Os algoritmos incluem alguns algoritmos bem conhecidos e frequentemente necessário como ponto-em-polígono, a área de polígono, da distância de ponto-a-ponto, da distância de ponto-a-linha, linha de corte e grampeamento polígono, cascas convexas. Ele também contém algoritmos de transformação, projecções mapa e algoritmos de selecção. Além de algoritmos a biblioteca oferece aulas de geometria que podem ser utilizados, mas os algoritmos genéricos não dependem deles. (Proposto para ser incluído no Boost)
GEOS para o modelo de geometria, e GDAL / OGR para uma espacial biblioteca de abstração de dados que suporta Rasters e Vectors .
Ao utilizar essas bibliotecas, você também será capaz de lidar com diferentes sistemas de coordenadas (como a transformação de / para WGS84) uma vez que ambos usam Proj.4 sob o capô. Para encontrar distâncias em metros você pode transformar a partir de WGS84 para algo que usa metros como UTM.
Dependendo do quão complexo estes cálculos vão ser que você pode querer considerar escrever o seu próprio. Se você está apenas fazendo área que pode ser a melhor opção para a velocidade e falta de inchaço.
Geographic Foundation Class (GFC) biblioteca é sua melhor aposta.
Não é abrangente e suficiente de alto nível para que você pediu, mas para fazer as transformações geodésicas você pode usar a biblioteca excelentes Geotrans do NGA:
http://earth-info.nga.mil/GandG/geotrans/
Isso vai deixar você converter entre coisas como WGS84 latitude / longitude e uma cartesiano sistema de coordenadas local. O código C é bem testado, documentado e é de domínio público.