газон + листовка, проблемы с получением положительного результата от booleanContains/booleanWithin

Я обнаружил, что пересечение работает должным образом, когда ребра многоугольника перекрываются, но я не могу определить, когда один многоугольник полностью содержит другой. Я создал пример здесь: Пример кода Stackblitz

Как и ожидалось, пересечение возвращает null, но внутри/содержит/перекрывается все, что возвращает false. Это довольно простой случай, поэтому я думаю, что, должно быть, что-то упускаю, учитывая, насколько зрелым и широко используемым является Turf. Если кто-то увидит недостаток или у него есть другой подход, я буду очень обязан. Нажмите кнопку «Сравнить функции», чтобы увидеть результаты в консоли.


person Neph    schedule 21.11.2019    source источник


Ответы (1)


Вы можете использовать функцию contains из листовки

let contains = this.geoRegion['_layers'][Object.keys(this.geoRegion['_layers'])[1]].getBounds().contains(this.geoRegion['_layers'][Object.keys(this.geoRegion['_layers'])[0]].getBounds()); 
console.log("Contains",contains);
person Falke Design    schedule 21.11.2019