Anonymous | Login | Signup for a new account | 21-11-24 09:38 UTC |
All Projects | SAS.Планета | Домен, сайт, форум, багтрекер | Доработка карты (ZMP) | Переводы и локализации | Прочее |
My View | View Issues | Change Log | Roadmap | Search |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0002213 | SAS.Планета | [All Projects] Хотелка | public | 16-10-2013 12:07 | 06-03-2016 06:37 | ||||
Reporter | zed | ||||||||
Assigned To | zed | ||||||||
Priority | normal | Severity | feature | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | 131111 | ||||||||
Target Version | 140303 | Fixed in Version | 140303 | ||||||
Summary | 0002213: При экспорте в RMaps (SQLite) нельзя изменить проекцию карты | ||||||||
Description | Сейчас при экспорте идёт простое копирование тайлов из хранилища в SQLite, и соответственно невозможно сделать экспорт в проекцию отличающуюся от проекции карты, а некоторые программы понимают только гугловскую проекцию меркатора на сферу и не понимают других проекций. | ||||||||
Tags | RMaps, SQLite, экспорт | ||||||||
Attached Files | |||||||||
Relationships | |||||||||||||||||||||||||||||||
|
Notes | |
(0013074) vdemidov (manager) 16-10-2013 12:39 |
И какое решение предлагается? Перепроецировать карту при экспорте? |
(0013075) vdemidov (manager) 16-10-2013 12:40 |
Или для начала исключить из выбора все карты с негугловской проекцией? |
(0013076) zed (manager) 16-10-2013 12:41 |
Перепроецировать, как это сделано в других экспортах. |
(0013077) vdemidov (manager) 16-10-2013 12:47 |
Ну добавь. Вроде бы дело не особо сложное. |
(0013078) zed (manager) 16-10-2013 12:49 |
Сложное ввиду того, что используется один родительский класс (TThreadExportEnumerator) для нескольких экспортов. |
(0013079) vdemidov (manager) 16-10-2013 12:54 |
Ну так выкинь его. Он только в этом экспорте и используется. Там все равно нужно по-другому экспорты переделывать. |
(0013080) zed (manager) 16-10-2013 13:00 |
Ну, т.е. это надо полностью переделать экспорт в RMaps :( Мне это пока не интересно. Для себя я там однажды по-быстрому набыдлокодил и нормально экспортнул, когда надо было. А приводить это к нормальному виду мне как-то лень. Тем более, что ковырял я тогда SACS... |
(0013081) vdemidov (manager) 16-10-2013 13:15 |
Значит на ближайшее время поставлю ограничение на выбор карт, а там может доброволец найдется. |
(0013082) zed (manager) 16-10-2013 13:19 |
Как вариант - могу залить свой код. Пускай живёт в качестве временного костыля. |
(0013083) vdemidov (manager) 16-10-2013 13:21 |
Если там уж совсем костыли, то не нужно. |
(0013084) zed (manager) 16-10-2013 13:26 edited on: 16-10-2013 13:32 |
Там такие сомнительные моменты: VJpegSaver := TLibJpegTileSaver.Create(95, TInternalPerformanceCounterFake.Create); VFactory := TCoordConverterFactorySimple.Create; Костыльность в том, что эти интерфейсы нужно пробрасывать снаружи. Плюс, появляется безусловная рекомпрессия тайлов, даже для тех карт, у которых не нужно изменять проекцию. И всё сохраняется в jpeg. |
(0013085) vdemidov (manager) 16-10-2013 13:34 |
Тогда не нужно. |
(0013117) usver (reporter) 24-10-2013 05:59 |
Это не баг, это хотелка. Существуют программы для Android (например, Locus и Rmaps), которые прекрасно работают с картами RMaps (SQLite) с эллиптической проекцией. Поэтому не нужно вводить ограничение на выбор карт. |
(0013371) zed (manager) 02-12-2013 17:07 |
Полностью переделал экспорт: - добавил наложение слоёв - сделал автоматическое (при необходимости) перепроецирование тайлов в проекцию гугла - добавил галочку, по которой возможен экспорт в проекциях, отличных от проекции гугла (т.е. сохранилось старое поведение, когда мы не контролируем проекцию) Автоматическое перепроецирование сделал прошаренным - если экспортируем только карту (или только слой) и проекция карты/слоя совпадает с гугловской, то происходит прямое копирование тайлов, даже если галочка Direct tiles copy не установлена. Всех заинтересованных прошу активно протестировать фичу. Если что - пишите сюда, тикет ещё пока не закрываю. |
(0013372) usver (reporter) 03-12-2013 06:20 |
Большое спасибо, это очень нужная функция, давно ждал ее появления. К сожалению, первый блин получился комом. Сейчас функция экспорта получает неправильные границы выделенной области. Причем получение границ зависит от того, как выбираются зумы на вкладке экспорта - если выбрать диапазон зумов двойным щелчком, то границы выделенной области правильные, а если выбирать индивидуальные зумы одиночными щелчками, то экспортируются тайлы из верхнего левого угла карты. |
(0013373) usver (reporter) 03-12-2013 06:25 |
Дополнительная хотелка. Не могли бы Вы заодно добавить экспорт в формат MBTiles (https://github.com/mapbox/mbtiles-spec)? Этот формат очень похож на RMaps - такая же база sqlite3, только с другими названиями столбцов. Отличий от RMaps всего три: другое расширение файла (mbtiles вместо sqlitedb); зумы указываются как «z», а не как «17-z» (т. е. Zmbtiles=17-Zrmaps); координаты «y» тайлов отсчитываются не от верхнего края карты, а от нижнего (т. е. Ymbtiles=2^z-1-Yrmaps). Мне кажется, что из-за сходства форматов нет смысла создавать отдельный экспорт в MBTiles. Можно переименовать экспорт «RMaps (SQLite)» в «RMaps/MBTiles (SQLite)», а на саму вкладку экспорта добавить галочку «MBTiles». |
(0013374) zed (manager) 03-12-2013 07:52 edited on: 03-12-2013 07:54 |
> К сожалению, первый блин получился комом Пофиксил. > Дополнительная хотелка. Уже есть: 0001379 |
(0013376) usver (reporter) 03-12-2013 09:54 |
Протестировал смену проекции и наложение слоя - все замечательно работает. Два пожелания: Сейчас при наложении слоя и при смене проекции графический формат создаваемых тайлов соответствует графическому формату тайлов основной карты. Если исходные тайлы в формате PNG, то получается очень большой выходной файл. Хотелось бы иметь возможность выбора графического формата создаваемых тайлов и задания степени сжатия. Если выбрана опция «Recreate target database», и целевая база данных существует и открыта в другой программе, то SAS не может ее удалить и записывает новые тайлы в существующий файл. Мне кажется, было бы лучше, если бы в этом случае экспорт прерывался и выводилось сообщение «Невозможно удалить целевую базу данных». По поводу мой хотелки: То, что есть в SACS - это совсем не то, что я прошу реализовать. Во-первых, в SACS своя уникальная реализация MBtiles, которая не соответствует официальной спецификации, поэтому созданные в SACS файлы можно использовать только в самой SACS, для других программ они не подходят. Во-вторых, в SACS кэш, а не экспорт, т. е. недоступны функции смены проекции и наложения слоя. |
(0013377) zed (manager) 03-12-2013 10:02 |
> Хотелось бы иметь возможность выбора графического формата Да, тоже про это думал. Может сделаю. > Если выбрана опция «Recreate target database» Угу, надо фиксить. > По поводу мой хотелки А я про SACS ничего не говорил. Про MBTiles есть отдельная хотелка, вот туда все свои мысли и пишите. |
(0013378) zed (manager) 03-12-2013 11:04 |
Исправил ошибки, добавил настройки выходного формата тайлов. В аттаче exe для тестов. |
(0013381) usver (reporter) 03-12-2013 16:28 edited on: 03-12-2013 16:30 |
Экспорт слоя наложения без основной карты. Если выбрать карту «No», а потом поставить флажок «Direct tiles copy», то список выбора слоя становится недоступным. Мне кажется, было бы логичнее, если бы при выборе карты «No» и установке флажка «Direct tiles copy» список выбора слоя оставался активным, а список выбора карты становился недоступным. При экспорте гибридного слоя яндекса (без основной карты) с преобразованием проекции прозрачные тайлы получаются только при настройках формата изображения Auto или PNG (32 бит)/сжатие 1. При выборе PNG с другой глубиной цвета или другим сжатием «прозрачная» часть тайлов становится черной. Это ограничение формата PNG или баг? |
(0013382) zed (manager) 03-12-2013 17:00 |
> Если выбрать карту «No» Логично. > При экспорте гибридного слоя яндекса Сжатие как бы не должно было влиять на прозрачность, а вот битность - да, влияет. |
(0013383) zed (manager) 03-12-2013 17:44 |
> Сжатие как бы не должно было влиять на прозрачность Даже больше скажу, сжатие в пределах 1..4 должно давать идентичную картинку: case APngCompress of 1..4: FFlag := PNG_Z_BEST_SPEED; 5..7: FFlag := PNG_Z_DEFAULT_COMPRESSION; 8, 9: FFlag := PNG_Z_BEST_COMPRESSION; else // 0 FFlag := PNG_Z_NO_COMPRESSION; |
(0013384) vdemidov (manager) 03-12-2013 17:48 |
>Даже больше скажу, сжатие в пределах 1..4 должно давать идентичную картинку: Оно всегда должно давать идентичную картинку. В png нет сжатия с потерпями. |
(0013385) zed (manager) 03-12-2013 17:50 |
Да, я имел в виду, что должны получаться бинарно-идентичные файлы :) |
(0013386) vdemidov (manager) 03-12-2013 17:51 |
>> Если выбрать карту «No» > Логично. Вообще то не очень логично. Теряется возможность экспортировать слои без пересохранения. Дизаблить выбор слоя нужно только если стоит Direct tiles copy и выбрана карта. А если выбрано No, то нужно давать возможность выбрать слой. |
(0013387) zed (manager) 03-12-2013 17:52 |
Ну так именно это и предлагалось и именно с этим я и согласился. |
(0013388) usver (reporter) 03-12-2013 17:53 |
Я пробовал 32 bit и сжатие 1 и 9. При сжатии 1 тайлы прозрачные, при сжатии 9 - черные. |
(0013389) zed (manager) 03-12-2013 17:55 |
Попробуйте ещё 5 и 0? |
(0013390) usver (reporter) 03-12-2013 18:07 edited on: 03-12-2013 18:09 |
Полные результаты для 32-bit: Сжатие Размер Прозрачность 0 1460Мб прозрачный 1 140Мб прозрачный 5 139Мб прозрачный 9 101Мб черный А ни как нельзя 8-бит прозрачными сделать? В слое наложения богатых цветов нет, лишние биты только место зря занимают. Причем много места. У 8-бит с сжатием 1 раземер 41 Мб |
(0013391) zed (manager) 03-12-2013 20:00 |
> 9 101Мб черный Весьма странно. Есть возможность проверить в другой программе? У меня на тестовом png не воспроизводится. > А ни как нельзя 8-бит прозрачными сделать? Вообще, задумывалось что там должна сохраняться прозрачность, но по факту похоже что это не всегда работает. И это связано с ограничением используемой библиотеки, которая не умеет из 32-х битных битмапок сразу делать 8-битные прозрачные. |
(0013392) usver (reporter) 04-12-2013 05:50 |
> У меня на тестовом png не воспроизводится. Я перепутал файлы. Для 32-бит получаются прозрачные тайлы при любом сжатии (как Вы и писали). Два пожелания: Если в зуме есть пропущенные тайлы, то при наложении и смене проекции берутся тайлы из предыдущих зумов. Можно ли сделать эту опцию отключаемой? Настройки формата изображения становятся недоступными, если выбрано прямое копирование - это правильно. Однако они остаются активными в тех случаях, когда срабатывает «автоматическое прямое копирование» (экспорт только карты или только слоя с гугловской проекцией). Наверное, нужно делать эти настройки недоступными и в этих случаях. |
(0013399) zed (manager) 04-12-2013 20:16 |
> Можно ли сделать эту опцию отключаемой? Можно. > Наверное, нужно делать эти настройки недоступными и в этих случаях. Поизменял поведение контролов, плюс теперь дополнительно если по каким-то причинам будет разрешено прямое копирование, то текст соответствующего чекбокса будет выделен жирным. Вне зависимости от включённого состояния этого самого чекбокса. |
(0013405) usver (reporter) 05-12-2013 18:32 |
В последней ночнушке все стало просто идеально - и функционал и интерфейс. Ни замечаний, ни пожеланий у меня не осталось. Еще раз спасибо! |
(0013408) zed (manager) 08-12-2013 13:56 |
>> А ни как нельзя 8-бит прозрачными сделать? > Вообще, задумывалось что там должна сохраняться прозрачность Ввиду некоторой доработки сохранялки gif/png-8bit 0002289, чёрный фон теперь должен стать прозрачным. |
Users who viewed this issue | |
User List | Anonymous (5417x), neDimon (1x), Erelen (1x), vdemidov (1x), zed (2x), pfg21 (2x), Garl (2x), Ivan_Zykov (1x) |
Total Views | 5427 |
Last View | 21-11-2024 09:38 |
Issue History | |||
Date Modified | Username | Field | Change |
16-10-2013 12:07 | zed | New Issue | |
16-10-2013 12:07 | zed | Issue generated from: 0002159 | |
16-10-2013 12:07 | zed | Relationship added | related to 0002159 |
16-10-2013 12:07 | zed | Project | SACS.Планета => SAS.Планета |
16-10-2013 12:08 | zed | Relationship added | has duplicate 0002208 |
16-10-2013 12:39 | vdemidov | Note Added: 0013074 | |
16-10-2013 12:40 | vdemidov | Note Added: 0013075 | |
16-10-2013 12:41 | zed | Note Added: 0013076 | |
16-10-2013 12:47 | vdemidov | Note Added: 0013077 | |
16-10-2013 12:49 | zed | Note Added: 0013078 | |
16-10-2013 12:54 | vdemidov | Note Added: 0013079 | |
16-10-2013 13:00 | zed | Note Added: 0013080 | |
16-10-2013 13:15 | vdemidov | Note Added: 0013081 | |
16-10-2013 13:15 | vdemidov | Status | new => confirmed |
16-10-2013 13:16 | vdemidov | Target Version | => 131111 |
16-10-2013 13:19 | zed | Note Added: 0013082 | |
16-10-2013 13:21 | vdemidov | Note Added: 0013083 | |
16-10-2013 13:26 | zed | Note Added: 0013084 | |
16-10-2013 13:32 | zed | Note Edited: 0013084 | View Revisions |
16-10-2013 13:34 | vdemidov | Note Added: 0013085 | |
24-10-2013 05:59 | usver | Note Added: 0013117 | |
24-10-2013 07:43 | vdemidov | Category | Баг => Хотелка |
24-10-2013 07:43 | vdemidov | Target Version | 131111 => 29xxxx |
24-10-2013 07:43 | vdemidov | Summary | При экспорте в RMaps (SQLite) не учитывается проекция карты => При экспорте в RMaps (SQLite) нельзя изменить проекция карты |
24-10-2013 07:43 | vdemidov | Description Updated | View Revisions |
24-10-2013 09:52 | vdemidov | Summary | При экспорте в RMaps (SQLite) нельзя изменить проекция карты => При экспорте в RMaps (SQLite) нельзя изменить проекцию карты |
24-10-2013 12:17 | vdemidov | Tag Attached: RMaps | |
24-10-2013 12:17 | vdemidov | Tag Attached: экспорт | |
06-11-2013 10:59 | vdemidov | Severity | major => feature |
22-11-2013 22:35 | vdemidov | Product Version | .Nightly => 131111 |
02-12-2013 17:07 | zed | Note Added: 0013371 | |
02-12-2013 17:07 | zed | Assigned To | => zed |
02-12-2013 17:07 | zed | Status | confirmed => assigned |
02-12-2013 17:08 | zed | Target Version | 29xxxx => 140303 |
03-12-2013 06:20 | usver | Note Added: 0013372 | |
03-12-2013 06:25 | usver | Note Added: 0013373 | |
03-12-2013 07:52 | zed | Note Added: 0013374 | |
03-12-2013 07:52 | zed | Note Edited: 0013374 | View Revisions |
03-12-2013 07:54 | zed | Note Edited: 0013374 | View Revisions |
03-12-2013 08:17 | vdemidov | Tag Attached: SQLite | |
03-12-2013 08:32 | zed | Relationship added | related to 0001823 |
03-12-2013 08:36 | zed | Relationship added | related to 0001409 |
03-12-2013 09:54 | usver | Note Added: 0013376 | |
03-12-2013 10:02 | zed | Note Added: 0013377 | |
03-12-2013 11:02 | zed | File Added: SASPlanet.RMaps.Debug.7z | |
03-12-2013 11:04 | zed | Note Added: 0013378 | |
03-12-2013 16:28 | usver | Note Added: 0013381 | |
03-12-2013 16:30 | usver | Note Edited: 0013381 | View Revisions |
03-12-2013 17:00 | zed | Note Added: 0013382 | |
03-12-2013 17:44 | zed | Note Added: 0013383 | |
03-12-2013 17:48 | vdemidov | Note Added: 0013384 | |
03-12-2013 17:50 | zed | Note Added: 0013385 | |
03-12-2013 17:51 | vdemidov | Note Added: 0013386 | |
03-12-2013 17:52 | zed | Note Added: 0013387 | |
03-12-2013 17:53 | usver | Note Added: 0013388 | |
03-12-2013 17:55 | zed | Note Added: 0013389 | |
03-12-2013 18:07 | usver | Note Added: 0013390 | |
03-12-2013 18:09 | usver | Note Edited: 0013390 | View Revisions |
03-12-2013 20:00 | zed | Note Added: 0013391 | |
04-12-2013 05:50 | usver | Note Added: 0013392 | |
04-12-2013 20:16 | zed | Note Added: 0013399 | |
04-12-2013 20:16 | zed | File Deleted: SASPlanet.RMaps.Debug.7z | |
05-12-2013 18:32 | usver | Note Added: 0013405 | |
06-12-2013 04:47 | zed | Status | assigned => resolved |
06-12-2013 04:47 | zed | Fixed in Version | => 140303 |
06-12-2013 04:47 | zed | Resolution | open => fixed |
08-12-2013 13:56 | zed | Note Added: 0013408 | |
06-03-2016 06:37 | zed | Relationship added | related to 0002980 |
My View | View Issues | Change Log | Roadmap | Search |
Copyright © 2007 - 2024 SAS.Planet Team |