Estoy haciendo un proyecto de astronomía. Quiero tener la información sobre nuestras imágenes almacenadas en una base de datos habilitada espacialmente. Creo que este debería ser un caso especial muy fácil para las funciones de SIG, ya que el cielo se puede tratar como perfectamente esférico y no requiere un tratamiento elíptico como la superficie de la tierra. Desafortunadamente, no he encontrado una manera de hacer esto todavía y he estado esquivando minas con funciones espaciales que usan una tierra elíptica. (Casi cualquier función que devuelva medidores en lugar de grados puede estar usando un cálculo elíptico. Afortunadamente, muchas de las funciones PostGIS que he necesitado parecen tener implementaciones incompletas donde la documentación indica explícitamente que los resultados obtenidos son para una esfera y no para el elipsoide. Pero eso puede cambiar con las versiones futuras, lo cual es un motivo de preocupación.)
Antecedentes: Actualmente estoy usando PostgreSQL con las coordenadas PostGIS y WGS 84 (SRID = 4326). Esto funciona bastante bien. Estoy creando un POLÍGONO cerrado desde la ascensión y declinación correctas de las cuatro esquinas de la imagen. Tengo muchas imágenes (10k o más) que cubren una gran área del cielo. Cada imagen es de aproximadamente 1 grado cuadrado. Del conjunto de estas imágenes, estoy haciendo mosaicos de pequeños subconjuntos de 15 a 30 imágenes. Cada mosaico es de aproximadamente 1,5 grados cuadrados.
Actualmente, estoy almacenando la geografía de los mosaicos como un MULTIPOLÍGONO que consta de todos los POLÍGONOS correspondientes a cada imagen que se incluyó en el mosaico. [Una solución mejor sería crear un solo POLÍGONO que describa el perímetro de la unión de todos los polígonos individuales. No sé si esto se puede hacer en coordenadas esféricas (es decir, que es el tipo de geografía). Esta también sería una respuesta interesante para mí.] La línea de fecha y los polos celestes pueden incluirse en una imagen en el conjunto de datos, por lo que he estado evitando proyectar coordenadas planas en la medida de lo posible.
¿Qué sistema de coordenadas debo usar para coordenadas celestes con las funciones de PostGIS?
He consultado enlace pero no he encontrado nada hasta ahora. Google ha aparecido poco. Estoy perplejo. Básicamente, quiero asegurarme de que si una función devuelve metros como una distancia, está a lo largo de un gran círculo en una esfera.
Más generalmente, también se agradecería algún consejo para usar coordenadas celestes en una base de datos espacial.
¿Me he equivocado al elegir PostGIS?
¿Hay opciones comerciales muy superiores?
Opciones de FOSS?
Estoy usando PostGIS 1.5.2. Todavía no he probado PostGIS 2.0. Tengo curiosidad por saber si la función ST_CoveredBy funciona con un POLYGON y un MULTIPOLYGON de tipo geografía. Si alguien está ejecutando 2.0, ¿podría decirme si se produce el mismo error 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
He intentado PostGIS 2.0. Esta función aún funciona solo en puntos y polígonos, no en formas más generales.