Есть ли функция, позволяющая узнать, какой процент моей геометрии входит в один другой? - PullRequest
1 голос
/ 21 октября 2019

Мне нужно знать, содержится ли геометрия приблизительно в другом. Иногда, у меня есть geomtries, где они плохо спроектированы, и очень маленькая их часть находится за пределами той, в которой они должны быть.

ST_Contains не может вернуть true с этими плохими geomtries

I 'Я хотел бы найти функцию POSTGIS, возвращающую геометрию A, содержащую X% геометрии B. Пример: ST_containing_rate(geometry A, geometry B) возвращающая процент

Или функцию, которая вернет true, если геометрия A содержит X% геометрииB. Пример: ST_contains_at_least(geometry A, geomtry B, percentage p) возвращает значение true или false

Ответы [ 2 ]

2 голосов
/ 21 октября 2019

Способ сделать это будет:

ST_Area(ST_Intersection(geometry A, geometry B)) / ST_Area(geom B) > percentage
0 голосов
/ 21 октября 2019

Это похоже на хорошую функцию, которую следует добавить в PostGIS. Однако вы можете обойти это, используя функцию clip (ST_Intersection (геометрия A, геометрия B)), а затем сравнивая возвращенную геометрию с исходной геометрией A.

...