MapServer параметры CGI

Переменные

Имена переменных не зависят от регистра.

BUFFER [distance]

Дистанция, в той же координатной системе, что и map-файл, которая используется для создания нового охвата карты, в сочетании с MAPXY.

CLASSGROUP [name]

Название группы классов в слое LAYER CLASSGROUP. Требуется задать LAYER CLASSGROUP в имя name во всех слоях, имеющих как минимум один класс CLASS, который входит в группу CLASSGROUP name.

CONTEXT [filename]

Путь к файлу контекста. Можно использовать путь относительно map-файла , или использовать URL (Смотри раздел “Map Context Support Through CGI” ниже для пояснений).

ICON [layername],[classindex]

Используется в режиме легенды MODE=legendicon для рендеринга иконки слоя. Индекс класса можно не указывать, по-умолчанию равен 0.

ID [id-string]
By default MapServer generates a unique session id based on system time and process id. This parameter overwrites the default.
IMG

Название, ассоциированное с внутренним изображением карты, которое используется для записи кликов пользователей. В основном передаются две переменные img.x и img.y.

Для приложений CGI это важная переменная, смотри примеры по применению.

IMGBOX [x1] [y1] [x2] [y2]

Координаты (в пикселях) рамки сдвига в изображении drag. Чаще всего используют в сочетании с Java фронендами к MapServer.

IMGEXT [minx] [miny] [maxx] [maxy]

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

IMGSHAPE [x1 y1 x2 y2 x3 y3 ...] | [WKT]

Произвольная фигура полигона (задается координатами изображения) для использования в запросах.

Полигон, или указанный по координатам (множество экземпляров добавляются как части фигуры, поэтому можно собрать фигуру с отверстиями) или в виде представления WKT (Well Known Text).

Используется в режиме NQUERY.

IMGSIZE [cols] [rows]

Размер (в пикселях) созданного внутреннего изображения.

IMGXY [x] [y]

Координаты (в пикселях) однократного клика мышки. Чаще всего используют в сочетании с Java фронендами к MapServer.

LAYER [name]

Имя слоя, как оно задано в map файле. Отправляются в mapserv только те имена слоев, у которых STATUS установлен в ON.

LAYERS [name name ...]

The names of the layers to be turned on. Layer names must be separated by spaces.

В версии 4.4 и выше: установка ‘LAYERS=all’ задает автоматическое включение всех слоев.

MAP [filename]

Путь к указанному map файлу, относительно папки CGI.

MAPEXT [minx] [miny] [maxx] [maxy] , MAPEXT (shape)

Пространственный охват создаваемой карты.

Может быть задан как фигура, в виде дополнительно параметра. В этом случае охват устанавливается по выбранной фигуре. Используется в запросах.

MAPSHAPE [x1 y1 x2 y2 x3 y3 ...] | [WKT]

Произвольная фигура полигона (задается координатами карты) для использования в запросах.

Полигон, или указанный по координатам (множество экземпляров добавляются как части фигуры, поэтому можно собрать фигуру с отверстиями) или в виде представления WKT (Well Known Text).

Используется в режиме NQUERY.

MAPSIZE [cols] [rows]

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

MAPXY [x] [y] , MAPXY (shape)

A point, in the same coordinate system as the shapefiles, to be used in conjunction with a buffer or a scale to construct a map extent.

Может быть задан как фигура, в виде дополнительно параметра. В этом случае охват устанавливается по выбранной фигуре. Используется в запросах.

MINX | MINY | MAXX | MAXY [number]

Минимальная/максимальная x/y координата пространственного охвата для новой карты или запроса. Эти параметры часть набора параметров MAPEXT.

MODE [value]

Режим работы. Поддерживаются следующие режимы:

BROWSE

Полностью интерактивный интерфейс, где создаются карты (и интерактивные страницы). Это режим по-умолчанию.

COORDINATE

Returns a string of map coordinates based on a user click on an image.

