SASGIS - SAS.Планета |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0003030 | SAS.Планета | [All Projects] Хотелка | public | 19-05-2016 12:16 | 27-03-2019 10:54 |
|
Reporter | DimaDD | |
Assigned To | vdemidov | |
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | closed | Resolution | won't fix | |
Platform | | OS | | OS Version | |
Product Version | | |
Target Version | | Fixed in Version | | |
|
Summary | 0003030: Взаимодействие с программой OziExplorer (PC) через библиотеку OziAPI.dll |
Description | Это нововведение представляется довольно интересным и полезным (думается, что многие пользователи были бы очень благодарны за такой доп. функционал). Подозреваю также, что реализация не должна оказаться слишком сложной.
Внешне это может выглядеть так:
Одновременно открыты два окна - SAS Planet (скажем, со спутниковым изображением) и OziExplorer (с пользовательской картой, например - исторической). Пользователь указывает мышью позиции на изображении местности в SAS Planet - и они тут же показываются в OziExplorer (проще всего и, кмк, вполне достаточно просто центрированием карты). И наоборот: SAS Planet показывает расположение точек, указанных мышью в OziExplorer.
Таким образом, получается весьма удобный двухоконный инструмент для сравнения пользовательских карт с местностью.
|
Steps To Reproduce | На сайте OziExplorer находится свободно распространяемая библиотека OziAPI.dll (http://www.oziexplorer3.com/oziapi/oziapi.html), вместе с тех. документацией и примерами (в т.ч. для Delphi).
Некоторая проблема также возникает с показом центра карты в OziExplorer (я не нашёл там отображения чего-нибудь вроде перекрестья в центре карты), однако это довольно просто решается нахождением окна OziExplorer, его дочернего компонента класса "TScrollBox1" и рисованием пользовательского маркера поверх него в центре. |
Additional Information | Нечто подобное (в веб-варианте) реализовано на сайте http://www.etomesto.ru, но там только лишь синхронизируется положение карт, что менее удобно.
Кроме того, 2 года назад я написал (большей частью собрал из того, что нашёл) небольшую и простую Delphi7-программу OziGE, которая реализует это дело с использованием GoogleEarth API. Однако, когда сейчас решил немного "причесать" этот проект, то вдруг обнаружил, что сервис GoogleEarth API прекратит работу в конце 2016 года (https://developers.google.com/earth/) и, стало быть, программа перестанет работать(?)...(((
Программу можно найти вот тут:
Google Drive: https://drive.google.com/file/d/0BwwWPUHhxn2ETHdZcmd2NVlBVlU
Yandex Disk: https://yadi.sk/d/SEURrq9IrmBBx
Прилагаю также исходники (D7), оттуда можно позаимствовать всё, что может потребоваться. |
Tags | No tags attached. |
Relationships | |
Attached Files | OziGE_Src.zip (220,061) 19-05-2016 12:16 https://bugtracker.sasgis.org/file_download.php?file_id=2055&type=bug |
|
Issue History |
Date Modified | Username | Field | Change |
19-05-2016 12:16 | DimaDD | New Issue | |
19-05-2016 12:16 | DimaDD | File Added: OziGE_Src.zip | |
19-05-2016 13:15 | vdemidov | Note Added: 0017224 | |
19-05-2016 14:39 | DimaDD | Note Added: 0017225 | |
19-05-2016 14:56 | zed | Note Added: 0017226 | |
19-05-2016 15:14 | DimaDD | Note Added: 0017227 | |
19-05-2016 17:43 | Garl | Note Added: 0017228 | |
20-05-2016 07:15 | vdemidov | Note Added: 0017229 | |
20-05-2016 13:39 | DimaDD | Note Added: 0017235 | |
27-03-2019 10:54 | vdemidov | Status | new => resolved |
27-03-2019 10:54 | vdemidov | Resolution | open => won't fix |
27-03-2019 10:54 | vdemidov | Assigned To | => vdemidov |
27-03-2019 10:54 | vdemidov | Status | resolved => closed |
Notes |
|
|
Не знаю зачем это и кому нужно. Терпеть не могу Озик. Собственно из-за его убогости и необходимости альтернативы в свое время присоединился к разработке САС.Планеты. |
|
|
(0017225)
|
DimaDD
|
19-05-2016 14:39
|
|
Озик тут лишь играет роль второго окна-вьюера для пользовательских карт (использование которых сейчас в SAS.Planet весьма заморочно, в этом она пока что не альтернатива). Несмотря на свою архаичность, Озик вполне исправно показывает свой вариант карт (картинка + map-файл, которые до настоящего времени крайне популярны), калибровка изображений в Озике очень простая и быстрая.
Второй важный момент: два окна при сличении карты с местностью (или двух карт) зачастую удобнее, чем одно изображение, наложенное полупрозрачным слоем поверх другого (либо с переключением видимости слоёв). Такой функционал может быть полезен, скажем, тем, кто работает с историческими картами (историкам, археологам). Сайт ЭтоМесто.ру (или OziGE) - это довольно наглядные примеры двухоконных картографических приложений, всё же стоит глянуть... Мне с коллегами (мы геологи-"научники") часто бывает нужно сличение местности с тематическими картами (геологическими разных типов, фактического материала и др.), которые далеко не всегда в исходном формате, зачастую это вообще сканы со старых калек, публикаций и т.п. При планировании/обсуждении деталей маршрутов тоже весьма полезно видеть местность и карту в двух окнах сразу. |
|
|
(0017226)
|
zed
|
19-05-2016 14:56
|
|
DimaDD
Может вы можете сами сделать эту хотелку? |
|
|
(0017227)
|
DimaDD
|
19-05-2016 15:14
|
|
У меня нулевой опыт в коллективных программных проектах, да ещё таких больших и такого уровня. Всё, что я делал до сих пор (и, хм, продолжаю), это (поза)прошлый век.
Я, конечно же, заглянул в исходники... Сказать, что я мало, что понял - это было бы слишком мягко сказано!
Хоть я ещё попытаюсь, но сильно подозреваю, что мой уровень низковат. |
|
|
(0017228)
|
Garl
|
19-05-2016 17:43
|
|
Не бойтесь для меня тоже САС-Планета - первый практический опыт как в коллективной разработке, так и вообще в ООП )) было бы желание.
з.ы.
я пользуюсь хоткеями для карт и при переключении очень даже наглядно всё получается и на одном мониторе |
|
|
|
> Не бойтесь
+1
Для начала попробуйте реализовать однократную синхронизацию экранов ОЗИ и САС просто по выбору пункта меню в САС. Кликнули - центр экрана САС переместился в то же положение что открыто в ОЗИ. |
|
|
(0017235)
|
DimaDD
|
20-05-2016 13:39
|
|
Спасибо за моральную поддержку! Хотя я сразу запнулся ещё на стадии образа в VBox )) - мой нынешний домашний комп слабоват, пока что придётся на работе...(((
Но сейчас стал подозревать, что лучше пойти по несколько иному пути. Кмк, он для SAS.Planet более предпочтителен(?)
Я более внимательно изучил записи багтрекера + исходники и обнаружил замечательную хотелку, которая в значительной мере пересекается с моей, но является более глобальной: 0001869. Она уже решена, тестовая программа TestWMCopyData.exe работает исправно.
В общем, идея простая: чем внедрять поддержку Озика (или чего-то ещё стороннего, кто знает?) непосредственно в саму САС Планету, лучше написать маленькую отдельную программку, которая бы взяла на себя как всю возню с OziAPI.dll, так и общение с САС Планетой.
Однако, пока что через посылку WM_COPYDATA решается лишь половина задачи общения с САС Планетой: не хватает отправки обратных сообщений((( Об этом, вроде, уже заходила речь, но... Может, стоит подумать в этом направлении?
P.S. Пока что в качестве чрезвычайно уродливого костыля я могу воспользоваться имеющимся копированием координат в буфер обмена (правая кнопка мыши + "КК", хотя тут есть небольшая проблемка с English language), но это жесть, конечно!))) |
|