Чего вы хотите?
Модератор: Tolik
Re: Чего вы хотите?
Привет, прикрутите, если возможно, создание .*tab при склейке тайлов в файл, .*tab это привязка растра для MapINFO, также ее можно использовать при векторизации растров в EasyTrace.
По структуре *tab не слишком отличаются от *map файла OZI.
У * map файла Ози есть угловые точки -
MMPXY,1,0,0
MMPXY,2,5264,0
MMPXY,3,5264,5344
MMPXY,4,0,5344
MMPLL,1, 49.49340820, 58.70085165
MMPLL,2, 49.94522094, 58.70085165
MMPLL,3, 49.94522094, 58.46130937
MMPLL,4, 49.49340820, 58.46130937
Для *tab требуется тоже самое , только немного в другом формате -
!table
!version 300
!charset WindowsCyrillic
Definition Table
File "kirovksn_1-1.gif"
Type "RASTER"
(49.4934082,58.70085165) (0,0) Label "Точка 1",
(49.94522094,58.46130937) (5264,5344) Label "Точка 2",
(49.94522094,58.70085165) (5264,0) Label "Точка 3",
(49.4934082,58.46130937) (0,5344) Label "Точка 4"
CoordSys Earth Projection 1, 104
Units "degree"
RasterStyle 7 0
У таба и мапа 1 и 4 точки совпадают по пикселям и градусам, 2 и 3 меняются координатами.
По структуре *tab не слишком отличаются от *map файла OZI.
У * map файла Ози есть угловые точки -
MMPXY,1,0,0
MMPXY,2,5264,0
MMPXY,3,5264,5344
MMPXY,4,0,5344
MMPLL,1, 49.49340820, 58.70085165
MMPLL,2, 49.94522094, 58.70085165
MMPLL,3, 49.94522094, 58.46130937
MMPLL,4, 49.49340820, 58.46130937
Для *tab требуется тоже самое , только немного в другом формате -
!table
!version 300
!charset WindowsCyrillic
Definition Table
File "kirovksn_1-1.gif"
Type "RASTER"
(49.4934082,58.70085165) (0,0) Label "Точка 1",
(49.94522094,58.46130937) (5264,5344) Label "Точка 2",
(49.94522094,58.70085165) (5264,0) Label "Точка 3",
(49.4934082,58.46130937) (0,5344) Label "Точка 4"
CoordSys Earth Projection 1, 104
Units "degree"
RasterStyle 7 0
У таба и мапа 1 и 4 точки совпадают по пикселям и градусам, 2 и 3 меняются координатами.
Re: Чего вы хотите?
azya писал(а):Вот и я) Все замечания принял к сведению, особенно хочу отметить переход по координатам записанным в любом виде. Сам думал о такой фиче, тем болеее что действительно напрягает перебивать к-ты из различных форумов.
Я уже как то предлагал, сделать обмен координатами в виде ссылок на гугл мапс, вроде такой
http://maps.google.com/maps?&ll=55.7559 ... 45576&z=15
в смысле
http:||maps.google.com/maps?&ll=55.755979,37.617617&spn=0.012799,0.045576&z=15
Как правило ссылки длиннее, но из них можно брать только 3 параметра, координаты и масштаб.
Т.е. например в контекстном меню сделать чтото вроде этого - "Копирование координаты в буфер в формате GooglMaps" и "Перейти к координатам из буфера"
Такими ссылками и обмениваться легко, если что можно сразу перейти по ним в браузере, и координаты там видны если что.
И получить ее на maps.google.com тоже легко, нажав справа верху линк "Ссылка"
- feya
- Гуру
- Сообщения: 2034
- Зарегистрирован: 13 июл 2008, 10:45
- Благодарил (а): 5 раз
- Поблагодарили: 56 раз
Re: Чего вы хотите?
Привет, прикрутите, если возможно, создание .*tab при склейке тайлов в файл
Тот пример что вы привели это полностью файл или часть?
irbis
Ну на счет копирования в буфер ссылки на гугл ето уже есть, а вот обратно пока думаем)
http://sasgis.org | SAS.Планета | SASPlanet
- svp
- Советчик
- Сообщения: 447
- Зарегистрирован: 26 авг 2008, 11:14
- Откуда: Белгород
- Благодарил (а): 2 раза
- Поблагодарили: 7 раз
- Контактная информация:
Re: Чего вы хотите?
azya писал(а):пока думаем
А что там думать?
Если произвести поиск, например, в строке:
Код: Выделить всё
http://maps.google.com/maps?&ll=55.755979,37.617617&spn=0.012799,0.045576&z=15по регулярному выражению:
Код: Выделить всё
(http://)?maps.google.[^/]*/.*(ll=(\d+(.\d+)?),(\d+(.\d+)?)).*(z=(\d*))и поиск будет успешным, значит в тексте есть URL гугл-мэпса.
Если произвести замену вышеупомянутого регекспа на
Код: Выделить всё
lon=\3;lat=\5;zoom=\8то получим строку
Код: Выделить всё
lon=55.755979;lat=37.617617;zoom=15Если кому не понятно, то в строке замены \3, \5 и \8 -- это номера скобок из выражения поиска. То, что сопоставилось с этими скобками подставляется в строку замены вместо соответствущего \*.
В зависимости от реализации парсера регулярных выражений, значения этих скобок можно получить и без замены, а с помощью соответствующих методов (функций) коим передаётся номер скобки.
Вот простой и удобный персер регекспов с примерами:
- feya
- Гуру
- Сообщения: 2034
- Зарегистрирован: 13 июл 2008, 10:45
- Благодарил (а): 5 раз
- Поблагодарили: 56 раз
Re: Чего вы хотите?
svp
Я не хачу делать парсинг токо гугловские ссылки я хачу штоб прога выбирала координаты из любой строки.
Я не хачу делать парсинг токо гугловские ссылки я хачу штоб прога выбирала координаты из любой строки.
http://sasgis.org | SAS.Планета | SASPlanet
- svp
- Советчик
- Сообщения: 447
- Зарегистрирован: 26 авг 2008, 11:14
- Откуда: Белгород
- Благодарил (а): 2 раза
- Поблагодарили: 7 раз
- Контактная информация:
Re: Чего вы хотите?
svp писал(а):хачу штоб прога выбирала координаты из любой строки.
И я! И я хочу=) Для этого надо лишь для каждого типа URL-ов хранить регексп, который его парсит. Регекспы я составлю с превеликим удовольствием, если накидаете мне примеров этих самых URL-ов.
Кстати, регекспы для парсинга URL не надо будет менять так же часто как, например, URL'ы для скачивания тайлов. Ибо регекспы пропускают ненужные и неважные символы, а нужные и важные выхватывают. В любом случае их можно хранить в ини-файле и даже не выносит в интерфейс настроек. Кстати, если в ини-шнике сделать соответствующий раздел для регекспов, вытаскивающих координаты из любой строки, то применяя эти регекспы по очереди, можно вытащить координаты из сего угодно, если дать пользователю добавлять новые регекспы в тот список.
Re: Чего вы хотите?
Вот пример полного таб файла, здесь он вяжется по 9 точкам, чтобы было меньше искажений и точнее привязка.
На нерастянутые тайлы Гугля в принципе достаточно и 4 точек по углам.
!table
!version 300
!charset WindowsCyrillic
Definition Table
File "2.jpg"
Type "RASTER"
(49.594173431,58.379398552) (0,0) Label "Точка 1",
(49.646272659,58.361213724) (607,405) Label "Точка 2",
(49.646272659,58.379398552) (607,0) Label "Точка 3",
(49.594173431,58.361213724) (0,405) Label "Точка 4",
(49.620180130,58.370352322) (303,202) Label "Точка 5",
(49.620180130,58.379398552) (303,0) Label "Точка 6",
(49.594173431,58.370352322) (0,202) Label "Точка 7",
(49.646272659,58.370352322) (607,202) Label "Точка 8",
(49.620180130,58.361213724) (303,405) Label "Точка 9"
CoordSys Earth Projection 1, 104
Units "degree"
На нерастянутые тайлы Гугля в принципе достаточно и 4 точек по углам.
!table
!version 300
!charset WindowsCyrillic
Definition Table
File "2.jpg"
Type "RASTER"
(49.594173431,58.379398552) (0,0) Label "Точка 1",
(49.646272659,58.361213724) (607,405) Label "Точка 2",
(49.646272659,58.379398552) (607,0) Label "Точка 3",
(49.594173431,58.361213724) (0,405) Label "Точка 4",
(49.620180130,58.370352322) (303,202) Label "Точка 5",
(49.620180130,58.379398552) (303,0) Label "Точка 6",
(49.594173431,58.370352322) (0,202) Label "Точка 7",
(49.646272659,58.370352322) (607,202) Label "Точка 8",
(49.620180130,58.361213724) (303,405) Label "Точка 9"
CoordSys Earth Projection 1, 104
Units "degree"
Re: Чего вы хотите?
Огромное спасибо Разработчику Sas.Планета! Это однозначно лучшая из всех подобных программ.
В связи с тем, что одной из "официальных" структур кеша в программе допускается структура EarthSlicer,
почему бы не взять лучшее оттуда, а именно - использование хранения кеша в базах Berkely и чтения из баз
Berkely. Давно храню закачки в этом виде - ОЧЕНЬ удобно! А главное удобство заключается в том, что можно в ОДНОМ файле сохранить картинки с разных уровней и, например записать на DVD и взять с собой в дорогу только интересующую область, а не тысячи файлов, которые, к примеру, очень трудно копировать с одного носителя на другой.
Вот такое предложение Автору.
В связи с тем, что одной из "официальных" структур кеша в программе допускается структура EarthSlicer,
почему бы не взять лучшее оттуда, а именно - использование хранения кеша в базах Berkely и чтения из баз
Berkely. Давно храню закачки в этом виде - ОЧЕНЬ удобно! А главное удобство заключается в том, что можно в ОДНОМ файле сохранить картинки с разных уровней и, например записать на DVD и взять с собой в дорогу только интересующую область, а не тысячи файлов, которые, к примеру, очень трудно копировать с одного носителя на другой.
Вот такое предложение Автору.
- svp
- Советчик
- Сообщения: 447
- Зарегистрирован: 26 авг 2008, 11:14
- Откуда: Белгород
- Благодарил (а): 2 раза
- Поблагодарили: 7 раз
- Контактная информация:
Re: Чего вы хотите?
Нужно, чтобы прога при выходе приостанавливала скачивание выделенных фрагментов, а также запоминала параметры и статус скачиваемых участков в ini-файле.
Таким образом скачивание будет продолжаться даже после сбоев программы. И не надо будет по новой выделять области.
Можно также сделать единую кнопку, которая приостанавливает и запускает вновь все потоки. А если прога будет корректно детектить наличие подключения к интернету, а не пропускать тайлы во время дисконнекта как несуществующие, то будет вообще шикарно.
Таким образом скачивание будет продолжаться даже после сбоев программы. И не надо будет по новой выделять области.
Можно также сделать единую кнопку, которая приостанавливает и запускает вновь все потоки. А если прога будет корректно детектить наличие подключения к интернету, а не пропускать тайлы во время дисконнекта как несуществующие, то будет вообще шикарно.
- Vasya
- Советчик
- Сообщения: 266
- Зарегистрирован: 14 июл 2008, 13:06
- Откуда: Одесса
- Поблагодарили: 3 раза
- Контактная информация:
Re: Чего вы хотите?
А если прога будет корректно детектить наличие подключения к интернету, а не пропускать тайлы во время дисконнекта как несуществующие
может и лишнее, но в своё вчермя юзал (когда баловался Дельфёй)
http://www.delphimaster.ru/cgi-bin/faq. ... ook=1&n=20