mapserv.exe?map=/mapfiles/gmap75.map&MODE=coordinate&IMGEXT=0 0 100 100&IMGXY=10 10
FEATURENQUERY

Пространственный поиск, который использует множество объектов из SLAYER для запроса по другим слоям.

FEATUREQUERY

Пространственный поиск, который использует один объект из SLAYER для запроса по другим слоям.

INDEXQUERY

Просмотр объектов, на основании значений параметров SHAPEINDEX и TILEINDEX. SHAPEINDEX требуется, TILEINDEX опциональный и применим только со слоями мозаика shapefile.

ITEMFEATURENQUERY

Текстовый поиск по атрибутивным данным запускается QSTRING. Возвращает все совпадения. Слой по которому ведется поиск указан в параметре SLAYER. Результат поиска применяется ко всем слоям (ограничение можно задать в параметре QLAYER).

ITEMFEATUREQUERY

Текстовый поиск по атрибутивным данным запускается QSTRING. Возвращает первое совпадение. Слой по которому ведется поиск указан в параметре SLAYER. Результат поиска применяется ко всем слоям (ограничение можно задать в параметре QLAYER).

ITEMNQUERY

Текстовый поиск по атрибутивным данным запускается QSTRING. Возвращает все совпадения.

ITEMQUERY

Текстовый поиск по атрибутивным данным запускается слоем QSTRING. Возвращает первое совпадение.

LEGEND

Возвращает созданную легенду. Используется вместе с тегом <img ... >.

LEGENDICON

Возвращает иконку легенды. Параметр ICON должен быть использован для указания имени слоя и индекса класса. Индекс класса необязательный и по-умолчанию равен 0. Например:

mapserv.exe?map=/mapfiles/gmap75.map&MODE=legendicon&ICON=popplace,0
MAP

Возвращает созданную карту. Используется вместе с тегом <img ... >.

NQUERY

Пространственный поиск (поиск всего) запускается по клику на карте или по рамке, выделенной пользователем.

QUERY

Пространственный поиск (поиск ближайшего) запускается по клику на карте.

REFERENCE

Возвращает референсную карту. Используется вместе с тегом <img ... >.

SCALEBAR

Возвращает созданную масштабную шкалу. Используется вместе с тегом <img ... >.

TILE
Generate a map tile. See Tile Mode for details.
ZOOMIN

Переключатель в режим BROWSE с параметром ZOOMDIR=1

ZOOMOUT

Переключатель в режим BROWSE с параметром ZOOMDIR=-1

Примечание

Ранее доступные режимы запросов map-only, типа ITEMQUERYMAP, более не поддерживаются. Используйте вместо этого параметр QFORMAT.

QFORMAT [outputformat | mime/type] (optional)

Задается именем OUTPUTFORMAT или типом mime/type и будет использоваться в процессе обработки результатов запроса (в соответствии с параметром QUERYFORMAT объекта WEB). Параметр необязательный и применим с запросом MODEs. По-умолчанию значение text/html.

Например (вывод карты):

...&mode=nquery&qformat=png24&...
QITEM [name] (optional)

Имя атрибута в таблице слоя, которую опрашивают. Параметр необязательный и применим совместно с QSTRING для поиска по атрибутам.

QLAYER [name]

Запрашиваемый слой. Имя слоя, по которому будет производится поиск, такое как в map файле.

QSTRING [expression]

Поиск по атрибутам: Строка запроса передается в функцию запроса. Начиная с 5.0, qstring должен быть определен в параметре VALIDATION объекта LAYER, чтобы qstring запросы заработали (qstring_validation_pattern на уровне LAYER в разделе METADATA для MapServer старше версии 5.4).

QUERYFILE [filename]

