Страница 1 из 1
MapServer - Сглаживание
Добавлено: 23 окт 2009, 07:44
1div
Рисую карту через MapServer из shp файлов.
Но картинка получается какая-то угловатая.
Каким образом можно включить сглаживание?
Re: MapServer - Сглаживание
Добавлено: 23 окт 2009, 09:43
Mavka
В новостях недавно была заметка про AGG, оригинальный блог уже не работает, но в кэше еще
есть. Ну и доки к самому UMN,
раздел 8.2 (там же, в самом начале рекомендуют AGG).
Re: MapServer - Сглаживание
Добавлено: 23 окт 2009, 11:48
1div
Mavka, большое спасибо!

разобрался!
Re: MapServer - Сглаживание
Добавлено: 23 янв 2010, 15:15
dobeer
У меня почемуто не получается сделать сглаживание. Пробовал вставлять в мар файл:
OUTPUTFORMAT
NAME 'AGG_Q'
DRIVER AGG/PNG
IMAGEMODE RGB
FORMATOPTION "QUANTIZE_FORCE=ON"
FORMATOPTION "QUANTIZE_DITHER=OFF"
FORMATOPTION "QUANTIZE_COLORS=256"
END
и...
OUTPUTFORMAT
#utilizado quando é incluido um layer do tipo raster
NAME png2
MIMETYPE image/png
DRIVER GD/PNG
EXTENSION png
IMAGEMODE PC256
TRANSPARENT FALSE
FORMATOPTION "INTERLACE=OFF"
END
Но ни то ни другое не дало никаких изменений так и осталось все угловатое, помогите у кого получилось

