Estoy haciendo un proyecto de astronomía. Quiero tener la información sobre nuestras imágenes almacenadas en una base de datos espacialmente habilitada. Creo que este debería ser un caso especial muy fácil para las funciones SIG porque el cielo puede tratarse como perfectamente esférico y no requiere un tratamiento elíptico como la superficie de la tierra. Desafortunadamente, todavía no he encontrado una forma de hacerlo y he estado esquivando minas con funciones espaciales que usan una tierra elíptica. (Casi cualquier función que devuelve metros 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 declara explícitamente que los resultados devueltos son para una esfera y no para el elipsoide. Pero eso puede cambiar con versiones futuras, lo cual es motivo de preocupación).
Antecedentes: Actualmente estoy usando PostgreSQL con coordenadas PostGIS y WGS 84 (SRID = 4326). Esto funciona bastante bien. Estoy creando un POLÍGONO cerrado a partir de la ascensión recta y la declinación 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 consiste en todos los POLÍGONOS correspondientes a cada imagen que entró en el mosaico. [Una mejor solución sería crear un POLÍGONO único 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 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 evitado proyectar coordenadas planas en la medida de lo posible.
¿Qué sistema de coordenadas debería usar para las coordenadas celestes con las funciones de PostGIS?
He mirado en http://spatialreference.org/ 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, es metros a lo largo de un gran círculo en una esfera.
En términos más generales, también se agradecerían algunos consejos para utilizar coordenadas celestes en una base de datos espacial.
¿He errado al elegir PostGIS?
¿Hay opciones comerciales muy superiores?
Opciones de software libre?
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 obtiene 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 con PostGIS 2.0. Esta función solo funciona en puntos y polígonos, no en formas más generales.