1

Программное исправление геометрии (избавление от самопересечений)

(19/05/2020 12:23:59 отредактировано stolyar)

Тема: Программное исправление геометрии (избавление от самопересечений)

Еще не много про геозоны. При импорте геозон система нас любезно предупреждает о том, что некоторые геозоны имеют самопересечения и не могут быть импортированы. Я предлагаю добавить, опционально, функцию автоматического исправления геометрий при импорте с помощью операции buffer со значением "0". Если пользователь согласен, что в случае обнаружения невалидных геозон система попытается их исправить, то он отмечает соответствующий чекбокс перед импортом.

2

Программное исправление геометрии (избавление от самопересечений)

Re: Программное исправление геометрии (избавление от самопересечений)

stolyar пишет:

Еще не много про геозоны. При импорте геозон система нас любезно предупреждает о том, что некоторые геозоны имеют самопересечения и не могут быть импортированы. Я предлагаю добавить, опционально, функцию автоматического исправления геометрий при импорте с помощью операции buffer со значением "0". Если пользователь согласен, что в случае обнаружения невалидных геозон система попытается их исправить, то он отмечает соответствующий чекбокс перед импортом.

Теоретически это возможно. Но при этом теряется кое-что, а именно: это будет одноразовое действие, которое будет позволять залить поля в Hecterra, однако последующая синхронизация таких полей с геозонами Wialon будет невозможной, потому что эти геозоны всегда будут невалидны для нас. Так что все-таки, если синхронизация нужна, то лучше поправить геозоны на Wialon.

Katerina Alexandrova
Product Manager (Mobile)
Gurtam
3

Программное исправление геометрии (избавление от самопересечений)

(20/05/2020 00:59:29 отредактировано stolyar)

Re: Программное исправление геометрии (избавление от самопересечений)

alek пишет:
stolyar пишет:

Еще не много про геозоны. При импорте геозон система нас любезно предупреждает о том, что некоторые геозоны имеют самопересечения и не могут быть импортированы. Я предлагаю добавить, опционально, функцию автоматического исправления геометрий при импорте с помощью операции buffer со значением "0". Если пользователь согласен, что в случае обнаружения невалидных геозон система попытается их исправить, то он отмечает соответствующий чекбокс перед импортом.

Теоретически это возможно. Но при этом теряется кое-что, а именно: это будет одноразовое действие, которое будет позволять залить поля в Hecterra, однако последующая синхронизация таких полей с геозонами Wialon будет невозможной, потому что эти геозоны всегда будут невалидны для нас. Так что все-таки, если синхронизация нужна, то лучше поправить геозоны на Wialon.

Не понимаю, почему такие геозоны становятся в дальнейшем не валидными. Поправьте меня, если я не прав:
При первичной синхронизации геозон с виалоном в апп попадают валидные геометрии, которые содержат в себе индикатор (id) по которому в дальнейшем апп может определить геозону в виалоне. То есть ключом отношения между системами является id геозоны из wialon.
Если это так, то ни что не мешает при дальнейших синхронизациях прогонять геозоны сначало через geom.is_valid и если данная функция определит геометрию как не валидную, то применять к ней buffer(0).

4

Программное исправление геометрии (избавление от самопересечений)

Re: Программное исправление геометрии (избавление от самопересечений)

stolyar
На счет айди все так, но проблема в том, что Hecterra исправит геометрию для своих полей, а в Wialon они так и сотанутся с самопересечениями. Поэтому они больше не будут синхронизироваться.

Katerina Alexandrova
Product Manager (Mobile)
Gurtam
5

Программное исправление геометрии (избавление от самопересечений)

Re: Программное исправление геометрии (избавление от самопересечений)

alek пишет:

stolyar
На счет айди все так, но проблема в том, что Hecterra исправит геометрию для своих полей, а в Wialon они так и сотанутся с самопересечениями. Поэтому они больше не будут синхронизироваться.

А разве при дальнейшей синхронизации апп не может делать проверку на валидность?

6

Программное исправление геометрии (избавление от самопересечений)

Re: Программное исправление геометрии (избавление от самопересечений)

stolyar
Hecterra может вносить правки только в собственные элементы (поля в данном случае). В геозоны либо другие элементы виалона мы вносить правки не можем, мы их используем только для чтения.

Katerina Alexandrova
Product Manager (Mobile)
Gurtam
7

Программное исправление геометрии (избавление от самопересечений)

Re: Программное исправление геометрии (избавление от самопересечений)

Добрый день.
Подскажите пож, на каком расстоянии друг от друга должный быть поля, чтобы не получалось самопересечений?
В виалон они не пересекаются, а hecterra ругается.
Программное исправление геометрии (избавление от самопересечений)
Программное исправление геометрии (избавление от самопересечений)

  • Программное исправление геометрии (избавление от самопересечений)
  • Программное исправление геометрии (избавление от самопересечений)
8

Программное исправление геометрии (избавление от самопересечений)

Re: Программное исправление геометрии (избавление от самопересечений)

Самопересечение не между полями, самопересечение - это когда граница поля сама себя пересекает. Возможно, проблемное место в уголке, попробуйте отредактировать в Wialon и импортировать в Hecterra
Программное исправление геометрии (избавление от самопересечений)

9

Программное исправление геометрии (избавление от самопересечений)

Re: Программное исправление геометрии (избавление от самопересечений)

shmi пишет:

Самопересечение не между полями, самопересечение - это когда граница поля сама себя пересекает. Возможно, проблемное место в уголке, попробуйте отредактировать в Wialon и импортировать в Hecterra
Программное исправление геометрии (избавление от самопересечений)


Добрый день.
Спасибо.
действительно, ругается на этот момент.