Re: MapServer - Сглаживание
Добавлено: 23 янв 2010, 19:01
Максим Дубинин
версия MS? Есть ли AGG в выводе mapserv -v?
попробуйте ANTIALIASING TRUE
пример:
http://gis-lab.info/programs/mapserver/ ... moscow.htm
Re: MapServer - Сглаживание
Добавлено: 24 янв 2010, 19:51
dobeer
версия:
****************************
MapServer for Windows (MS4W)
****************************
:Author: Jeff McKenna, `Gateway Geomatics`_
:Contact: `Mailing List`_
:Revision: $Revision: 1.57 $
:Last Updated: $Date: 2008/12/03 01:00:02 $
ANTIALIASING TRUE дает эффект "красных квадратов"
Запрос к картинке дает - loadOutputFormat(): Unknown identifier. Parsing error near (ANTIALIASING):(line 27)
как проверить есть ли AGG в выводе mapserv -v
Re: MapServer - Сглаживание
Добавлено: 24 янв 2010, 20:03
Максим Дубинин
dobeer писал(а):как проверить есть ли AGG в выводе mapserv -v
Запустить mapserv.exe -v
ANTIALIAS TRUE
Пример:
http://gis-lab.info/programs/mapserver/ ... moscow.map
Re: MapServer - Сглаживание
Добавлено: 24 янв 2010, 23:02
dobeer
ANTIALIAS TRUE прописан как в примере, AGG есть при выводе "mapserv -v"
вот мар:
Код: Выделить всё
MAP
NAME "WMS"
EXTENT ##.18559 ##.93118 ##.67244 ##.16372
SIZE 1000 1000
SHAPEPATH "/ms4w/Apache/example/shp/webmap/"
IMAGECOLOR 251 248 236
IMAGETYPE PNG24
FONTSET "/ms4w/Apache/example/fonts/fonts.list"
OUTPUTFORMAT
NAME 'AGG_Q'
DRIVER AGG/PNG
IMAGEMODE RGB
FORMATOPTION "QUANTIZE_FORCE=ON"
FORMATOPTION "QUANTIZE_DITHER=OFF"
FORMATOPTION "QUANTIZE_COLORS=256"
END
PROJECTION
"init=epsg:900913"
END
SYMBOL
NAME "downwarddiagonalfill"
TYPE vector
TRANSPARENT 0 # прозрачность
POINTS
0 1
1 0
END
END
WEB
TEMPLATE '/templates/template_.html'
IMAGEPATH '/ms4w/tmp/ms_tmp/'
IMAGEURL '/ms_tmp/'
METADATA
wms_title "КАРТА"
wms_abstract "This is the WMS demo from GIS-Lab"
wms_onlineresource "http://localhost/cgi-bin/mapserv?map=ms4w/Apache/example/okrug.map&"
wms_srs "EPSG:4326 epsg:900913"
wms_getfeatureinfo "http://localhost/cgi-bin/mapserv?map=ms4w/Apache/example/okrug.map&"
wms_featureinfoformat "text/plain"
END
END
#-------------------Строения-----------------------------------------
LAYER
NAME haus
DATA haus_A
STATUS ON
TYPE POLYGON
CLASSITEM "TYPE"
LABELITEM "LABEL"
TEMPLATE "dummy"
TRANSPARENCY ALPHA
TOLERANCE 5
HEADER '/templates/templ_head.html'
FOOTER '/templates/templ_footer.html'
TEMPLATE '/templates/templ_query.html'
CLASS
NAME "Строения"
EXPRESSION '0x13' # Выражение, определяющее класс
STYLE
COLOR 250 200 114
OUTLINECOLOR 126 102 4
ANTIALIAS TRUE
END
LABEL
COLOR 32 32 32
SHADOWCOLOR 218 218 218
SHADOWSIZE 2 2
TYPE TRUETYPE
FONT arial-italic
SIZE 7
ANTIALIAS TRUE
POSITION CL
PARTIALS FALSE
MINDISTANCE 100
BUFFER 3
ENCODING CP1251
END
END
END # Конец определения слоя
END # Конец определения карты
Сглаживания так и нет...
Re: MapServer - Сглаживание
Добавлено: 25 янв 2010, 01:05
Максим Дубинин
выкиньте
Код: Выделить всё
OUTPUTFORMAT
NAME 'AGG_Q'
DRIVER AGG/PNG
IMAGEMODE RGB
FORMATOPTION "QUANTIZE_FORCE=ON"
FORMATOPTION "QUANTIZE_DITHER=OFF"
FORMATOPTION "QUANTIZE_COLORS=256"
END
либо ANTIALIAS TRUE либо AGG
Re: MapServer - Сглаживание
Добавлено: 25 янв 2010, 03:09
dobeer
выкинул сначала то, потом другое...никак не хочет сглаживать
Re: MapServer - Сглаживание
Добавлено: 25 янв 2010, 03:57
Максим Дубинин
пример, где это работает я привел
map-файл, где это работает я привел
использованные в примере данные можно взять здесь
http://gis-lab.info/projects/osm-export.html
воспроизводите, разбирайтесь
Re: MapServer - Сглаживание
Добавлено: 29 янв 2010, 04:17
dobeer
Получилось сглаживание после добавления
в строчку создания слоя
Код: Выделить всё
var wms = new OpenLayers.Layer.WMS.Untiled("Строения",
mapurl, {map: mappath, transparent: 'true',layers: 'haus', format: 'png24'},{'reproject': true});
но проблема в том, что этот созданный слой не прозрачным стал и он своим фоном перекрыл нижний слой с дорогами и дорог теперь не видно...как это можно исправить
Re: MapServer - Сглаживание
Добавлено: 21 май 2010, 17:41
Mavka
Когда вы пишите специфичный OUTPUTFORMAT, то его имя играет большую роль.
Если написать так:
Код: Выделить всё
OUTPUTFORMAT
NAME 'AGG_Q'
DRIVER AGG/PNG
...
END
то и в запросе WMS нужно задавать параметр
именно это и происходит, если в свойствах слоя в OpenLayers добавить параметр
Поэтому имена лучше задавать с привычными трактовками - PNG, JPEG, GIF и т.п.
Для "DRIVER AGG/PNG" по умолчанию создается растр с палитрой (PC256). Другие варианты нужно задавать отдельно - RGB (полноцветный 24-bit), RGBA (то же с альфа каналом, 32-bit).
Пример слоя с прозрачностью (без фона):
Код: Выделить всё
OUTPUTFORMAT
NAME "png"
DRIVER AGG/PNG
MIMETYPE "image/png"
IMAGEMODE RGBA
EXTENSION "png"
FORMATOPTION "INTERLACE=OFF"
END