Re: Программа навигации OZI Explorer
пробовал oziapi.dll через autohotkey. В AHK есть функция (DllCall) для работы через api. У меня получилось только закрывать озик. Другие команды требуют дополнительных параметров (например создание точки требует передачу координат, названия и т.д) я не разобрался в синтаксе как передавать эти дополнительные параметры. А тема интересная. Я в програмировании не особо. Может кто разовьет эту тему - Ozi и AHK.
Re: Программа навигации OZI Explorer
Цитата:
Сообщение от
borgul
пробовал oziapi.dll через autohotkey. В AHK есть функция (DllCall) для работы через api. У меня получилось только закрывать озик. Другие команды требуют дополнительных параметров (например создание точки требует передачу координат, названия и т.д) я не разобрался в синтаксе как передавать эти дополнительные параметры. А тема интересная. Я в програмировании не особо. Может кто разовьет эту тему - Ozi и AHK.
Поддерживаю на все 100%
Это здорово бы упростило работу с Ози в PCCAR
Ведь ОЗИ скорее редактор чем треккер - нет полноэкранного режима мало горячих клавишь и т.д.
Расшифровка АРI продвинуло бы исползование его в PCCAR
Но кто разберет эту тарабарщину??:
Map Commands
--------------------------------------------------------------------------------
Load Map
function oziLoadMap(var MapName:pansichar):integer;stdcall;
Loads a map file
Specify the full path and name of the file.
--------------------------------------------------------------------------------
Toggle map saved flag
function oziSaveMap(var MapName:pansichar):integer;stdcall;
If Flag is true then the map loaded into OziExplorer is assumed to be saved and the user will not be prompted to save it when a new map is loaded or OziExplorer is closed.
------------------------------------------------------------------------------
Find map at position
function oziFindMapAtPosition(Lat,Lon:double):integer;stdca ll;
Requires OziExplorer version 3.90.4h2 or later
The available maps will be scanned and a list of maps presented for selection (within OziExplorer), the map will be centered on the specified position and a mark added at the position (a bullseye).
--------------------------------------------------------------------------------
Check if position on map
function oziIsPositionOnMap(lat,lon:double):integer;stdcall ;
Versions
API - 1.05
OziExplorer - 3.95.2
lat,lon - the position in decimal degrees (WGS 84 datum)
Returns 1 if the position is on the current map 0 if it is not on the map.
Useful to create a moving map in OziExplorer without using the OziExplorer built in moving map function.
--------------------------------------------------------------------------------
Find best map for position
function oziFindBestMap(lat,lon:double;SubFolders:integer;v ar MapPath:pansichar;var MapFile:pansichar):integer;stdcall;
Versions
API - 1.05
OziExplorer - 3.95.2
lat,lon - the position in decimal degrees (WGS 84 datum)
SubFolders - 0 = do not search subfolders ; 1=search subfolders
MapPath - the path to search, use the oziGetMapFilePath command if you want the Map File path setting.
MapFile - the name of the best map is returned in this variable
Will return the best (most detailed) map it finds which matches the lat,lon position.
Useful to create a moving map in OziExplorer without using the OziExplorer built in moving map function.
:confused::confused::confused:
P.S. Во еще и язык показывает !
Вместо морды с языком :р
Вложений: 1
Re: Программа навигации OZI Explorer
Но может все проще...
Можно оказывается назначить горячую клавишу (например F7)
А открывающееся окно - индефицировать => задать размер и положение
(и тогда мышка не промахнется) => выбирать одну из двух карт по очереди
=> потом закрыть окно.
Re: Программа навигации OZI Explorer
Нужно назначить горячую клавишу на команду Other - Find maps at Current Position. Появится окошко со списком карт, покрывающих текущую позицию. Надо выбрать нужную карту, нажимая стрелку вниз, затем Enter. Мышь не нужна даже.
Кстати, SAS Планета тоже может скачивать область, заданную координатами углов. Только для одного листа 500-метровки ГШ требуется скачать более 9700 блоков, если с 18-м разрешением. Это много.
Re: Программа навигации OZI Explorer
Цитата:
Сообщение от
Papazol
Нужно назначить горячую клавишу на команду Other - Find maps at Current Position.
Это мы об одном и том же, просто у меня дома русифицированная версия.
Цитата:
Сообщение от
Papazol
Появится окошко со списком карт, покрывающих текущую позицию. Надо выбрать нужную карту, нажимая стрелку вниз, затем Enter. Мышь не нужна даже.
Да может быть и так, надо пробовать => для этого надо сделать хотя бы еще одну карту для тукущей позиции N40-40!
Вложений: 1
Re: Программа навигации OZI Explorer
Вот попробовал --- сделал копию файлов N40-040 (с -1) теперь по горячей клавише открывает список из двух карт Но! последовательность файлов в списке одна и таже не зависимо от того какая карта открыта и надо поставить галочке против опции "Auto Close Window on Map Open"
Тогда:
1. При выборе соответствующей горячей клавиши появится окно "Мар Available for this Position" с двумя картами
2. Нажатие стрелки вниз и выбирается первая по списку карта.
3. Нажатие стрелки вниз еще раз и выбирается вторая по списку карта.
Enter - закрывает окно и грузит выбранную карту.
http://www.compcar.ru/forum/attachme...1&d=1259577430
Можно сделать конечно два скина и две клавиши одну для генштабовской, другую - для космоснимка.
Вот только бы надо одну клавишу, чтобы она попеременно переключала карты один раз генштабовскую, другой - космоснимок.
Скорее это надо в оболочке сделать через переменную...
Re: Программа навигации OZI Explorer
Попробовал программу MapBuilder - Великолепно!
Но вылезла одна проблема !!! Снимок с генштабовскую карту уровнем 17 имеет размер более 200метров! Придется как минимум на 12 делить. Но это еще не все!
Снимок априори имеет более высокое разрешение - значит всегда будет грузиться он, а не карта. Скорее всего придеться возвращаться к идее с двумя ОЗИ.
Вот и правильно, что двигаюсь в двух направлениях.
Для двух ОЗИ наверно надо создать файл "скрипт.ini" в нем прописать ID и текущее состояние для распознавания программ . И через него проводить все переключения.
Вложений: 1
Re: Программа навигации OZI Explorer
Цитата:
Сообщение от
Sok-San
Попробовал программу MapBuilder - Великолепно!
Но вылезла одна проблема !!! Снимок с генштабовскую карту уровнем 17 имеет размер более 200метров! Придется как минимум на 12 делить.
Об чём и речь-то! Просто снимки намного более детальны, чем карты ГШ.
Цитата:
Сообщение от
Sok-San
Но это еще не все!
Снимок априори имеет более высокое разрешение - значит всегда будет грузиться он, а не карта. Скорее всего придеться возвращаться к идее с двумя ОЗИ.
Эта проблема как раз обходится. Можно запретить поиск более детальных карт, и тогда будет грузиться то, что нам нужно.
Цитата:
Сообщение от
Sok-San
Вот и правильно, что двигаюсь в двух направлениях.
Для двух ОЗИ наверно надо создать файл "скрипт.ini" в нем прописать ID и текущее состояние для распознавания программ . И через него проводить все переключения.
Я пока не допёр, как можно распознавать две открытые одинаковые программы, но зато написал вот такой скрипт, который в одной программе переключает карты. Конечно, это решение не универсально, прежде всего потому, что опирается на определённое разрешение экрана, а также на определённый набор карт и снимков. Но в случае необходимости можно подработать под текущие условия.
Re: Программа навигации OZI Explorer
Цитата:
Сообщение от
Papazol
Эта проблема как раз обходится. Можно запретить поиск более детальных карт, и тогда будет грузиться то, что нам нужно.
Это я как понял ВОТ ТАК:
http://s57.radikal.ru/i155/0912/2d/9903b45d7752.jpg
1. здесь мы прописываем пути к генштабовским картам
2. здесь мы прописываем пути к снимкам со спутников (Вот здесь надо уточнить - в первом пути путь к снимкам или в первом надо продублировать путь к картам а во втором прописать путь к снимкам??)
3 Здесь мы запрещаем поиск более детальных карт. (а вот галочка "Current Map Path" для чего ? или она просто дублирует работу с текущей папкой карт? она должна стоять или нет? что будет происходить когда мы например едим по снимку и приблизимся к его границе? Надо пробовать! К сожалению авто на приколе проверить не получится.
Цитата:
Сообщение от
Papazol
Я пока не допёр, как можно распознавать две открытые одинаковые программы, но зато написал вот такой скрипт, который в одной программе переключает карты. Конечно, это решение не универсально, прежде всего потому, что опирается на определённое разрешение экрана, а также на определенный набор карт и снимков. Но в случае необходимости можно подработать под текущие условия.
При каждом открытие программы её окну присваивается номер ID и он сохраняется при смене карт. Так как у каждой проги номер свой, их можно различать.
Посмотрел твой скрипт все замечательно. Но мне бы хотелось чтобы программа не висела постоянно, а закрывалась бы сразу после разворачивания окон. А переключение карт выполнял другой скрипт.
Вот для этого и нужен файл "скрипт.ini", в котором можно запомнить номер ID каждой проги и сделать переключатель (key), например karta=0 - работает прога с картами, karta=1 - работает прога со снимками.
Все это делается очень просто командами автоита:
IniRead ( "filename", "section", "key", "default" )
IniWrite ( "filename", "section", "key", "value" )
Если туда еще прописать пути к прогам ОЗИ, размеры экрана и окон, то скрипты можно сделать универсальные.
P.S. Но я все таки склоняюсь к первому решению с одной прогой....
Re: Программа навигации OZI Explorer
Вот попробовал с MapBuilder собрать карту для ОЗИ на 10' долготы и на 5' широты
снимок уровнем 17 имеет более 7000х8000 пикселей и размер более 16Мб!
Размер нормальный и в ozf3 грузится быстро будет, вот только чуть ли не целый день ползал по снимку с высотой камеру 1 км, пока все блоки не зацепил! Может есть какой другой способ загнать нужные блоки в кеш Google Earth Pro.
Высоты камеры 1км хватает и для 18-го уровня только что-то сбоит на середине при сборке.