Ответить
  • -KSV- Senior MemberАвтор темы
    офлайн
    -KSV- Senior Member Автор темы

    1853

    24 года на сайте
    пользователь #1148

    Профиль
    Написать сообщение

    1853
    # 14 мая 2006 10:51

    На счет автоматического сохранения на квадраты уже думал... Будет время - сделаю.

    А зачем перехлест? Вроде ози при приближении к границе карты вовремя выдает следующую. Или получается разрыв?

    А большой кусок сохранять - конечно выдаст ошибку. Посчитай например размер несжатого битмапа - 1024 на 1024 блоков:

    сторона каждого битмапа будет 1024*256 = 262144 точек (каждый блок 256x256 пискелов). Возведи это число в квадрат (т.к. считаем общее количество пикселов) и умножь на 3 (т.к. по 3 байта приходится на пиксел). Удивишься количеству памяти, требуемой на обработку изображения. Если конечно калькулятора хватит.

    Поэтому не стоит удивлятся что прога валится при сохранении большого количества блоков.

    На счет автоматического скачивания - тоже думал уже. Сделать очередь. Но пока руки не дошли.

    Будь проще! В Ветхом Завете Бог дает Моисею всего десять заповедей вместо какого-нибудь путанного законодательства с множеством статей и поправок.
  • -KSV- Senior MemberАвтор темы
    офлайн
    -KSV- Senior Member Автор темы

    1853

    24 года на сайте
    пользователь #1148

    Профиль
    Написать сообщение

    1853
    # 14 мая 2006 13:09

    Иногда гугль немножко косит. Случается это там, где накладываются полосы со спутников, снятые в разное время.

    Вот, посмотрите на фото, это в районе Уручья:

    Будь проще! В Ветхом Завете Бог дает Моисею всего десять заповедей вместо какого-нибудь путанного законодательства с множеством статей и поправок.
  • Sergei. Senior Member
    офлайн
    Sergei. Senior Member

    963

    22 года на сайте
    пользователь #10249

    Профиль
    Написать сообщение

    963
    # 14 мая 2006 15:11
    -KSV-:

    На счет автоматического сохранения на квадраты уже думал... Будет время - сделаю.

    А зачем перехлест? Вроде ози при приближении к границе карты вовремя выдает следующую. Или получается разрыв?

    А большой кусок сохранять - конечно выдаст ошибку. Посчитай например размер несжатого битмапа - 1024 на 1024 блоков:

    сторона каждого битмапа будет 1024*256 = 262144 точек (каждый блок 256x256 пискелов). Возведи это число в квадрат (т.к. считаем общее количество пикселов) и умножь на 3 (т.к. по 3 байта приходится на пиксел). Удивишься количеству памяти, требуемой на обработку изображения. Если конечно калькулятора хватит.

    Поэтому не стоит удивлятся что прога валится при сохранении большого количества блоков.

    На счет автоматического скачивания - тоже думал уже. Сделать очередь. Но пока руки не дошли.

    Я это (по поводу объема) отлично понимаю :) по этому и предлагаю решение ;)

    на счет перехлеста - стоит сделать. Причина - как правило дороги не идут точно вдоль координат - на север или на запад. Соответственно у меня вчера была ситуация когда ехали в сторону раубич - там много мелких поворотов и карты постоянно между собой переключаются. А когда есть перехлест - этого происходить не будет. Карта будет подгружена или одна или вторая.

    Ну или как минимум сделать опцию с перехлестом - для таких зануд как я :)

    А вообще карты суперские получаются. Если бы можно было в ози или еще как - наносить слой с названиями населенных пунктов - про сканирование обычных карт можно было бы забыть.

    В связи с этим 2 вопроса.

    1. Какой формат файла который кладется в директорию Cities? Есть ли какая то тулуза которая позволяла бы его генерировать скажем из того же ОЗИ эксплорера (с загруженной картой-километровкой)? У меня бук с дигитайзером (таблет) - в принципе довольно легко было бы нужный район оцифровать.

    2. Можно ли предусмотреть сохранение картинки (карты) с нанесенными названиями населенных пунктов?

  • Sergei. Senior Member
    офлайн
    Sergei. Senior Member

    963

    22 года на сайте
    пользователь #10249

    Профиль
    Написать сообщение

    963
    # 14 мая 2006 15:44

    ну вот. Меня теперь забанили :)

    Надеюсь что временно :)

    Еще один комментарий (я это не к тому что надо что-то срочно делать, а в копилку идей :)

    Когда нужно вырезать кусок карты с большой детализацией (текущий вид карты скажем 8-10 а сохранить часть хочется с детализацией 16-18) то очень сложно ориентироваться по карте, на которой нанесена такая мелкая сетка.

    Предложение - когда сетка крупная (+2-4) выделяется блок, после чего сетка умельчается, но при этом выделение запоминается (сейчас сбрасывается).

    Таким образом на карте, на которой легко ориентироваться выделяется нужный участок, а потом уже он сохраняется в нужной детализации.

    вот :)

  • -KSV- Senior MemberАвтор темы
    офлайн
    -KSV- Senior Member Автор темы

    1853

    24 года на сайте
    пользователь #1148

    Профиль
    Написать сообщение

    1853
    # 14 мая 2006 16:58
    Sergei.:


    на счет перехлеста - стоит сделать. Причина - как правило дороги не идут точно вдоль координат - на север или на запад. Соответственно у меня вчера была ситуация когда ехали в сторону раубич - там много мелких поворотов и карты постоянно между собой переключаются. А когда есть перехлест - этого происходить не будет. Карта будет подгружена или одна или вторая.

    Согласен. Разумно.

    Sergei.:


    1. Какой формат файла который кладется в директорию Cities? Есть ли какая то тулуза которая позволяла бы его генерировать скажем из того же ОЗИ эксплорера (с загруженной картой-километровкой)? У меня бук с дигитайзером (таблет) - в принципе довольно легко было бы нужный район оцифровать.

    Кажется я эту ссылку уже кидал. Повторюсь еще раз:

    http://www.world-gazetteer.com/wg.php?x=&men=stdl&lng=en&dat=32&s ... &col=aohdq

    Там второй раздел "Structure of the file", там описание формата.

    Открой файл, например в ворде (текст Unicode), сам все увидишь...

    Я не знаю кто умеет экспортировать координаты в этот файл. Ozi точно не сможет. Да и откуда он координаты возьмет.

    Sergei.:


    2. Можно ли предусмотреть сохранение картинки (карты) с нанесенными названиями населенных пунктов?

    Можно в принципе. Но как ты заметил у меня названия пишутся коряво (внахлест). Потому как я их вывожу по простому алгоритму. Я не заморачивался с этим, т.к. делал отображение названий населенных пунктов только для ориентации при скачивании.

    Кстати, заметил, по беларуси очень мало населенных пунктов. Только крупные. Даже по той же России есть многие деревни с населением около 1000 человек. Я офигел!

    Вот еще проблема. При преобразовании снимка в ozf2, не хватает цветов. Начинают очень некрасиво выглядеть поля, водоемы... Что делать, пока не знаю. Большой JPEG грузится долго. Пытался через фотошоп преобразовывать сначала в GIF что бы палитру подобрать, но все-равно криво выходит.

    Будь проще! В Ветхом Завете Бог дает Моисею всего десять заповедей вместо какого-нибудь путанного законодательства с множеством статей и поправок.
  • -KSV- Senior MemberАвтор темы
    офлайн
    -KSV- Senior Member Автор темы

    1853

    24 года на сайте
    пользователь #1148

    Профиль
    Написать сообщение

    1853
    # 14 мая 2006 17:02
    Sergei.:

    ну вот. Меня теперь забанили :)

    Надеюсь что временно :)

    Хе, жадность... Жадность... :lol:

    Поэтому я защиту и делал. Хотя иногда дает качать и по 4000 квадратов, но потом нужен передых на пол-часика :)

    Sergei.:


    Еще один комментарий (я это не к тому что надо что-то срочно делать, а в копилку идей :)

    Когда нужно вырезать кусок карты с большой детализацией (текущий вид карты скажем 8-10 а сохранить часть хочется с детализацией 16-18) то очень сложно ориентироваться по карте, на которой нанесена такая мелкая сетка.

    Предложение - когда сетка крупная (+2-4) выделяется блок, после чего сетка умельчается, но при этом выделение запоминается (сейчас сбрасывается).

    Таким образом на карте, на которой легко ориентироваться выделяется нужный участок, а потом уже он сохраняется в нужной детализации.

    вот :)

    Разумно. Сам мучаюсь. Особенно если город попадает на границы большого квадрата.

    Была идея с тем что бы можно было скроллировать этот большой квадрат, но тогда сложно с расчетами получается. Пока отложил до лучших времен.

    Будь проще! В Ветхом Завете Бог дает Моисею всего десять заповедей вместо какого-нибудь путанного законодательства с множеством статей и поправок.
  • gsm velcom team
    офлайн
    gsm velcom team

    1348

    25 лет на сайте
    пользователь #45

    Профиль
    Написать сообщение

    1348
    # 15 мая 2006 00:31

    -KSV-, Спасибо за полезную прогу! :beer:

    Все отлично работает :super:

    HuaWei
  • OldМэн Neophyte Poster
    офлайн
    OldМэн Neophyte Poster

    10

    19 лет на сайте
    пользователь #62892

    Профиль
    Написать сообщение

    10
    # 16 мая 2006 14:10

    -KSV- Программа су-у-упер! Спасибо огромное.

    И, как водится у ленивых умников, пару пожеланий: :)

    1. Можно ли сделать, чтобы в настройках прописывать путь, где сохранять файлы? А то каждый раз предлагает хранить в корне С.

    2. Можно ли сделать, чтобы при навигации картинка передвигалась не на весь экран (окно), а только на одну клетку? Для того, чтобы сохранять только необходимый кусок, а не два-три файла, если интересующая тебя развязка, например, не попадает в центр картинки.

    Или это то же, что и скроллинг? Который трудно делать.

    3. Кэш. Это, наверное, хорошо, что он так структурирован, но, я уже выкачал с помощью ГугльМВ приличное количество поверхности и всё это уже хранится в его кэше (ГугльМВ). Выкачивать повторно ладно, ерунда. А вот хранить по сути дубликаты на сотни мег - жаба не утихает.

    Может можно валить всё в одну кучу, всё равно ведь из кэша вытаскивается по имени файла?

  • -KSV- Senior MemberАвтор темы
    офлайн
    -KSV- Senior Member Автор темы

    1853

    24 года на сайте
    пользователь #1148

    Профиль
    Написать сообщение

    1853
    # 16 мая 2006 21:57

    OldМэн,

    1. Можно. Найду время, сделаю. На этой неделе очень занят по вполне понятным причинам :beer:

    2. Это и есть тот скроллинг, про который я писал. Довольно сложно будет с расчетами, много переделок. Но поскольку мучаешься не ты один (мне тоже неудобно), попробую что-нибудь придумать.

    3. В кучу уже валил, в самых первых версиях (не публичных). Когда скачал около 300 мегов квадратов, стало так все тормозить из-за большого количества файлов в одной папке, что пришлось реорганизовать кэш. А на FAT32 вообще есть ограничение на количество файлов в каталоге. И это ограничение я уже своими скачками превысил в несколько раз.

    А на счет кэша google earth, если знаешь, подскажи, где он лежит. Может поковыряюсь, сделаю конвертер...

    P.S. Уже слил квадраты Гродно, Брест, Могилев, ЧАЭС в 17м разрешении. Кому надо, подъезжайте на след. неделе. Поделюсь.

    Потиху буду скачивать остальные области в высоком разрешении (те, что доступны).

    Будь проще! В Ветхом Завете Бог дает Моисею всего десять заповедей вместо какого-нибудь путанного законодательства с множеством статей и поправок.
  • groundhog Senior Member
    офлайн
    groundhog Senior Member

    12460

    23 года на сайте
    пользователь #3189

    Профиль
    Написать сообщение

    12460
    # 16 мая 2006 22:41

    Кэш Google Earth лежит в профиле

    \Local Settings\Application Data\Google\GoogleEarth

  • Vasechkin Neophyte Poster
    офлайн
    Vasechkin Neophyte Poster

    2

    19 лет на сайте
    пользователь #63011

    Профиль
    Написать сообщение

    2
    # 17 мая 2006 08:51

    Здравсвуйте. Можно ли, используя Вашу программу, выделив квадраты в слабом разрешении, скачать эту область в хорошем. А то, пока как я понял, чтобы скачать область в хорошем разрешении, ее приходиться проходить вручную квадрат за квадратом, не наблюдая переспективы (куда дальше идти??? качал я этот квадрат??? качать ли этот???) Не удобно очень...

  • -KSV- Senior MemberАвтор темы
    офлайн
    -KSV- Senior Member Автор темы

    1853

    24 года на сайте
    пользователь #1148

    Профиль
    Написать сообщение

    1853
    # 17 мая 2006 10:29

    groundhog,

    похоже кэш находится в 2х файлах:

    dbcache.dat

    dbcache.dat.index

    но структура их мне не известна :(

    Vasechkin, похоже ты просто не разобрался с прогой...

    Будь проще! В Ветхом Завете Бог дает Моисею всего десять заповедей вместо какого-нибудь путанного законодательства с множеством статей и поправок.
  • Неизвестный кот Senior Member
    офлайн
    Неизвестный кот Senior Member

    2715

    21 год на сайте
    пользователь #27758

    Профиль

    2715
    # 17 мая 2006 11:44
    -KSV-:

    Asdert, исправил ошибку. Просто когда большой зум, количество квадартов на земле становилось настолько большим, что не влазило в 32 разряда.

    Ограничил 20ю уровнями. Это максимум для гугла.

    Jefa, добавил запоминание настроек. Сохраняет в Settings.xml с экзешником.

    Sergei., исправил, теперь сохраняет по-умолчанию в jpeg, а если написал расширение у файла, то в нужное расширение.

    Кроме того добавил:

    1. поддержку png и tiff

    2. список городов грузит при первом нажатии на галочку ShowCities. Поскольку спиок большой, раньше программа, обнаружив его тормозила при загрузке. Сейчас будет тормозить только если стоит галочка.

    Новая версия здесь: http://ksv.at.[censored]/EarthSlicer_V1.1.rar

    P.S. Потестируйте кому не лень, правильно ли делает привязки к Ozi.

    ************** Exception Text **************

    System.NullReferenceException: Object reference not set to an instance of an object.

    at EarthSlicer.MainForm.earthPanel_Paint(Object sender, PaintEventArgs e)

    at System.Windows.Forms.Control.OnPaint(PaintEventArgs e)

    at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)

    at System.Windows.Forms.Control.WmPaint(Message& m)

    at System.Windows.Forms.Control.WndProc(Message& m)

    at System.Windows.Forms.ScrollableControl.WndProc(Message& m)

    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)

    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

  • Vasechkin Neophyte Poster
    офлайн
    Vasechkin Neophyte Poster

    2

    19 лет на сайте
    пользователь #63011

    Профиль
    Написать сообщение

    2
    # 17 мая 2006 13:48
    -KSV-:

    groundhog,

    похоже кэш находится в 2х файлах:

    dbcache.dat

    dbcache.dat.index

    но структура их мне не известна :(

    Vasechkin, похоже ты просто не разобрался с прогой...

    Премного извиняюсь, прога - супер! Карты на загляденье! Так держать!

  • -KSV- Senior MemberАвтор темы
    офлайн
    -KSV- Senior Member Автор темы

    1853

    24 года на сайте
    пользователь #1148

    Профиль
    Написать сообщение

    1853
    # 17 мая 2006 21:06

    Навуходоноссер, и что?

    Будь проще! В Ветхом Завете Бог дает Моисею всего десять заповедей вместо какого-нибудь путанного законодательства с множеством статей и поправок.
  • Кислотный Куратор team
    офлайн
    Кислотный Куратор team

    988

    20 лет на сайте
    пользователь #34599

    Профиль
    Написать сообщение

    988
    # 18 мая 2006 22:48
    readme.txt:

    нельзя склеить более 4х тысяч квадратов, т.к. .NET падает из-за слишком большого битмапа

    Пытался склеить участок, состоящий из ~1600 квадратов- выдало:

    код выделить все
    ************** Exception Text **************
    System.ArgumentException: Parameter is not valid.
    at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
    at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
    at EarthSlicer.MainForm.gluePiecesButton_Click(Object sender, EventArgs e)
    at System.Windows.Forms.Control.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.ButtonBase.WndProc(Message& m)
    at System.Windows.Forms.Button.WndProc(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    А вообще, огромное спасибо автору за программу! :super:

  • OldМэн Neophyte Poster
    офлайн
    OldМэн Neophyte Poster

    10

    19 лет на сайте
    пользователь #62892

    Профиль
    Написать сообщение

    10
    # 19 мая 2006 01:31
    -KSV-:

    OldМэн,

    3. В кучу уже валил, в самых первых версиях (не публичных). Когда скачал около 300 мегов квадратов, стало так все тормозить из-за большого количества файлов в одной папке, что пришлось реорганизовать кэш. А на FAT32 вообще есть ограничение на количество файлов в каталоге. И это ограничение я уже своими скачками превысил в несколько раз.

    А на счет кэша google earth, если знаешь, подскажи, где он лежит. Может поковыряюсь, сделаю конвертер...

    Я не Google Earth имел ввиду, а программу "конкурент" GoogleMV.

    _http://www.silber2004.narod.ru/trevel.htm

    Она хранит теже самые файлы в отдельной директории, но все навалом.

    Как я понял, Google Earth и Google Map отдельно кэш не организовывает. Файлы храняться в Temporary Internrt Files. Вид имеют CA09JD8B.jpeg CAGD0FUZ.jpeg и т.п.

    Или kh[01].jpeg kh[93].jpeg и т.п.

    Как их использовать - понятия не имею. :conf:

  • -KSV- Senior MemberАвтор темы
    офлайн
    -KSV- Senior Member Автор темы

    1853

    24 года на сайте
    пользователь #1148

    Профиль
    Написать сообщение

    1853
    # 19 мая 2006 13:20

    Кислотный, считаем. каждый блок имеет размер 256x256, итого 65536 пикселов, умножаем на 4 (в памяти на каждый пиксел отводится по 4 байта). Итого каждый блок занимает в памяти 262144 байта, или же 256 килобайт.

    Значит 1600 блоков будут занимать 256*1600=409600 килобайт, что равно 400 мегабайтам.

    Если у вас мало оперативки, то уже могут быть проблемы.

    OldМэн, А чем лучше GoogleMV ? И зачем хранить дубликаты?

    Если очень надо, конвертер из GoogleMV в формат кэша EarthSlicer делается легко на любом языке программирования.

    Могу сбацать...

    Будь проще! В Ветхом Завете Бог дает Моисею всего десять заповедей вместо какого-нибудь путанного законодательства с множеством статей и поправок.
  • -KSV- Senior MemberАвтор темы
    офлайн
    -KSV- Senior Member Автор темы

    1853

    24 года на сайте
    пользователь #1148

    Профиль
    Написать сообщение

    1853
    # 19 мая 2006 17:02

    OldМэн, спешиал фор ю. Конвертер из формата GoogleMV в EarthSlicer:

    http://ksv.at.[censored]/CacheConverter.rar

    За интерфейс просьба ногами не бить, просто не хочется тратить на такую ерунду больше 10 минут...

    Будь проще! В Ветхом Завете Бог дает Моисею всего десять заповедей вместо какого-нибудь путанного законодательства с множеством статей и поправок.
  • OldМэн Neophyte Poster
    офлайн
    OldМэн Neophyte Poster

    10

    19 лет на сайте
    пользователь #62892

    Профиль
    Написать сообщение

    10
    # 20 мая 2006 14:41
    -KSV-:

    OldМэн, А чем лучше GoogleMV ? И зачем хранить дубликаты?

    Тем, что он раньше появился. :)

    Если уж совсем блажить, то:

    1. Более плавная навигация (уже обсуждали).

    2. Возможность сразу задать координаты и уровень (чтоб не приближаться асимптотически).

    3. Как ни странно (для меня необъяснимо), более чёткой картинкой на экране. Легко проверить, запустив обе программы одновременно. На одном и том же участке с одним и тем же уровнем.

    -KSV-:

    Если очень надо, конвертер из GoogleMV в формат кэша EarthSlicer делается легко на любом языке программирования.

    Я из языков программирования кроме ассемблера для ЕС ЭВМ (IBM 360/370) ничего и не знал никогда. :)

    Ох и давно это было. :(