SASGIS

Веб-картография и навигация


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003030SAS.Планета[All Projects] Хотелкаpublic19-05-2016 12:1627-03-2019 10:54
ReporterDimaDD 
Assigned Tovdemidov 
PrioritynormalSeverityfeatureReproducibilityN/A
StatusclosedResolutionwon't fix 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0003030: Взаимодействие с программой 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), оттуда можно позаимствовать всё, что может потребоваться.
TagsNo tags attached.
Attached Fileszip file icon OziGE_Src.zip [^] (220,061 bytes) 19-05-2016 12:16

- Relationships

-  Notes
(0017224)
vdemidov (manager)
19-05-2016 13:15

Не знаю зачем это и кому нужно. Терпеть не могу Озик. Собственно из-за его убогости и необходимости альтернативы в свое время присоединился к разработке САС.Планеты.
(0017225)
DimaDD (reporter)
19-05-2016 14:39

Озик тут лишь играет роль второго окна-вьюера для пользовательских карт (использование которых сейчас в SAS.Planet весьма заморочно, в этом она пока что не альтернатива). Несмотря на свою архаичность, Озик вполне исправно показывает свой вариант карт (картинка + map-файл, которые до настоящего времени крайне популярны), калибровка изображений в Озике очень простая и быстрая.

Второй важный момент: два окна при сличении карты с местностью (или двух карт) зачастую удобнее, чем одно изображение, наложенное полупрозрачным слоем поверх другого (либо с переключением видимости слоёв). Такой функционал может быть полезен, скажем, тем, кто работает с историческими картами (историкам, археологам). Сайт ЭтоМесто.ру (или OziGE) - это довольно наглядные примеры двухоконных картографических приложений, всё же стоит глянуть... Мне с коллегами (мы геологи-"научники") часто бывает нужно сличение местности с тематическими картами (геологическими разных типов, фактического материала и др.), которые далеко не всегда в исходном формате, зачастую это вообще сканы со старых калек, публикаций и т.п. При планировании/обсуждении деталей маршрутов тоже весьма полезно видеть местность и карту в двух окнах сразу.
(0017226)
zed (manager)
19-05-2016 14:56

DimaDD
Может вы можете сами сделать эту хотелку?
(0017227)
DimaDD (reporter)
19-05-2016 15:14

У меня нулевой опыт в коллективных программных проектах, да ещё таких больших и такого уровня. Всё, что я делал до сих пор (и, хм, продолжаю), это (поза)прошлый век.
Я, конечно же, заглянул в исходники... Сказать, что я мало, что понял - это было бы слишком мягко сказано!
Хоть я ещё попытаюсь, но сильно подозреваю, что мой уровень низковат.
(0017228)
Garl (manager)
19-05-2016 17:43

Не бойтесь для меня тоже САС-Планета - первый практический опыт как в коллективной разработке, так и вообще в ООП )) было бы желание.
з.ы.
я пользуюсь хоткеями для карт и при переключении очень даже наглядно всё получается и на одном мониторе
(0017229)
vdemidov (manager)
20-05-2016 07:15

> Не бойтесь
+1

Для начала попробуйте реализовать однократную синхронизацию экранов ОЗИ и САС просто по выбору пункта меню в САС. Кликнули - центр экрана САС переместился в то же положение что открыто в ОЗИ.
(0017235)
DimaDD (reporter)
20-05-2016 13:39

Спасибо за моральную поддержку! Хотя я сразу запнулся ещё на стадии образа в VBox )) - мой нынешний домашний комп слабоват, пока что придётся на работе...(((

Но сейчас стал подозревать, что лучше пойти по несколько иному пути. Кмк, он для SAS.Planet более предпочтителен(?)

Я более внимательно изучил записи багтрекера + исходники и обнаружил замечательную хотелку, которая в значительной мере пересекается с моей, но является более глобальной: 0001869. Она уже решена, тестовая программа TestWMCopyData.exe работает исправно.

В общем, идея простая: чем внедрять поддержку Озика (или чего-то ещё стороннего, кто знает?) непосредственно в саму САС Планету, лучше написать маленькую отдельную программку, которая бы взяла на себя как всю возню с OziAPI.dll, так и общение с САС Планетой.

Однако, пока что через посылку WM_COPYDATA решается лишь половина задачи общения с САС Планетой: не хватает отправки обратных сообщений((( Об этом, вроде, уже заходила речь, но... Может, стоит подумать в этом направлении?

P.S. Пока что в качестве чрезвычайно уродливого костыля я могу воспользоваться имеющимся копированием координат в буфер обмена (правая кнопка мыши + "КК", хотя тут есть небольшая проблемка с English language), но это жесть, конечно!)))

- Users who viewed this issue
User List Anonymous (2559x), DimaDD (22x), vdemidov (14x), hrucker (3x), tiburon (2x), VMatveev (1x), netsky (1x), aflexus (1x), ElfKaa (2x), zed (9x), bk99 (3x), Garl (6x), ygorigor (1x), onuff (1x), Papazol (1x)
Total Views 2626
Last View 22-11-2024 02:38

- 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



Copyright © 2007 - 2024 SAS.Planet Team