SASGIS - SAS.Планета |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0003339 | SAS.Планета | [All Projects] Хотелка | public | 30-05-2018 17:03 | 15-06-2018 17:22 |
|
Reporter | cycler | |
Assigned To | zed | |
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | resolved | Resolution | fixed | |
Platform | | OS | | OS Version | |
Product Version | .Nightly | |
Target Version | 181221 | Fixed in Version | 181221 | |
|
Summary | 0003339: Определённым образом форматировать KML-файл при экспорте меток |
Description | Определённым образом форматировать экспортируемый KML-файл, а именно:
- оставлять только 6 знаков после десятичной точки для координат (сейчас 12 знаков, например 56.137743160286. Это даст точность +/- 10см)
- отсортировать xml-ноды по алфавиту по значению тега <name>
|
Steps To Reproduce | При выгрузке меток в KML отрезать от значения координат каждой метки лишние знаки, чтобы оставалось только 6 знаков после десятичной точки.
Прогонять все ноды <Placemark> через функцию сортировки по значению ноды <Placemark> -> <name> |
Additional Information | Зачем - работаем группой над большими треками, выгружаем на гитхаб. Если формат файла будет структурированным, то легче сможем отслеживать правки отдельных участников. Сокращение десятичных знаков нужно для уменьшения и так большого размера файла.
В случае если сообщество посчитает внедрение озвученной хотелки излишеством, были бы благодарны за указание на способ самостоятельно внести коррективы в код SAS.
Спасибо! |
Tags | kml, VIP, XML, трек, форматирование, экспорт |
Relationships | related to | 0003237 | resolved | zed | Неверный размер некоторых иконок при экспорте в KML файл | related to | 0003343 | resolved | zed | При экспорте в KML масштаб шрифта метки считается относительно НЕ дефолтного шрифта |
|
Attached Files | |
|
Issue History |
Date Modified | Username | Field | Change |
30-05-2018 17:03 | cycler | New Issue | |
30-05-2018 17:05 | cycler | Tag Attached: kml | |
30-05-2018 17:05 | cycler | Tag Attached: XML | |
30-05-2018 17:05 | cycler | Tag Attached: трек | |
30-05-2018 17:05 | cycler | Tag Attached: экспорт | |
30-05-2018 17:05 | cycler | Tag Attached: форматирование | |
30-05-2018 18:25 | zed | Note Added: 0018304 | |
01-06-2018 05:30 | cycler | Note Added: 0018308 | |
01-06-2018 05:57 | vdemidov | Note Added: 0018309 | |
02-06-2018 14:43 | cycler | Note Added: 0018310 | |
02-06-2018 14:46 | cycler | Note Edited: 0018310 | bug_revision_view_page.php?bugnote_id=18310#r7295 |
02-06-2018 15:49 | zed | Note Added: 0018311 | |
07-06-2018 19:50 | zed | Assigned To | => zed |
07-06-2018 19:50 | zed | Status | new => assigned |
07-06-2018 19:50 | zed | Target Version | => 181221 |
07-06-2018 19:51 | zed | Tag Attached: VIP | |
07-06-2018 19:58 | zed | Note Added: 0018315 | |
09-06-2018 21:01 | zed | Note Added: 0018316 | |
13-06-2018 11:44 | zed | Note Added: 0018321 | |
13-06-2018 11:44 | zed | Status | assigned => feedback |
15-06-2018 17:18 | cycler | Note Added: 0018333 | |
15-06-2018 17:18 | cycler | Status | feedback => assigned |
15-06-2018 17:21 | zed | Relationship added | related to 0003237 |
15-06-2018 17:21 | zed | Relationship added | related to 0003343 |
15-06-2018 17:22 | zed | Status | assigned => resolved |
15-06-2018 17:22 | zed | Fixed in Version | => 181221 |
15-06-2018 17:22 | zed | Resolution | open => fixed |
Notes |
|
(0018304)
|
zed
|
30-05-2018 18:25
|
|
Я бы не сказал, что это излишество, но очевидно, что делать это надо через конфиг. Чтобы тот кому нужно особое поведение, мог поднастроить экспорт под себя.
Способ сделать это самостоятельно:
- установить Delphi 2007 - Tokyo (какая больше нравится)
- клонировать репо с сорцами SAS и установить зависимости
- внести правки и сделать pull-реквест
Или можете написать отдельную утилиту которая будет проходиться по готовому kml и обрезать знаки после запятой, делать сортировку, и всё ,что вы там ещё можете придумать для оптимизации своих внутренних процессов. Не обязательно же весь функционал интегрировать именно в SAS. |
|
|
(0018308)
|
cycler
|
01-06-2018 05:30
|
|
Могли бы ткнуть пожалуйста в сорцах, где именно происходит выгрузка метки в Kml? |
|
|
|
Ну, экспорт в kml живет в u_ExportMarks2KML.pas, как ни странно.
Форматирование координат в текст - функция PointToKml
Сортировку папок и меток добавлять нужно в AddTree и AddMarks соответственно. |
|
|
(0018310)
|
cycler
|
02-06-2018 14:43
(edited on: 02-06-2018 14:46) |
|
Мне хватит мозгов вот тут добавить round и 6 знаков после запятой
(\sas_team-sas.planet.src-be7c71bcf893\Src\Vector\u_ExportMarks2KML.pas)
function PointToKml(const APoint: TDoublePoint): AnsiString; inline;
begin
Result := R2AnsiStrPoint(APoint.X) + ',' + R2AnsiStrPoint(APoint.Y) + ',0 ';
end;
Но не хватит мозгов добавить round с Х знаками после запятой, которое будет браться из конфига с подстановкой дефолтного значения если в конфиге об этом ничего нет, и с проверкой, чтобы это было именно число в разумных пределах (5-12)
Мог бы пожалуйста кто-то это вместо меня сделать?
|
|
|
(0018311)
|
zed
|
02-06-2018 15:49
|
|
Если готовы заплатить за свою хотелку, то я могу ей заняться. Пишите мне на [email protected]. |
|
|
(0018315)
|
zed
|
07-06-2018 19:58
|
|
От cycler получено 2000 руб, так что берусь за реализацию.
Помимо форматирования координат и сортировки, буду делать опцию для возможности задать абсолютный путь (или url) к иконке. Всеми этими настройками можно будет управлять из гуя. |
|
|
(0018316)
|
zed
|
09-06-2018 21:01
|
|
Уже можно тестировать через редактирование SASPlanet.ini:
[ExportMarks2KML]
; 0 - выкл; 1 - вкл
UseCoordFormatting=1
; число знаков после запятой (допустимые значения: [4..12])
CoordPrecision=6
; 0 - не сортировать; 1 - asc; 2 - desc
SortingType=1
; 0 - выкл; 1 - вкл
UseAbsPathToIcon=1
AbsPathToIcon=https://example.com/path-to-icons/
По-умолчанию, думаю можно включить прямую сортировку и лимит числа знаков после запятой - 6. |
|
|
(0018321)
|
zed
|
13-06-2018 11:44
|
|
Сделал гуи. Вызывается из "Управления метками" (иконка с синей шестерёнкой на панели). |
|
|
(0018333)
|
cycler
|
15-06-2018 17:18
|
|
Работает отлично! Спасибо Большое!!!
По мотивам этого тикета всплыла проблема с некорректным подсчетом масштаба текста иконки, оформил её в тикет http://www.sasgis.org/mantis/view.php?id=3343
Дополнительная связь с тикетом http://www.sasgis.org/mantis/view.php?id=3237 (определение масштабов иконок) |
|