Estou fazendo um projeto de astronomia. Quero que as informações sobre nossas imagens sejam armazenadas em um banco de dados ativado espacialmente. Penso que este deveria ser um caso especial muito fácil para as funções de SIG porque o céu pode ser tratado como perfeitamente esférico e não requer um tratamento elíptico como a superfície da Terra. Infelizmente, ainda não encontrei uma maneira de fazer isso e tenho me esquivado de minas com funções espaciais que usam uma terra elíptica. (Praticamente qualquer função que retorna metros em vez de graus pode estar usando um cálculo elíptico. Felizmente, muitas das funções do PostGIS que eu precisava parecem ter implementações incompletas, nas quais a documentação afirma explicitamente que os resultados retornados são para uma esfera e não para elipsóide. Mas isso pode mudar com versões futuras, o que é motivo de preocupação.)
Antecedentes: Atualmente, estou usando o PostgreSQL com as coordenadas PostGIS e WGS 84 (SRID = 4326). Isso funciona razoavelmente bem. Estou criando um POLÍGONO fechado a partir da ascensão reta e declinação dos quatro cantos da imagem. Eu tenho muitas imagens (10k ou mais), cobrindo uma grande área do céu. Cada imagem tem cerca de 1 grau quadrado. A partir do conjunto dessas imagens, estou criando mosaicos a partir de pequenos subconjuntos de 15 a 30 imagens. Cada mosaico tem cerca de 1,5 graus quadrados.
Atualmente, estou armazenando a geografia dos mosaicos como um MULTIPOLÍGONO que consiste em todos os POLÍGONOS correspondentes a cada imagem que foi inserida no mosaico. [Uma solução melhor seria criar um único POLÍGONO que descreva o perímetro da união de todos os polígonos individuais. Não sei se isso pode ser feito em coordenadas esféricas (ou seja, que o tipo de geografia). Essa também seria uma resposta interessante para mim.] A linha de data e os pólos celestes podem ser incluídos em uma imagem no conjunto de dados, evitando a projeção de coordenadas planas na medida do possível.
Qual sistema de coordenadas devo usar para coordenadas celestes com funções PostGIS?
Eu visitei http://spatialreference.org/, mas não encontrei nada até agora. O Google apareceu pouco. Estou perplexo. Basicamente, quero garantir que, se uma função retorna metros à distância, ela é metros ao longo de um grande círculo em uma esfera.
De maneira mais geral, alguns conselhos para o uso de coordenadas celestes em um banco de dados espacial também seriam apreciados.
Errei ao escolher o PostGIS?
Existem opções comerciais muito superiores?
Opções de software livre?
Estou usando o PostGIS 1.5.2. Ainda não experimentei o PostGIS 2.0. Estou curioso para saber se a função ST_CoveredBy funciona com um POLYGON e um MULTIPOLYGON do tipo geografia. Se alguém estiver executando o 2.0, você poderia me dizer se você receber o mesmo erro que este:
mydb=# select ST_CoveredBy(ST_GeographyFromText('MULTIPOLYGON(( (10.37795 -69.57926,8.9498 -69.54875,9.0178 -69.21643,10.4242 -69.24648,10.37795 -69.57926),(10.42436 -69.24618,9.01774 -69.2162, 9.08363 -68.88389,10.46914 -68.91344,10.42436 -69.24618)))'),ST_GeographyFromText('POLYGON((10.46915 -68.91315,9.08371 -68.88364,9.14755 -68.5513,10.5125 -68.58038,10.46915 -68.91315))'));
ERROR: geography_covers: only POLYGON and POINT types are currently supported
CONTEXT: SQL function "st_coveredby" statement 1
Eu tentei o PostGIS 2.0. Essa função ainda funciona apenas em pontos e polígonos, não em formas mais gerais.