Применяется с режимом BROWSE или NQUERY. Эта опция идентифицирует файл запроса для загрузки перед любой другой обработкой. В режиме BROWSE это даст в результате карту в соответствии с запросом, вместо обычной карты. Такое действие полезно, если вы хотите подсветить объект в режиме сдвига и масштабирования. В режиме NQUERY будет получен доступ к любым шаблонам, используемым в нормальном отображении запроса, так что можно получить доступ и к картам по запросу, и к их атрибутам. Смотри параметр SAVEQUERY.

REF

Имя связанное с внутренним референсным изображение карты используемым для записи кликов пользователя. В основном передаются две переменные, ref.x и ref.y.

Для приложений CGI это важная переменная при использовании референсных карт, смотри примеры по применению.

REFXY [x] [y]

Координаты (в пикселях) однократного клика мышки в референсном изображении. Чаще всего используют в сочетании с Java фронендами к MapServer.

SAVEQUERY

В любом из режимов поиска этот параметр говорит MapServer сохранять результаты запросов во временные файлы для применения в последующих операциях (смотри QUERYFILE). Полезен для создания перманентных запросов.

SCALEDENOM [number]

Масштаб в котором будет новая карта. Используется вместе с mapxy. Масштаб задается как знаменатель дроби фактического масштаба, например, для карты масштаба 1:24000 задается 24000. Реализовано в MapServer 5.0, заменен устаревший параметр SCALE.

SCALE [number] - deprecated

Начиная с версии MapServer 5.0 рекомендуется использовать вместо этого параметр SCALEDENOM. Устаревший параметр SCALE - это масштаб, в котором создается новая карта. Используется вместе с mapxy. Масштаб задается как знаменатель дроби фактического масштаба, например, для карты в масштабе 1:24000 задается 24000.

SEARCHMAP

Есть возможность двигать или приближать интерфейс используя карты запросов querymaps. В этом случае вам, скорее всего, потребуется информация о контенте новой карты вместо предыдущей карты, это типовой путь выполнения запросов. Если указать параметр searchmap новая карта будет создана с охватом, который будет использован в запрашиваемых слоях. Используется только в режиме NQUERY.

SHAPEINDEX [index]

Используется в индексных запросах (в сочетании с INDEXQUERY).

SLAYER [name]

Выбранный слой. Имя слоя для применения в режиме запроса для получения любых объектов (в т.ч. поэтапных). Выбранный слой должен быть типа полигон. Выбранные объект(ы) будут доступны для представления пользователю.

TILEINDEX [index]

Используется в индексных запросах (в сочетании с INDEXQUERY), применяется со слоями tiled shapefile.

ZOOM [number]

Масштабирование применяемое при создании новой карты. Значения выше 0 приближают, равные 0 двигают, и значения ниже нуля уменьшают. Значение 2 означает “приблизить дважды”.

ZOOM может быть использован в качестве ярлыка вместе с ZOOMDIR/ZOOMSIZE. Масштаб ограничен параметрами MINZOOM/MAXZOOM при компиляции MapServer (по-умолчанию -25/25).

ZOOMDIR [1 | 0 | -1]

Направление для увеличения. Смотри выше.

ZOOMSIZE [number]

Абсолютная величина зума. Используется с ZOOMDIR.

Параметр ZOOMDIR ограничен до величины MAXZOOM, скомпилированной в MapServer (25 по-умолчанию).

Изменение параметров map файла через форму или URL

Beginning with version 3.3 it is possible to change virtually any map file value from a form or a URL (see Run-time Substitution). The syntax for this is fairly straightforward, and depends on what version of MapServer you are using. One potentially very powerful use of this ability to change mapfile parameters through a URL involves changing class expressions on-the-fly. VALIDATION is used to control run-time substition. Try it out.

Предупреждение

This functionality is only available via the mapserv CGI application. Within MapScript this is easy to do by yourself since the developer has complete control over how input is handled.

Используется в версии MapServer >= 5

