QGis Как мне получить площадь треугольника из 3 точек в Postgis - PullRequest
0 голосов
/ 21 января 2020

Я хочу Компьютер области треугольника с 3 точками с Qgis / postgresql. Эти точки сохраняются в столбце геометрии. Понятия не имею, как это сделать ..

1 Ответ

2 голосов
/ 21 января 2020

Попробуйте ST_Area, например,

WITH j AS (
SELECT 
  'POLYGON((7.23 49.95,10.04 52.91,11.62 49.89,7.23 49.95))'::geometry AS poly) 
SELECT ST_Area(poly) FROM j;

      st_area      
-------------------
 6.581499999999988
(1 Zeile)

Использование geometry параметров it ..

Возвращает область многоугольной геометрии. Для типов геометрии вычисляется двумерная декартова (плоская) область с единицами, указанными в SRID

и использующими geography ..

Для типов географии по умолчанию область определяется на сфероиде с единицами измерения в квадратных метрах.

WITH j AS (
SELECT 
  'POLYGON((7.23 49.95,10.04 52.91,11.62 49.89,7.23 49.95))'::geography AS poly) 
SELECT ST_Area(poly) FROM j;

      st_area      
-------------------
 52245336562.55078
(1 Zeile)

РЕДАКТИРОВАНИЕ : Для создания многоугольника на основе трех точек используйте ST_MakePolygon и ST_MakeLine (см. комментарии):

WITH j (p1,p2,p3) AS ( 
  VALUES ('POINT(7.23 49.95)','POINT(10.04 52.91)','POINT(11.62 49.89)'))
SELECT 
  ST_AsText(ST_MakePolygon(ST_MakeLine(ARRAY[p1, p2, p3, p1])),2)
FROM j;

                        st_astext                         
----------------------------------------------------------
 POLYGON((7.23 49.95,10.04 52.91,11.62 49.89,7.23 49.95))
(1 Zeile)
...