| SASGIS - SAS.Планета | 
| View Issue Details | 
| 
 | 
| ID | Project | Category | View Status | Date Submitted | Last Update | 
| 0000670 | SAS.Планета | [All Projects] Хотелка / Feature request | public | 22-04-2011 12:24 | 14-06-2024 17:58 | 
| 
 | 
| Reporter | gpsMax |  | 
| Assigned To |  |  | 
| Priority | normal | Severity | minor | Reproducibility | have not tried | 
| Status | confirmed | Resolution | open |  | 
| Platform |  | OS |  | OS Version |  | 
| Product Version | 110418 |  | 
| Target Version | 29xxxx | Fixed in Version |  |  | 
| 
 | 
| Summary | 0000670: Функция смены направления полигонов | 
| Description | Полигон можно обводить как по часовой стрелке, так и против. 
 Хотелось бы иметь возможность изменять направление полигонов при редактировании. Кнопку этой функции логичее всего добавить в мини-панельку редактирования.
 
 Тупо меняются местами точки: вторая меняется с последней, третья с предпоследней, и т.д. Первая остаётся на месте, средняя, если есть, остаётся на месте.
 | 
| Steps To Reproduce |  | 
| Additional Information |  | 
| Tags | полигон, полигоны, пути, треки | 
| Relationships | | related to | 0001735 | resolved | zed | Смена направления трека | 
 | 
| Attached Files |  | 
| 
 | 
| Issue History | 
| Date Modified | Username | Field | Change | 
| 22-04-2011 12:24 | gpsMax | New Issue |  | 
| 22-04-2011 12:25 | gpsMax | Description Updated | bug_revision_view_page.php?rev_id=979#r979 | 
| 22-04-2011 12:26 | gpsMax | Tag Attached: полигоны |  | 
| 22-04-2011 12:26 | gpsMax | Tag Attached: пути |  | 
| 22-04-2011 12:27 | gpsMax | Tag Attached: полигон |  | 
| 22-04-2011 12:27 | gpsMax | Tag Attached: треки |  | 
| 22-04-2011 12:27 | gpsMax | Status | new => acknowledged | 
| 31-05-2011 14:36 | vdemidov | Note Added: 0002795 |  | 
| 31-05-2011 14:36 | vdemidov | Status | acknowledged => confirmed | 
| 31-05-2011 14:36 | vdemidov | Target Version | => 29xxxx | 
| 31-05-2011 16:01 | gpsMax | Note Added: 0002796 |  | 
| 31-05-2011 16:01 | gpsMax | Note Edited: 0002796 | bug_revision_view_page.php?bugnote_id=2796#r1367 | 
| 31-05-2011 18:31 | vdemidov | Note Added: 0002797 |  | 
| 29-01-2013 12:28 | vasketsov | Note Added: 0010465 |  | 
| 29-01-2013 13:11 | vdemidov | Summary | Функция смены направления полигонов и путей => Функция смены направления полигонов | 
| 29-01-2013 13:11 | vdemidov | Description Updated | bug_revision_view_page.php?rev_id=5117#r5117 | 
| 29-01-2013 13:17 | vdemidov | Note Added: 0010467 |  | 
| 29-01-2013 14:54 | vasketsov | Note Added: 0010468 |  | 
| 31-01-2013 06:22 | vdemidov | Note Added: 0010476 |  | 
| 14-06-2024 17:58 | zed | Relationship added | related to 0001735 | 
| 08-08-2025 13:24 | zed | Category | Хотелка => Хотелка / Feature request | 
	| Notes | 
	| 
 | 
	|  | 
		
			| Да. Нужно будет добавить всяких операций над метками. Плюс желательно этот список операций сделать расширяемым с помощью плагинов. |  | 
	| 
 | 
	| 
		
			| (0002796) |  
			| gpsMax |  
			| 31-05-2011 16:01 |  | 
		
			| Можно и операций. Чтобы не забыть, потом сделать хотелки и плагины: - Прореживание (большая тема, много способов, куча настроек)
 - Сглаживание (большая тема, коррелирует с прореживанием)
 - Превращение полигона в окружность (глянуть в исходниках в JOSM)
 - Удаление клубков в местах стоянок
 - Удаление пешеходных кусков по скорости
 - Удаление непешеходных кусков
 
 Это всё плагинами, конечно. А вот менять направление можно и в самой программе, поскольку там несложно и без вариантов.
 
 
 |  | 
	| 
 | 
	|  | 
		
			| Ну для примера реализации плагина как раз реверс линии и подойдет. |  | 
	| 
 | 
	|  | 
		
			| >Тупо меняются местами точки Или ещё более тупо - признак направления для массива координат. Меняется один байт. Ибо направление обхода (покуда на него не завязано ничего, типа направление дырок обратно направлению внешних кусков в шейпах) ничего общего с самими данными (координатами) не имеет.
 |  | 
	| 
 | 
	|  | 
		
			| >Или ещё более тупо - признак направления для массива координат. Плохая идея. Этот признак придется учитывать везде. В том числе при экспорте. Поменять порядок точек проще.
 |  | 
	| 
 | 
	|  | 
		
			| >Плохая идея Не хуже, чем ворочать лишний раз туда-сюда трек из кучи кусков недельной поездки с gps-логгера.
 Впрочем я ещё для себя не решил как лучше сделать.
 
 >Этот признак придется учитывать везде
 Хм. Вообще-то как сейчас сделано - только при редактировании и надо учитывать, при экспорте - фигня. Если даже BoundRect по треку или полигону определяется заново - один фиг всё проходится, ничего не просядет ни на йоту. При показе на карте - пофигу (даже если показывать стрелочку - она замечательно инвертируется простым BOOL-ом, по логике всё то же самое, что просто при изменении настройки показа направления трека). При чтении и сохранении в БД отдельный признак забацать труда не представляет. На порядок проще, чем отломанный BoundRect.
 
 А вот при экспорте покуда это не шейпы, на полигоны вообще пофигу. А треки экспортируются поточечно. И один фиг for или while там запускать, вот и весь учёт.
 
 >Поменять порядок точек проще
 Если имеется ввиду собственно процедура перемены порядка - то нет, байт инвертируется проще.
 Если имеется ввиду вцелом реализация - то по сравнению с необходимостью переписывания внутренностей координат векторов (BoundRect отломаны, дырки не сделаны, автоопределялка полигон/полилиния очевидно не работает для многокусковых полигонов,...) это такая мелочь, что право слово заикаться об этом в контексте "проще" несерьёзно.
 |  | 
	| 
 | 
	|  | 
		
			| Вот именно из-за того что ты хочешь съэкономить десяток милисекунд на очень редкую операцию редактирования, а взамен в куче мест учитывать дополнительный признак, я и забрал у тебя права на запись в репозиторий. |  |