Актуальные задачи, требующие искусства программирования

Не проще ли отказаться от jpeg для таких тайлов, и использовать png ?

usm78-gis, внутри geotiff’a мешать jpg и png? Это ещё страшнее :slight_smile:

Суть вопроса как раз не в том, чтобы раздавать конечную мозаику в jpeg (там, как раз, ничего страшного, если на границе чёрного с цветным что-то вылезет - кому надо, попросят у wms png), а в том, чтобы при хранении/выкладке в интернеты один геотифф занимал не 50-200 мегабайт, а 4-10, как исходная фотография.

Тогда все равно придется декларировать новый (приватный) кодек
для геотиффа и читать его никто не сможет.
Впрочем убогие программы и deflate то не понимают :wink:
Выкладывайте тогда
уж jpeg2000, хотя я в душе тоже скорее сторонник обновленного геотиффа :slight_smile:

Хм, покажите реальную статистику пользователей josm, запрашивающих format=image/png.

Cо времён gdal 1.8.0 geotiff умеет хранить битовую маску NODATA в сжатом виде: http://www.gdal.org/frmt_gtiff.html

“Новый” кодек декларировать необязательно:

  • тупые программы не поймут jpeg вообще (они нас и так не интересуют, всё на базе gdal его умеет);
  • программы, не умеющие читать сжатую битовую маску NODATA - покажут всё, и по краям нарисуют разводы размером с jpeg-овский блок - неприятно, но и нефатально;
  • target-программы (gdal 1.8 плюс поддержка mask со стороны софта, mapserver 6.0+ в частности) - покажут только то, что будет разрешено маской, соответственно, на новое раскодированное значение бывших чёрных пикселей глубоко наплевать.

Плюс от такого подхода - убирается “грязь” на склейках.

Как-то так.

Открываю книгу (простенькую, но всё же …) - Берлянт А.М. Картография, М.:2001, стр. 129.

Господа программисты, вперёд :wink:

fserges, речь идет о том, чтобы из данных осм сделать маломальски годную мелкомасштабную карту, в частности, обзорную карту России (а так же карты Мира, Евразии) пригодную для навигации, а не об отыскании Чаши Грааля или Семи Городов Сиболы.

Что-то мне подсказывает (я про генерализацию читал в нескольких темах форума) что требование к генерализации выставлены как раз “об отыскании Чаши Грааля”. Чёткая узкая задача решаема (решена ?), глобальная абстрактная однозначно требует вдумчивого участия картографа.

Например, можно глянуть сюда - http://www.openstreetmap.org/?lat=55.88&lon=38.15&zoom=6&layers=M Тут правильно проведена генерализация?

fserges, речь как бы о генерализации графа дорог. По ссылке его нет - там просто картинка.

liosha, читаем первоисточник

ну а картинка это просто графическое представление модели. Мне же не выдрать данные из которых mapnik создаёт картинку.

fserges, кроме первоисточника неплохо бы ещё прочесть и обсуждение, чтобы понимать, в какую сторону разговор ушёл.

И кстати, если я ничего не путаю, эта картинка ни фига не генерализована, а просто нарисована в мелком масштабе.

Обсуждение может менять направление 100 раз. Именно для для этого в шапке темы всегда пишут актуальное состояние проблемы, постановка задачи так сказать …

По поводу картинки я и спросил - а что не так с генерализацией на приведённой странице. Чем алгоритм mapnik плох? Понимание этого позволит задачу поставить чётче.

fserges, mapnik не производит никакой генерализации. Чтобы отрисовать картинку 256х256, из базы достаются те же самые сотни мегабайт информации. Рекомендую посмотреть на конфигурацию сервера, рендерящего тайлы, и сравнить его с конфигурацией любого навигатора.

Ну раз вы самые умные то и решайте эту задачу :wink: Наша вашего не понимает :frowning:

P.S. Для генерализации из базы достаются те же самые сотни мегабайт информации …

подозреваю, что имеется ввиду следующее
генерализация - процесс сворачивания гигабайтного файла до 10 метров (например) с возможностью навигации и поиска городов/стран по ним, упрощенными линиями и т.д.
а мапник, чтоб отрисовать тайл на 6-12 масштабе выкачает все данные этого квадрата в оперативку и там их начнет мучить. то-есть сам мапник не делает генерализации, он только рисует самое важное на данном зуме, как в правилах написано.

Вот то что написал Larry0ua гораздо более похоже на постановку задачи для программиста :slight_smile:

И всё же я готов поспорить - mapnik делает генерализацию :slight_smile: Только его упор - на визуальное представление тогда как я понимаю задача Zkir - сохранение каких-то свойств дорожного графа. Т.е. генерализация для разных задач разная!

Вот в этом месте я засмеялся :slight_smile:

fserges, мапник её не делает, просто потому что его задача - отрисовка, а не генерализация.

Есть открыть всю Россию, сделать поиск highway=* и сменить всё на highway=trunk - то мы неожиданно поймём, что собственно генерализацию делает не мапник, а мапперы, которые ставят trunk на очень небольшое количество не очень плотно расставленных дорог.

Ещё раз повторю цитату.

highway=trunk это и есть пресловутая “диалоговая процедура, обеспечивающее активное участие картографа”.