Previous versions of the MapServer CGI program allowed certain parameters to be changed via a URL using a cumbersome syntax such as map_layer_0_class_0_color=255+0+0 which changes the color in one classObj. So, in the past you had to change parameters one-at-a-time. Now you can pass chunks of mapfiles (with security restrictions) to the CGI interface. The map_object notation is still necessary to identify which object you want to modify but you can change multiple properties at one time. Note that you can use either a ‘_’ or a ‘.’ to separate identifiers.

Пример 1, изменение шкалы:

...&map.scalebar=UNITS+MILES+COLOR+121+121+121+SIZE+300+2&...

Пример 2, изменение стиля представления:

...&map.layer[lakes].class[0].style[0]=SYMBOL+crosshatch+COLOR+151+51+151+SIZE+15&...

Пример 3, создание нового элемента:

...&map_layer[3]=FEATURE+POINTS+500000+1000000+END+TEXT+'A+test+point'+END&...

Пример 4, изменение нескольких параметров веб-объекта:

...&map_web=imagepath+/ms4w/tmp/ms_tmp/+imageurl+/ms_tmp/

Пример 5, изменение размера карты:

...&map_size=800+400

The variable identifies an object uniquely (by name or index in the case of layerObj’s and classObj’s). The value is a snippet of a mapfile. You cannot create new objects other than inline features at this point.

Используется в версии MapServer < 5

For MapServer version < 5, any value can be expressed using the hierarchy used in a map file. A map contains a layer, which contains a class, which contains a label, which has a color. This hierarchy is expressed as a sequence of MapServer keywords separated by underscores. For example to change the color of a layer called “lakes” with only one class defined you would use a form variable named “map_lakes_class_color” and could assign it a color like “0 0 255”. Layers can be referenced by index (i.e. map_layer_0...) or by name as shown above. Layer classes are referenced by index value (i.e. map_layer_0_class_2). If there is only 1 class for a layer then the index should be omitted. These variables must always begin with the sequence “map_”. Values assigned must conform to the syntax of a map file.

It is also possible to define inline features using this mechanism. This is the only case where you can add on to the map file. You can edit/change layer parameters but you cannot create a new layer. With inline features you have to first create a feature and then build upon it, however, the layer the feature belongs to must exist. Here’s a snippet from a GET request that adds a feature to a webuser layer:

...&map_webuser_feature=new&map_webuser_feature_points=12345.6789+12345.6789
      &map_webuser_feature_text=My+House!&...

The “map_webuser_feature=new” creates a new feature for the webuser layer. All subsequent calls to the feature object for that layer will modify the new feature. You can repeat the process to create additional features. This is really intended for very small (point, rectangle) amounts of data.

Указание расположения map файлов используя переменные Apache

Переменные Apache могут быть использованы для указания расположения map файлов (вместо раскрытия полных путей во внешний мир).

  1. Задать переменную (в этом примере MY_MAPFILE) в Apache в файле httpd.conf:

    SetEnv MY_MAPFILE "/opt/mapserver/map1/mymapfile.map"
    
  2. Ссылка на переменную в mapserver CGI URL:

    http://localhost/cgi-bin/mapserv?map=MY_MAPFILE&mode=...
    

Параметры ROSA-Applet

замечание: Активная разработка и сопровождение ROSA Applet остановлена

The ROSA Applet parameters were added to the CGI MapServer in version 3.6. This Java Applet provides a more intuitive user interface to MapServer. The MapTools site provides detailed information on the ROSA Applet.

The parameters can also be used by other interfaces/tools, if set to the right values. Please note that the two parameters have to be handed over to te CGI application in the order identified below.

INPUT_TYPE (auto_rect | auto_point)

Параметр INPUT_TYPE требуется для интерпретирования координат, переданных в mapserver, заданных как прямоугольник или как точка.

INPUT_COORD [minx,miny;maxx,maxy]

ROSA-Applet всегда заполняется парой координат. В случае точки (input_type=auto_point) минимальная и максимальная координаты идентичны (MapServer использует минимальное значение).