Processing math: 100%

4 votos

PostGIS > Intersección de dos círculos. Cada Círculo debe ser construido a partir de Long/Lat grados más radius

Estoy tratando de averiguar esto, así que quería preguntar a los expertos.

Esta pregunta está relacionada con PostGIS (de postgresql).

Lo que yo quiero es:

1) Basado en la longitud y la latitud quiero proyecto de un solo punto (similar a cómo se puede pasar de la lat y lon a un mapa de google y, a continuación, tener un solo punto proyectado).

2) Crear un círculo geometría alrededor que con un radio. (Voy a determinar el radio basado en la precisión horizontal de la Lat/Lon)

3) a Continuación, quiero hacer el 1 y 2 de nuevo a otro Lat/Lon combinación. Y a ver si esos dos círculos se tocan.


Supongo que para el punto 2), que podría utilizar un constructor como ST_GeomFromText, sin embargo yo no entiendo muy bien todavía cómo puedo proyecto de un único punto, basado en dos ángulos esféricos (lat/lon).

Entonces para el punto 3, supongo que podría usar algo como ST_Touches

3voto

mapBaker Puntos 5348

Voy a publicar este código para resolver parte del problema, como yo no sé de qué estás tratando de hacer con el mapa de la parte, pero aquí va:

SELECT 
ST_Touches(temp.point1, temp.point2) as geom_touches
, ST_Intersects(temp.point1, temp.point2) as geom_intersect

FROM (

SELECT * FROM 
ST_Buffer(ST_Transform(ST_GeomFromText('POINT(-105.05083 39.74823)', 4326), 2877), 1500) as point1
, ST_Buffer(ST_Transform(ST_GeomFromText('POINT(-105.04428 39.74779)', 4326), 2877), 1500) as point2

 )as temp

Este:
- crear 2 geometrías en una tabla temporal, tanto en el SRID:4326 utilizando ST_GeomFromText
- transformar los dos geometrías a un sistema de coordenadas proyectadas en los Pies (estado de avión Colorado)
- tampón de esos puntos por una distancia (1500 pies)
- uso exterior instrucción SQL para probar si se toca, y si se cruzan

Y los resultados de este aspecto:

enter image description here

Y las geometrías este aspecto:

enter image description here

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X