Страница 1 из 5

Полигоны с дырками

СообщениеДобавлено: 27 апр 2015, 07:59
Parasite
Прошу введения сабжа (включая полноценный экспорт\импорт оных в\из KML и др.форматы).
Предлагаю 1000р.

Re: Полигоны с дырками

СообщениеДобавлено: 28 апр 2015, 00:11
vdemidov
За 2000 р. готов сделать следующее:
1. Импорт из kml c дырками
2. Хранение в базе меток (возможно с некоторой потерей обратной совместимости, то есть дырки после редактирования в старой версии могут стать просто полигонами мультиполигона)
3. Экспорт в kml
4. Корректную обработку в операциях с выделенной областью (обрабатываться будут тайлы попадающие полигон и не находящиеся полностью в дырках), но возможно не самую быструю.
5. Корректное отображение корректных полигонов (то есть линии не пересекаются, нет самопересечений)
6. Редактирование - только правка полигона без добавления новых дырок.

Re: Полигоны с дырками

СообщениеДобавлено: 28 апр 2015, 12:07
Parasite
vdemidov писал(а):6. Редактирование - только правка полигона без добавления новых дырок.

А почему без добавления?

Re: Полигоны с дырками

СообщениеДобавлено: 28 апр 2015, 12:40
vdemidov
Parasite писал(а):
vdemidov писал(а):6. Редактирование - только правка полигона без добавления новых дырок.

А почему без добавления?

Не люблю ковыряться с Гуем и не знаю как пользователю объяснить, что дырку нужно рисовать именно в текущем полигоне, а не где-то в стороне, и без пересечений и тд. потому что для таких некорректных полигонов отображение не будет иметь ничего общего с обрабатываемой областью. Собственно с мультиполигонами сейчас точно такая же ситуация.

Re: Полигоны с дырками

СообщениеДобавлено: 28 апр 2015, 13:30
vasketsov
vdemidov писал(а):Не люблю ковыряться с Гуем и не знаю как пользователю объяснить, что дырку нужно рисовать именно в текущем полигоне

Когда можно будет выполнять операции над множеством полигонов (в смысле, будут поддерживаться логические операции а) вычитания полигона-дырки из другого полигона и б) объединения двух полигонов с итоговым созданием дырки), дырки можно будет рисовать и вырезать значительно проще. Пересечение с границей - значит будет не дырка, а останется односвязный полигон.
А вообще при рисовании дырки понятие "текущий полигон" требует серьёзной проработки: полигонов под курсором может быть много, и они могут так перекрываться, что случайно дырку можно нарисовать прямо в существующей дырке.

vdemidov писал(а):с мультиполигонами сейчас точно такая же ситуация

Несколько иная: если его таки создать (пусть даже и руками, объединением нескольких полигонов из области выделения, или импортом), то править руками точки каждого полигончика можно просто отлично. Есть мнение, что после того, как геометрические примитивы начнут понимать разделитель дырок, перемещать руками границу дырки можно будет ровно также беспроблемно.

2Parasite: лично мне имхуется, что поддержку дырок в части хранения и импорта-экспорта надо сделать до того, как пользователь сможет их создавать руками (совсем вручную или через операции объединения, вычитания и прочие - тут неважно). Поэтому позиция Виктора представляется логичной, я бы тоже отделил гуй от базовой функциональности.

Re: Полигоны с дырками

СообщениеДобавлено: 28 апр 2015, 14:27
vdemidov
vasketsov писал(а):Несколько иная: если его таки создать (пусть даже и руками, объединением нескольких полигонов из области выделения, или импортом), то править руками точки каждого полигончика можно просто отлично.

Ну так я именно это и обещаю. Если дырка уже есть, то ее точки править можно будет.

Re: Полигоны с дырками

СообщениеДобавлено: 28 апр 2015, 15:46
Parasite
vasketsov писал(а):2Parasite: лично мне имхуется, что поддержку дырок в части хранения и импорта-экспорта надо сделать до того, как пользователь сможет их создавать руками (совсем вручную или через операции объединения, вычитания и прочие - тут неважно). Поэтому позиция Виктора представляется логичной, я бы тоже отделил гуй от базовой функциональности.

Так я не настаиваю - я просто спросил. Рисовать всякие разные полигоны в специализированных прогах все равно приятнее.

Может, есть смысл объединить с соседним запросом, в том числе и по суммам? Там как раз тоже про полигоны и дырки. Возможно, оно технически связано - и можно подождать реализации чуть побольше/подороже, но получить "как надо" и за один сеанс?

Re: Полигоны с дырками

СообщениеДобавлено: 28 апр 2015, 17:09
vdemidov
Parasite писал(а):Может, есть смысл объединить с соседним запросом, в том числе и по суммам? Там как раз тоже про полигоны и дырки. Возможно, оно технически связано - и можно подождать реализации чуть побольше/подороже, но получить "как надо" и за один сеанс?

Не, та хотелка зависит от этой, но не на оборот (Избавляться от дырок при операциях с полигонами можно, но это дополнительные танцы с бубном по разрезанию полигонов). А там работы, особенно в части допиливания ГУЯ, с моей точки зрения на порядок больше. Так что я пасс.

Re: Полигоны с дырками

СообщениеДобавлено: 29 апр 2015, 08:32
Parasite
Насколько я понимаю, импорт несколько-полигонных KMLов как одной метки - тоже заработает автоматом (коль скоро "разнесенный" полигон есть такая же частность от мультиполигона, как и "наложенный" один на другой ака дырка)? Например, импорт КМЛа границ россии (с оторванными на карте Камчаткой и Калининградом) как одной метки в САСе - заработает?

Re: Полигоны с дырками

СообщениеДобавлено: 29 апр 2015, 10:33
vdemidov
Parasite писал(а):Насколько я понимаю, импорт несколько-полигонных KMLов как одной метки - тоже заработает автоматом

Parasite писал(а):Например, импорт КМЛа границ россии (с оторванными на карте Камчаткой и Калининградом) как одной метки в САСе - заработает?

Оно и сейчас работает, должно по крайней мере.
Parasite писал(а): "разнесенный" полигон есть такая же частность от мультиполигона, как и "наложенный" один на другой ака дырка?

Нет. В kml это принципиально разные сущности. Несколько лежащих рядом полигонов это мультигеометрия. А полигон с дырками это полигон у которого задана внешняя граница и несколько внутренних. Причем, насколько я помню, есть требование что бы внутренние границы лежали строго внутри внешней и не пересекались. Именно с учетом этих ограничений я и буду (если таки буду) делать обработку полигонов с дырками в операциях с выделенной областью.