Я работаю над проектом Openlayers, наша цель - позволить пользователю определить набор меньших областей внутри указанной большей области. Например, офис внутри офисного здания. До сих пор мы использовали Draw и Modify, а также Snap, чтобы пользователю было проще рисовать области рядом друг с другом. Это также необходимо, потому что одно из требований состоит в том, чтобы вся большая область была заполнена меньшими нарисованными областями.
Вычислить это довольно просто, но пользовательский опыт - нет. Прямо сейчас мы используем JSTS для проверки таких вещей, как: - пересекается ли нарисованная область с другими областями; - растягивается ли нарисованная область за пределы большей области
Проверка работает нормально, но из-за этих ограничений, проверка привязки очень неприятна для использования, так как области часто пересекаются друг с другом при рисовании. На данный момент это немного отвратительно для пользователя.
Итак, я подумал о следующих предлагаемых решениях: - Создайте буфер вокруг областей с помощью JSTS и привяжитесь к этому вектору. вместо. А затем позвольте определенному проценту большей области не быть заполненным, так как могут быть небольшие "дыры". Создайте алгоритм, который растягивает векторные точки и ребра до областей при завершении. Но это кажется слишком сложным
Есть идеи / предложения о том, как сделать это лучше? Я открыт для всего на данный момент.