View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003339SAS.Планета[All Projects] Хотелкаpublic30-05-2018 17:0315-06-2018 17:22
Reportercycler 
Assigned Tozed 
PrioritynormalSeverityfeatureReproducibilityN/A
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version.Nightly 
Target Version181221Fixed in Version181221 
Summary0003339: Определённым образом форматировать KML-файл при экспорте меток
DescriptionОпределённым образом форматировать экспортируемый KML-файл, а именно:
- оставлять только 6 знаков после десятичной точки для координат (сейчас 12 знаков, например 56.137743160286. Это даст точность +/- 10см)
- отсортировать xml-ноды по алфавиту по значению тега <name>

Steps To ReproduceПри выгрузке меток в KML отрезать от значения координат каждой метки лишние знаки, чтобы оставалось только 6 знаков после десятичной точки.

Прогонять все ноды <Placemark> через функцию сортировки по значению ноды <Placemark> -> <name>
Additional InformationЗачем - работаем группой над большими треками, выгружаем на гитхаб. Если формат файла будет структурированным, то легче сможем отслеживать правки отдельных участников. Сокращение десятичных знаков нужно для уменьшения и так большого размера файла.
В случае если сообщество посчитает внедрение озвученной хотелки излишеством, были бы благодарны за указание на способ самостоятельно внести коррективы в код SAS.
Спасибо!
Tagskml, VIP, XML, трек, форматирование, экспорт
Attached Files

- Relationships
related to 0003237resolvedzed Неверный размер некоторых иконок при экспорте в KML файл 
related to 0003343resolvedzed При экспорте в KML масштаб шрифта метки считается относительно НЕ дефолтного шрифта 

-  Notes
(0018304)
zed (manager)
30-05-2018 18:25

Я бы не сказал, что это излишество, но очевидно, что делать это надо через конфиг. Чтобы тот кому нужно особое поведение, мог поднастроить экспорт под себя.

Способ сделать это самостоятельно:
- установить Delphi 2007 - Tokyo (какая больше нравится)
- клонировать репо с сорцами SAS и установить зависимости
- внести правки и сделать pull-реквест

Или можете написать отдельную утилиту которая будет проходиться по готовому kml и обрезать знаки после запятой, делать сортировку, и всё ,что вы там ещё можете придумать для оптимизации своих внутренних процессов. Не обязательно же весь функционал интегрировать именно в SAS.
(0018308)
cycler (reporter)
01-06-2018 05:30

Могли бы ткнуть пожалуйста в сорцах, где именно происходит выгрузка метки в Kml?
(0018309)
vdemidov (manager)
01-06-2018 05:57

Ну, экспорт в kml живет в u_ExportMarks2KML.pas, как ни странно.
Форматирование координат в текст - функция PointToKml
Сортировку папок и меток добавлять нужно в AddTree и AddMarks соответственно.
(0018310)
cycler (reporter)
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 (manager)
02-06-2018 15:49

Если готовы заплатить за свою хотелку, то я могу ей заняться. Пишите мне на [email protected]
(0018315)
zed (manager)
07-06-2018 19:58

От cycler получено 2000 руб, так что берусь за реализацию.

Помимо форматирования координат и сортировки, буду делать опцию для возможности задать абсолютный путь (или url) к иконке. Всеми этими настройками можно будет управлять из гуя.
(0018316)
zed (manager)
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 (manager)
13-06-2018 11:44

Сделал гуи. Вызывается из "Управления метками" (иконка с синей шестерёнкой на панели).
(0018333)
cycler (reporter)
15-06-2018 17:18

Работает отлично! Спасибо Большое!!!

По мотивам этого тикета всплыла проблема с некорректным подсчетом масштаба текста иконки, оформил её в тикет http://www.sasgis.org/mantis/view.php?id=3343

Дополнительная связь с тикетом http://www.sasgis.org/mantis/view.php?id=3237 (определение масштабов иконок)

- Users who viewed this issue
User List Anonymous (1019x), omen98 (1x), ygorigor (1x), zed (23x), cycler (17x), vdemidov (5x), netsky (1x)
Total Views 1067
Last View 09-08-2020 02:44

- 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 View Revisions
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



Copyright © 2007 - 2020 SAS.Planet Team