2008年9月23日星期二

mod_python

对接成功,现在去找图片流输出。最好同时能把耗时输出。

2008年9月22日星期一

mapserver的进一步实验

经过仔细实验,mapserver里的几乎所有SIZE值最小为1。另一方面,在其API中找到根据:SIZE为integer类型,不接受小数值。。。不知道负值是啥效果,可以试试

agg成功安装,并关联到mapserver,生成的图很OK。找到debug方式,但还未找到其效率相关监控方式,只能用笨办法测试。

2008年9月18日星期四

mapfile mapobject 参数配置


Map Object
Map Object是MapFile的根对象,其他对象都包含在其中。它属性定义应用程序的大部分参数。Map Object的属性如下:
1,DATAPATTERN [正则表达式]
该参数定义了由URLs改变DATA参数(如:map_layername_data=...)的表达式。
2,DEBUG
允许调试。调试的详细结果被放在STDERR(the standard error output),如果在Web Object使用了LOG参数则放在MapServer logfile文件中。
3,EXTENT [minx] [miny] [maxx] [maxy]
地图边界
4,FONTSET [filename]
使用得字体文件,如:C:\WINDOWS\Fonts\myfonts.txt。
5,IMAGECOLOR [r] [g] [b]
设置地图背景颜色。r,g,b分别为红、绿、蓝。
6,IMAGEQUALITY [int]
JPEG格式输出得质量。更为普遍得做法是在OUTPUTFORMAT 的声明中,在FORMATOPTION 中使用"QUALITY=n" 来说明。
7,IMAGETYPE [gif|png|jpeg|wbmp|gtiff|swf|userdefined]
输出格式。可选项在OUTPUTFORMAT中定义。
8,INTERLACE [on|off]
输出图像是否允许交错,缺省下是[on]。更为普遍的做法是在OUTPUTFORMAT的FORMATOPTION中使用 "INTERLACE=ON" 设置。
9,NAME [name]
由此MapFile文件生成的map,比例,图例图像名前缀。尽量简短。
10,RESOLUTION [int]
设置输出图像每英寸象素个数,仅对比例有影响。缺省是72。
11,SCALE [double]
设置地图比例,通常由应用程序设置。
12,SHAPEPATH [filename]
Shapfile文件夹路径。
13,SIZE [x][y]
输出图像大小。
14,STATUS [on|off]
设置地图状态是否被激活。如有时为了仅使用reference map或 scale bar,把此设为off
15,SYMBOLSET [filename]
使用的标志符号文件。
16,TEMPLATEPATTERN [regular expression]
该参数定义了由URLs改变TEMPLATE参数(如:map_layername_template=...)的表达式。
17,TRANSPARENT [on|off]
设置地图背景颜色是否透明,缺省是off.。
18,UNITS [feet|inches|kilometers|meters|miles|dd]
地图坐标系的单位,用于比例尺,及比例计算。
Map Object允许嵌套的对象:PROJECTION,QUERYMAP,REFERENCE,SCALEBAR,SYMBOL,WEB,LAYER,LEGEND。


Layer Object
Layer Object图层对象与使用的每个图层相对应,一个MapFile允许有50个,可以通过修改源代码改变。在MapFile文件中首先定义的Layer处在地图最底层,最后定义的在地图顶层。Layer Object属性:
1, CONNECTIONTYPE [local|sde|ogr|postgis|oraclespatial|wms]
连接的数据源,缺省是本地。
2,CONNECTION [string]
配置远程数据连接。
An SDE 的连接字符串格式:“hostname, instance name, database name, username ,password ”。
PostGIS 的连接字符串与PostgreSQL连接相同。格式:“user=nobody password=****** dbname=dbname host=localhost port=5432”。
Oracle 连接格式:user/pass[@db]
3, DATA [filename]|[sde parameters][postgis table/column][oracle table/column]
使用的空间数据文件。并非一定要shapefile文件格式。
如果式SDE数据,参数应包含图层名称和geometry column,如"mylayer,shape"。
如果式 PostGIS 图层, 参数格式:
from ”,其中“columnname” 是含有geometry objects的
Column的名字;"tablename"是使用的geometry data的table名字。
如果是Oracle, 参数格式: "shape FROM table" 或 "shape FROM (SELECT statement)" 或更为复杂的Oracle查询。
4, DEBUG
对Layer Object调试。
5, DUMP [true|false]
确认MS是否可以返回GML格式数据。当使用 WMS GetFeatureInfo选项是有用,缺省是fault。
6,FILTER [string]
该字符串保证在Class表达式被检测之前data specific attribute 过滤与spatial 过滤同步,OGR和shapefiles 的字符串设置是一个简单的MS表达式,对于spatial databases 该字符串是一个SQL WHERE 字句。如: FILTER “type='road' and size <2“。
7,FILTERITEM [attribute]
FILTER expressions使用的项目,仅用于OGR和shapefiles。
8,FOOTER [filename]
使用的模板文件,仅用与Multiresult query modes。
10,GROUP [name]
Layer所属的组名。可以对一个组进行操作。
11,HEADER [filename]
使用的模板文件仅用于Multiresult query modes。
12,LABELANGLEITEM [attribute]
属性表中使用的字段名,用于class annotation angles,值应是用度表示。
13,LABELCACHE [on|off]
指定标记(Labels)在图层绘制时是否被绘制成该图层的特征或者它们先隐藏,在所有图层皆绘制后在显示。缺省是on。只有Label cache激活时,Label 重叠移动,自动布局才可用。
14,LABELITEM [attribute]
用于 class annotation (如 labeling)的属性表中的字段名。
15,LABELMAXSCALE [double]
图层标记的最大比例。
16,LABELMINSCALE [double]
图层标记的最小比例。
17,LABELREQUIRES [expression]
设置该图层标记是否显示。如:
LABELREQUIRES ([orthoquads] != 1)意味着如果有一个叫“orthoquads “处于激活
状态,那么该图层不能有标记。表达式(Expression)是一个boolen表达式,如果
一图层的Status是on则 [layer name] =1,否则[layer name] =0。
17,LABELSIZEITEM [attribute]
用于Class注释尺寸的属性表中的字段名。值必须是以像元为单位。
19,MAXFEATURES [integer]
指定在当前窗口中绘制该图层的特征最大数量。
20,MAXSCALE [double]
绘制图层的最大比例。
21,METADATA
METADATA以END结尾。可以在其中加入任何说明。用于定义OGC WMS的要素。 其中的说明可以被template tags访问,从而增强创建template文件的弹性。如:
METADATA title "My layer title"
author "Me!" END
22,MINSCALE [double]
绘制该图层的最小比例。
23,NAME [string]
图层名称。允许有20个字符。它可以连接mapfile文件和web interfaces。
24,OFFSITE [r] [g] [b]
设置栅格图层的transparent颜色索引。
25,POSTLABELCACHE [true|false]
选择true则MS在绘制处于cache中的全部label 后,绘制此图层。缺省是fault。
对于增加neatlines 和简单的elements非常有用。
26,PROCESSING [string]
向图层发送处理指令。不同类型的图层和处理指令的程序支持不同的指令。
当前的栅格图像支持(由GDAL处理):SCALE,BANDS 和DITHER。例如:
PROCESSING "SCALE_1=AUTO" PROCESSING "SCALE_2=AUTO" PROCESSING "SCALE_3=AUTO" PROCESSING "BANDS=3,2,1,4"
27,REQUIRES [expression]
与LABELREQUIRES作用相同。
28,SIZEUNITS [pixels|feet|inches|kilometers|meters|miles]
设置Class对象的单位缺省是pixels。对simulating buffering由用。
29,STATUS [on|off|default]
设置该图层的状态。缺省是on。
30,STYLEITEM [attribute]
用于feature specific styling的字段。设置非常经验化,但前仅用于OGR。
31,SYMBOLSCALE [double]
文本或符号显示的比例。允许图层随map的比例发生动态大小变化。如果没有设置那么图层的尺寸一直都不会变化。与MINSIZE和MAXSIZE 有关系。
32,TEMPLATE [file|url]
作为CLASS TEMPLATE的全局替换。
33,TILEINDEX [filename]
该图层的索引或tile定义文件,类似与ArcInfo 的库索引,此shapefile文件包含每一个tile的多边行特征。包含tiled数据路径的字段由参数TILEITEM给出。如果参数DATA 含有一个值那么它就被添加到路径的末尾。如果DATA 为空那么路径应含有完整的文件名。
34,TILEITEM [attribute]
含有tile路径的字段,缺省为“location”。
35,TOLERANCE [double]
对点查询敏感度。(如 鼠标点击或 map coordinates)。在TOLERANCEUNITS中给出(缺省为3 pixels)。为了限制polygon查找,将polygon容差设为0。.
36,TOLERANCEUNITS [pixels|feet|inches|kilometers|meters|miles|dd]
TOLERANCE值的单位,缺省为pixels。
37,TRANSPARENCY [integer]
设置图层的所有像元的transparency 水平。值在0~100之间。100表示不透明,0表示完全透明。
38,TRANSFORM [true|false]
确认一个图层是否需要从一个地理坐标系向图像坐标系转换。缺省为true。此参数允许创建shapefile为图像坐标系。因此有些特征总是在同一副图的相同位置显示。须注意,图像坐标系的坐标原点在左上角,y轴朝下,x轴朝右。
39,TYPE [point|line|polygon|circle|annotation|raster|query]
指明数据怎样绘制。无须与shapefile 文件类型一致。例如一个多边形shapefile文件以点图层绘制。但是点shapefile 文件不可以以多边形图层绘制。
40,CLASSITEM [attribute]
用于Class的字段。
Layer Object可以嵌套的对象:Class,FEATURE,PROJECTION。


Grid Object
Grid Obect定义地图的格网。它是在Layer Object对象中定义的。
1, LABELFORMAT [DDMM|DDMMSS]
标签格式。“DDMM”是 度、分格式,“DDMMSS” 是 度、分、秒格式。 缺省是小数格式。 2,MINARCS [double]
绘制弧段的最小数量。
3,MAXARCS [double]
绘制弧段的最大数量。
4,MININTERVAL [double
最小间隔数量
5,MAXINTERVAL [double]
最大间隔数量
6,MINSUBDIVIDE [double]
绘制弧段允许的最少分段。
7, MAXSUBDIVIDE [double]
绘制弧段允许的最多分段。
例子:
LAYER
NAME "grid"
METADATA
"DESCRIPTION" "Grid"
END
TYPE LINE
STATUS ON
CLASS
NAME "Graticule"
COLOR 0 0 0
LABEL
COLOR 255 0 0
FONT fritqat
TYPE truetype
SIZE 8
POSITION AUTO
PARTIALS FALSE
BUFFER 5
OUTLINECOLOR 255 255 255
END
END
PROJECTION
"init=epsg:4326"
END
GRID
LABELFORMAT DDMM
MAXARCS 10
MAXINTERVAL 10
MAXSUBDIVIDE 2
END
END # Layer
Grid Object无可嵌套的对象。


Scalebar Object
Scalebar Object定义比例尺如何创建。但前比例尺字体不支持TrueType字体。比例尺图像的大小在创建之前是未知的,所以在template文件中使用标记时,不要指明比例尺图像的大小。
1,BACKGROUNDCOLOR [r] [g] [b]
比例尺的背景色。不是输出的比例尺图像的背景色。
2,COLOR [r] [g] [b]
当属性表不被使用时,所有比例尺要素的输出颜色。
3,IMAGECOLOR [r] [g] [b]
比例尺初始化时颜色。
4,INTERLACE [true|false]
输出比例尺图像是否允许交错,缺省下是[on]。更为普遍的做法是在OUTPUTFORMAT的FORMATOPTION中使用 "INTERLACE=ON" 设置
5,INTERVALS [integer]
比例尺间隔数量。缺省为4。
6,OUTLINECOLOR [r] [g] [b]
各个intervals的轮廓颜色。缺省时-1(比例尺各个部分无轮廓)。
7,POSITION [ul|uc|ur|ll|lc|lr]
放置比例尺的位置,缺省为lr。
8,POSTLABELCACHE [true|false]
仅对嵌入的比例尺有用,选择true则MS在绘制处于cache中的全部label 后,嵌入比例尺。缺省是false。
9,SIZE [x][y]
比例尺的尺寸,以pixel为单位。文本不计算在内。
10,STATUS [on|off|embed]
确认是否创建比例尺输出图像及是否要被嵌入到一个输出图像。缺省是off.。
11,STYLE [integer]
选择比例尺式样(style),0或1。
12,TRANSPARENT [on|off]
设置比例尺背景颜色是否透明,缺省是off.。现在更为流行的做法是在OUTPUTFORMAT 中声明。
13,UNITS [feet|inches|kilometers|meters|miles]
比例尺单位,缺省是米。
Scalebar Object允许嵌入LABEL对象。


Legend Object
定义一个图例。图例的内容从layer的class中获得。在class的name属性中设置使用的lengend即可。图例的大小在创建之前是未知的,所以在template文件中使用标记时,不要指明图例的大小。
1,IMAGECOLOR [r] [g] [b]
图例初始化时颜色。
2,INTERLACE [on|off]
输出图像是否允许交错,缺省下是[on]。更为普遍的做法是在OUTPUTFORMAT的FORMATOPTION中使用 "INTERLACE=ON" 设置。
3,OUTLINECOLOR [r] [g] [b]
图例中符号轮廓颜色。
4,POSITION [ul|uc|ur|ll|lc|lr]
放置图例的位置,缺省为lr。
5,KEYSIZE [x][y]
图例符号大小。缺省是:20 10。
6,KEYSPACING [x][y]
文字距离:x;图例中符号的距离 :y ;以pixel为单位。缺省为5 5。
7,POSTLABELCACHE [true|false]
选择true则MS在绘制处于cache中的全部label 后,绘制此图例。缺省是fault。
对于增加neatlines 和简单的elements非常有用。
8,STATUS [on|off|embed]
决定图例输出图像是否创建。
9,TRANSPARENT [on|off]
确认图例背景颜色是否透明。更为普遍的做法是在OUTPUTFORMAT 中声明, 缺省为off。
Lengend Object允许嵌套的对象:LABEL。


Projection Object
Projection Object设置投影。必须定义两种投影对象。一种用于说明输出图像投影 (在 MAP object中定义) ,另一种用于各个图层(在 LAYER objects种定义) 投影描述。Projection objects含有一系列 PROJ.4 关键字。例如:UTM zone 15, NAD83投影描述成:
PROJECTION
"proj=utm"
"ellps=GRS80"
"zone=15"
"north"
"no_defs"
END
地理坐标系定义:
PROJECTION
"proj=latlong"
END
详细资料:PROJ.4 user guides。


Label Object
Label Object用于定义注释特征的文本标签,或者通过使用TrueType 作为symbols用。Label Object的属性:
1, ANGLE [double]
值用角度制表示。指示标签的角度。对于线图层可以使用AUTO值。
2, ANTIALIAS [true|false]
确认标签中的文本是否可以别名。True为不允许别名。注意需要多一些的colors并会导致输出图像轻微的变大。
3,BACKGROUNDCOLOR [r] [g] [b]
缺省为Off 。
4,BACKGROUNDSHADOWCOLOR [r] [g] [b]
矩形背景的颜色。缺省为Off。
5,BACKGROUNDSHADOWSIZE [x][y]
缺省为1。
6,BUFFER [integer]
在cached label周围填充像元。对保持文本周围的空间以增强可读性有用。缺省为0。
7,COLOR [r] [g] [b]
文本颜色。
8,FONT [name]
在Map Object的 FONTSET文件中定义的字体别名。
9,FORCE [true|false]
强制对一个特征类(Class)进行标记,而无视标签冲突。仅对cached labels有效。缺省false。
10,MAXSIZE [integer]
字体最大显示尺寸。缺省为256。
11,MINDISTANCE [integer]
复制一个label产生的label与被复制的label之间的最小距离。值为pixels。
12,MINFEATURESIZE [integer|auto]
被标记特征的最小尺寸,以pixels为单位,仅对cached labels有效。对线数据是长度。对多边形是最小面积。 如果选“Auto”则 MapServer 仅显示那些特征的大小比它们的标记大的多的标签。
13,MINSIZE [integer]
字体显示的最小值,缺省为4。
14,OFFSET [x][y]
单位为pixels。坐标原点在左下角。
15,OUTLINECOLOR [r] [g] [b]
文本轮廓颜色。
16,PARTIALS [true|false]
确认文本是否可以超出map边缘。缺省是true。
17,POSITION [ul|uc|ur|cl|cc|cr|ll|lc|lr|auto]
Label的位置。首字母是“Y”位置,第二个为“X”位置。“Auto“告知MapServer计算该label的不会与其他label相冲突的位置。
18,SHADOWCOLOR [r] [g] [b]
阴影颜色。
19,SHADOWSIZE [x][y]
阴影大小。
20,SIZE [integer]|[tiny|small|medium|large|giant]
文本大小。
21,TYPE [bitmap|truetype]
使用字体类型。
22,WRAP [character]
文本末尾出现的字符。
Label中无嵌套对象。


Class Object
Class Object定义一个给定的Layer专题类别,每个图层至少有一个类别。在Layer Object中的ClassItem设置分类的项目。如一个公路图层,可以根据公路的级别(ClassItem)分为国道,一级公路,二级公路等。其属性如下:
1,BACKGROUNDCOLOR [r] [g] [b]
不透明符号颜色。
2,COLOR [r] [g] [b]
特征显示的颜色。
3,DEBUG
与map DEBUG的意义相似。
4,EXPRESSION [string]
将string与ClassItem比较,以确定Class。
有三种表达式:字符串,正则表达式, 逻辑表达式。如果没有给出string,那么所有特征都归在此Class中。
字符串对大小写敏感,易于快速处理。没有转义字符。
正则表达式需要用 /regex/来定义。不须引用。
逻辑表达式允许基于一个或更多的属性建立相当复杂的测试,也因此仅对shapefile文件有效。逻辑表达式以“(expression)”形式定义。用 到的属性须加以[],即:“[ATTRIBUTE]”。注意属性值大小写敏感并且要与shapefile文件中的字段一致。例如:
EXPRESSION ([POPULATION] > 50000 AND '[LANGUAGE]' eq 'FRENCH')
逻辑表达式允许操作符: =,>,<,<=,>=,=,or,lt,gt,ge,le,eq。其处理速度要慢。
字符串和正则表达式都是以layer中classitem为分类依据的。同一个layer可以同时有使用这三种表达式的class。
5,MAXSIZE [integer]
绘制一个符号的最大尺寸,以pixel为单位,缺省为50。
6,MINSIZE [integer]
绘制一个符号的最小尺寸,以pixel为单位,缺省为0。
7,NAME [string]
使用此Class的图例(Lengend)名称。如果没有设置,则此class不会显示在图例中。
8,OUTLINECOLOR [r] [g] [b]
多边形符号轮廓的颜色,线符号不支持。
9,SIZE [integer]
符号的高度,以pixel为单位。 仅比例尺符号使用。缺省为1。
10,SYMBOL [integer|string]
设置使用的符号。String为定义Symbole文件中的符号名称。Integer是符号索引值。缺省是0,意味着:a single pixel,single width line, 或 solid polygon fill,取决于layer类型。
11,TEMPLATE [filename]
使用的template的文件。
12,TEXT [string]
该class使用的label的静态文本。 它的值超出LABELTIEM。字符串可以使用()定义。它允许整合多个属性到一个label。例如:([FIRSTNAME],[LASTNAME])。


Class Object允许定义两个symbol。第二个在上。使用如下属性:
OVERLAYBACKGROUNDCOLOR
OVERLAYCOLOR
OVERLAYOUTLINECOLOR
OVERLAYSIZE
OVERLAYMINSIZE
OVERLAYMAXSIZE
OVERLAYSYMBOL
Class Object允许嵌套的对象:JOIN,LABEL,STYLE。


Feature Object
定义layer的内置特征。当创建一个新layer不大可能或太过于复杂的情形下可以使用内置的特征解决问题。内置特征也可以通过url或表单来创建。
1,POINTS
一组x、y坐标对。以END结束。例如:
POINTS
1 1 50
50 1
50 1 1
END
注意对于多边形layer起点更终点应相同。
2,TEXT [string]
标记特征的文本。
Feature Object无可以嵌套对象。


Join Object
Join Object定义如何处理join。Join Object嵌套在其他查询对象中。
1,FROM [item]
Shapefile中的join字段。
2,NAME [string]
该属性是强制的。Join的名字。
3,TABLE [file]
Join的XBase 文件的名字(DBF, 必须是完整路径)
4,TEMPLATE [filename]
使用的Template文件。Template文件对每个记录仅处理一次,且仅包含要join的属性表中的字段的替换变量。
5,TO [item]
要join的属性表中的字段。
6,TYPE [multiple|single]
Join的类型,缺省为single (如:一对一)。
Join Object无可嵌套对象。


Style Object
Style Object配置符号参数。一个Class可以有多个Style object。也就有多种style。在MS4.0版本中引入此对象。它的目的是为了将逻辑与显示相分离。它是定义对象,特别是class外观的新方法。 它的属性及其意义与Class中的同名属性意义相同。
1,ANTIALIAS [true|false]
是否允许TrueType 字体别名,true为不允许。
2,BACKGROUNDCOLOR [r] [g] [b]
不透明符号的颜色。
3,COLOR [r] [g] [b]
绘制特征的颜色。
4,MAXSIZE [integer]
绘制符号的最大尺寸,以pixel为单位。缺省为50。
5,MINSIZE [integer]
绘制符号的最小尺寸,以pixel为单位。缺省为0。
6,OFFSET [x][y]
Offset values for shadows, hollow symbols, etc ...
7,OUTLINECOLOR [r] [g] [b]
多边形符号轮廓的颜色,线符号不支持。
8,SIZE [integer]
符号的高度,以pixel为单位。 仅比例尺符号使用。缺省为1。
9,SYMBOL [integer|string]
设置使用的符号。String为定义Symbole文件中的符号名称。Integer是符号索引值。缺省是0,意味着:a single pixel,single width line, 或 solid polygon fill,取决于layer类型。
Style Object无可嵌套对象。


Symbology Reference
Symbol 定义可以包含在MapFile中;更普遍的是在独立文件中,并通过在Map Object中使用SYMBOLSET 引用。在独立文件中设置Symbol,可以增强可重用性。MapServer有三种symbol类型:Markers,Shadesets和Lines。 对于点符号,symbol 0 是单个像元。对于阴影 (如多边形填充) symbol 0是一个实填充。对于线符号,symbol 0表示只有一个像元宽的线。在Symbol中不包含颜色定义,颜色定义在Class Object中。每个文件最多允许定义64种符号。 可以通过修改源文件mapsymbol.h中的MS_MAXSYMBOLS 的值来设置允许定义的最多符号数。
语法:
1,ANTIALIAS [true|false]
是否允许TrueType fonts别名。True为不允许。
2,CHARACTER [char]
单个字符,用来对TrueType 中的字符引用。需要算出从键盘字符到字体字符的映象。
3,FILLED [true|false]
以用户定义的颜色(在Class Object中定义)填充符号。对于Markers 类型的符号,如果 OUTLINECOLOR 被指定,那么轮廓就以用户定义的颜色显示。
4,FONT [string]
在Map Object的 FONTSET文件中定义的字体别名。
5,GAP [int]
以像元为单位。对TrueType 线,定义符号之间的距离。
6,IMAGE [string]
GIF或PNG图像,用作marker 符号或象素映射符号刷。
7,NAME [string]
别名。即在CLASS objects的SYMBOL的属性值。
8,POINTS [x y] [x y] ... END
这些点定义矢量符号,或定义x,y半径或椭圆形。坐标以像元为单位。定义了符号缺省大小。You can create non-contiguous paths by inserting negative coordinates at the appropriate place。其中x,y不等表示椭圆,相等即为园。
9,STYLE [num on] [num off] [num on] ... END
定义一个dash style 或 pattern.
10,TRANSPARENT [color index]
对输入的GIF 图像(用于pixmap symbols)设置透明色。或确认是否所有的阴影符号都要有个透明的背景。缺省情况下符号背景色与所属图像颜色相同。
11,TYPE [vector|ellipse|pixmap|truetype|simple]
Vector:a simple drawing 被用于定义符号形状。
ellipse::radius values in the x and y directions 定义一个椭圆。
Pixmap:一个用户支持的GIF图像作为符号用。
Truetype:TrueType font to use as defined in the FONTSET。
例子:
Example 3. Dashed Line

SYMBOL
NAME 'dashed1'
TYPE ELLIPSE
POINTS 1 1 END
FILLED true
STYLE 10 5 5 10 END
END

This creates a dashed line with 10 pixels on, 5 off, 5 on, 10 off ...

Example 4. TrueType font marker symbol

SYMBOL
NAME "natcap"
TYPE TRUETYPE
FONT geo
FILLED true
ANTIALIAS true
CHARACTER "r"
END

This symbol is a star, used to represent the national capital, hence the name. The font name in defined in the FONTSET file. The code number "114" varies, you can use MS Windows' character map to figure it out, or guestimate.


Example 5. Vector triangle marker symbol

SYMBOL
NAME "triangle"
TYPE vector
POINTS
0 4
2 0
4 4
0 4
END
END

This is fairly straight forward. Note that to have 3 sides you need 4 points, hence the first and last points are identical.

Example 6. Non-contiguous vector marker symbol (Cross)

SYMBOL
NAME "cross"
TYPE vector
POINTS
2 0
2 4
-99 -99
0 2
4 2
END
END

This example draws a cross, that is 2 lines (vectors) that are not connected end-to-end (Like the triangle in the previous example). The negative values separate the two.


Example 7. Circle vector symbol

SYMBOL
NAME "circle"
TYPE ellipse
FILLED true
POINTS
1 1
END
END

A simple filled circle. Using non-equal values for the point will give you an actual ellipse.

Example 8. Downward diagonal fill

SYMBOL
NAME "downwarddiagonalfill"
TYPE vector
TRANSPARENT 0
POINTS
0 1
1 0
END
END


Web Object
Web Object定义如何处理web接口。
1, EMPTY [url]
如果用户查询失败,将连接此URL;如果没有定义则用户进入ERROR [url]。
2,ERROR [url]
3,FOOTER [filename]
使用的Footer模板文件,仅在Multiresult query 模式下有效。
4,HEADER [filename]
使用的Header模板文件,仅在Multiresult query 模式下有效。
5,IMAGEPATH [path]
存储临时文件和图像的路径。根据操作系统不同以“\”“/”结尾。
6,IMAGEURL [path]
配置IMAGEPATH的URL访问路径。该URL 将引导浏览器从IMAGEPATH中获取输出图像。
7,LOG [filename]
记录MapServer服务。
8,MAXSCALE [double]
web交互界面有效的最大尺寸。如果用户输入的页面尺寸请求超过Map Object中定义的最大尺寸,则 MapServer 就以这个尺寸响应用户请求;即输出图像。对防止用户过分放大图像非常有用。
9,MAXTEMPLATE [file|url]
Template to be used if above the maximum scale for the app, useful for nesting apps.
10,METADATA
METADATA以END结尾。可以在其中加入任何说明。用于定义OGC WMS的要素。 其中的说明可以被template tags访问,从而增强创建template文件的弹性。如:
METADATA
title "My layer title"
author "Me!"
END
11,MINSCALE [double]
web交互界面有效的最小尺寸。如果用户输入的页面尺寸请求小于Map Object中定义的最小尺寸,则 MapServer 就以这个尺寸响应用户请求;即输出图像。对防止用户过分缩小图像非常有用。
12,MINTEMPLATE
Template to be used if above the minimum scale for the app, useful for nesting apps.
13,TEMPLATE [filename|url]
使用的交互界面template文件。
Web Object无可嵌入的对象。


Reference Map Object
Reference Map Object定义参照地图如何创立。支持三种参照地图类型。参照地图最普遍的用法是做为map的观察窗口。可以利用参照地图对查询结果进行观察。当点查询 发生时,会在输出Reference Map中产生一个点符号,以指示被查询的位置。区域查询就在Reference Map 中产生一个方框,以指示查询区域。特征查询就在Reference Map显示查询的特征。总之,Reference Map可以视为查询的观察窗口。
1,COLOR [r] [g] [b]
观察窗口的颜色。Set any component to -1 for no fill. 缺省为red。
2,EXTENT [minx][miny][maxx][maxy]
观察窗口(Reference Map图像)的边界。
3,IMAGE [filename]
Reference图像的完整路径。必须是一个GIF格式文件。
4,MARKER [integer|string]
指定symbol文件中使用的符号,当观察窗口时用来显示。缺省为:crosshair。
5,MARKERSIZE [integer]
定义MARKER中的显示符号的尺寸。
6,MINBOXSIZE [integer]
如果观察窗口的宽度或长度小于此处的integer,则观察窗口按照MARKER 属性配置来显示。
7,MAXBOXSIZE [integer]
如果观察窗口的宽度或长度小于此处的integer,则观察窗口不显示。
8,OUTLINECOLOR [r] [g] [b]
观察窗口的轮廓颜色。Set any component to -1 for no outline.
9,SIZE [x][y]
Reference Map图像的尺寸,以pixel为单位。
10,STATUS [on|off]
确认是否创建Reference Map,缺省是off。
Reference Map Object无可嵌套的对象。


QueryMap Object
QueryMap Object定义了查询结果(map)的生成机制。
1,COLOR [r] [g] [b]
要增强显示的特征颜色,缺省为黄色。
2,SIZE [x][y]
地图大小,以pixel为单位。缺省值为Map Object中的size。
3,STATUS [on|off]
确认查询结果map是否要绘制。
4,STYLE [normal|hilite|selected]
设置选中的特征如何显示。没有被查询的layer照常显示。
Normal:绘制layer的所有特征。
Hilite:根据1,COLOR属性值绘制被选中的特征。没有被选中的特征照常绘制。
Selected:仅照常绘制选中的特征。
这里的“照常”是指根据layer中配置的意思。
QueryMap Object无可嵌套的对象。


OutputFormat Object
OutputFormat Object对输出格式定义。一个mapfile文件可以有一种,或多种输出格式,都是通过OutputFormat Object定义的,一个OutputFormat Object定义一种输出格式。如:PNG, GIF, JPEG, GeoTIFF and Flash (SWF)。如果在mapfile种没有定义OutputFormat Object则一下OutputFormat Object定义是隐含的。
GeoTIFF 格式由GDAL 支持,Flash (SWF) 由 MING library支持。
OUTPUTFORMAT
NAME gif
DRIVER "GD/GIF"
MIMETYPE "image/gif"
IMAGEMODE PC256
EXTENSION "gif"
END
OUTPUTFORMAT
NAME png
DRIVER "GD/PNG"
MIMETYPE "image/png"
IMAGEMODE PC256
EXTENSION "png"
END
OUTPUTFORMAT
NAME jpeg
DRIVER "GD/JPEG"
MIMETYPE "image/jpeg"
IMAGEMODE RGB
EXTENSION "jpg"
END
OUTPUTFORMAT
NAME wbmp
DRIVER "GD/WBMP"
MIMETYPE "image/wbmp"
IMAGEMODE PC256
EXTENSION "wbmp"
END
OUTPUTFORMAT
NAME swf
DRIVER "SWF"
MIMETYPE "application/x-shockwave-flash"
EXTENSION "swf"
IMAGEMODE PC256
FORMATOPTION "OUTPUT_MOVIE=SINGLE"
END
OUTPUTFORMAT
NAME GTiff
DRIVER "GDAL/GTiff"
MIMETYPE "image/tiff"
IMAGEMODE RGB
EXTENSION "tif"
END
OutputFormat Object的属性如下:
1,NAME [name]
如:PNG, GIF, JPEG, GeoTIFF等。
2,DRIVER [name]
支持产生此输出格式的程序(驱动程序)。如果驱动程序支持多种格式在书写时加上“/格式名”如“GD/Gif”,“GD/PNG”,“GD/WBMP”,“GD/JPEG”。GDAL和GD 都支持PNG, JPEG 和GIF输出格式。
3,IMAGEMODE [PC256/RGB/RGBA/INT16/FLOAT32]
选择输出图像的样式。不是所有输出格式都支持所有可选择样式。如: GD/GIF 仅支持PC256。
PC256:支持256色 (traditional MapServer mode)
RGB:24位Red/Green/Blue mode。支持所有颜色,当不支持透明。
RGBA:32位 Red/Green/Blue/Alpha mode。支持所有颜色,支持alpha基础的透明。
INT16:Render one band of data in 16 bit integer depth。仅对RASTER layers (through GDAL) 和WMS layers 有效
FLOAT32: Render one band of data in 32bit floating point depth。仅对RASTER layers (through GDAL) 和WMS layers 有效。
4,MIMETYPE [type]
指定给web的mime文件类型 (optional)。
5,EXTENSION [type]
创建该mime文件的边界 (optional)。
6,TRANSPARENT [ON/OFF]
指示该输出格式文件是否支持透明。透明对IMAGEMODE RGB 输出格式不支持。
7,FORMATOPTION [option]
提供一个驱动程序或或format specific option。零个或多个 FORMATOPTION 声明可以OUTPUTFORMAT 中声明(可选)。
GD/JPEG: The "QUALITY=n" option may be used to set the quality of jpeg produced (value from 0-100)。
GD/PNG:The "INTERLACE=[ON/OFF]" option may be used to turn interlacing on or off。
GD/GIF:The "INTERLACE=[ON/OFF]" option may be used to turn interlacing on or off。
GDAL/Gtiff…Supports….the…TILED=YES,BLOCKXSIZE=n,BLOCKYSIZE=n INTERLEAVE=[PIXEL/BAND] and COMPRESS=[NONE,PACKBITS,JPEG,LZW,DEFLATE] format specific options。
GDAL/*:All FORMATOPTIONs are passed onto the GDAL create function. Options supported by GDAL are described in the detailed documentation for each GDAL format。

mapnik mapserver 对比

渲染效果及细节控制
1 mapnik对字体大小的设置和现实很接近,字号大小容易掌握,mapserver相对羞涩。(到目前为止)字体的细节效果还需要再挖掘。
2 线的渲染上,mapnik更详细,设置值可以缩小到0.1。mapserver最小是1。
3 面的渲染及面LABEL,mapserver比较好点。 不管怎么设置不会存现字被遮盖的现象,默认情况下的细心显示量比较饱和。
效率
1 渲染同样的数据,mapserver效率远远高于mapnik,具体数据还在统计中。




最新发现:mapserver字体输出较mapnik差点,mapnik支持字体带描边,而且支持自定义描边厚度。



(不断完善中)

2008年9月11日星期四

看看tilecache去

mapserver阶段一完成

经过三四天的摸索,中可以完整的把mapserver部署并应用成功了,暂时采用CGI的方式完成地图调用,PHP_mapscript.so安装一直存在问题,但一个都不所难事了,思路是一致的,就是API提供接口不一样而已,也可以用JAVA_mapSCRIPT调了,剩下的事就是渲染效果的事了,此可以通过mapfile配置实现。

感觉还所python好点。。。

2008年9月9日星期二

PHP4/php5模式配置apache模式/ cgi模式哦

在Apache之中调用PHP是个经久不衰的话题,目前的PHP存在PHP4和PHP5的版本,而且在Apache之中调用PHP还存在module(模块)方式和CGI方式,同时Apache还存在Apache1和Apache2两个版本.
在Apache之中调用PHP存在以下八种模式:
1,PHP4在Apache1的module模式
2,PHP4在Apache1的cgi模式
3,PHP5在Apache1的module模式
4,PHP5在Apache1的cgi模式
5,PHP4在Apache2的module模式
6,PHP4在Apache2的cgi模式
7,PHP5在Apache2的module模式
8,PHP5在Apache2的cgi模式
你有没有想过,把这八种调用模式,就在一个配置文件之中给配置出来呢?
也许你作过,但是没有完全成功,因为这八种模式之间,是不能相互兼容的哦.
然而,灵活运用Apache的一条指令,将这八种模式乖乖的驯服,收容在一起,就易如反掌了.



在Apache之中调用PHP是个经久不衰的话题,目前的PHP存在PHP4和PHP5的版本,而且在Apache之中调用PHP还存在module(模块)方式和CGI方式,同时Apache还存在Apache1和Apache2两个版本.
在Apache之中调用PHP存在以下八种模式:
1,PHP4在Apache1的module模式
2,PHP4在Apache1的cgi模式
3,PHP5在Apache1的module模式
4,PHP5在Apache1的cgi模式
5,PHP4在Apache2的module模式
6,PHP4在Apache2的cgi模式
7,PHP5在Apache2的module模式
8,PHP5在Apache2的cgi模式
你有没有想过,把这八种调用模式,就在一个配置文件之中给配置出来呢?
也许你作过,但是没有完全成功,因为这八种模式之间,是不能相互兼容的哦.
然而,灵活运用Apache的一条指令,将这八种模式乖乖的驯服,收容在一起,就易如反掌了.
哪一条指令?原来就是:
http://w.yi.org/ftp/FAPM/apache/Apache2/zh/mod/core.html#ifdefine有对这条指令的完整介绍.
指令
代码:

说明: 只有在启动时进行了一个成功的测试后才进行的一个封装指令
语法: ...
上下文: 服务器配置, 虚拟主机, 目录, .htaccess
覆盖项: All
状态: 核心
模块: core

...
配置段用于标识附加施用条件的指令。配置段中的指令仅当测试结果为真时才进行处理。如果测试失败。此配置段中的指令将会被忽略。

配置段中的测试可以为以下两种形式之一:

参数名
!参数名
在第一种情况下,仅当符合参数名的参数已经定义的情况下才对开始和结束标记之间的指令进行处理。第二种情况则截然相反。仅当参数名没有定义的情况下才进行指令的处理。

参数名变量是在服务启动时,通过httpd命令行的-D参数-这样的形式指定的。

配置段是可以嵌套的,从而可以实现简单的多参数测试。比如说:

$ httpd -DReverseProxy ...

# httpd.conf

LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/libproxy.so








##################################################################
# PHP超级配置模块--PHP4,PHP5,module,cgi任你玩转--应用于Apache #
##################################################################
# 配置版本 通用版v1.01 #
# 配置编写 乔楚/HonestQiao #
# 编写日期 2004年5月29日 #
# 联系方式 QQ:5601680 MSN:honestqiao@hotmail.com #
##################################################################
# 主页地址: http://w.yi.org/ #
# 论坛地址: http://bbs.chinaunix.net/forum/viewforum.php?f=13 #
##################################################################
##################################################################
# 版权声明 #
# 本PHP超级配置模块系乔楚(HonestQiao)所写,你可以任意使用和传播#
#本PHP超级配置模块,但是请保留配置内容以上的声明部分(因为本声明不 #
#会对你的实际配置造成任何影响),并且不得以任何方式表明是你写了本 #
#PHP超级配置模块. #
# 谢谢你的使用,欢迎批评建议和报告错误. #
##################################################################
SetEnv php_control_status not_php_control_status

SetEnv php_control_status Apache

SetEnv php_control_status Apache_php4

SetEnv php_control_status Apache_php4_mod
LoadModule php4_module /usr/local/php-4.3.6/sapi/php4apache.dll #请修改为实际的路径
#AddModule mod_php4.c
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
#PHPINIDir /usr/local/etc/php/php4.ini
#请将php.ini放置到Apache的安装目录
AddType application/x-httpd-php-source .phps
Alias "/server-php" "/usr/local/etc/php/phpinfo.php4" #请修改为实际的路径
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #请修改为实际的路径



SetEnv php_control_status Apache_php4_not_mod

SetEnv php_control_status Apache_php4_cgi
scriptAlias /php/ "/usr/local/php-4.3.6/" #请修改为实际的路径
Action application/x-httpd-php "/php/php.exe"
#请将php.ini放置到Apache的安装目录
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php-source .phps
Alias "/server-php" "/usr/local/etc/php/phpinfo.php4" #请修改为实际的路径
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #请修改为实际的路径





SetEnv php_control_status Apache_not_php4

SetEnv php_control_status Apache_php5

SetEnv php_control_status Apache_php5_mod
LoadModule php5_module /usr/local/php-5.0.0RC2/php5apache.dll #请修改为实际的路径
#AddModule mod_php5.c
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php5
AddType application/x-httpd-php-source .phps
#PHPINIDir /usr/local/etc/php/php5.ini
#请将php.ini放置到Apache的安装目录
Alias "/server-php" "/usr/local/etc/php/phpinfo.php5" #请修改为实际的路径
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #请修改为实际的路径



SetEnv php_control_status Apache_php5_not_mod

SetEnv php_control_status Apache_php5_cgi
scriptAlias /php/ "/usr/local/php-5.0.0RC2/" #请修改为实际的路径
Action application/x-httpd-php "/php/php-cgi.exe"
#请将php.ini放置到Apache的安装目录
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php5
AddType application/x-httpd-php-source .phps
Alias "/server-php" "/usr/local/etc/php/phpinfo.php5" #请修改为实际的路径
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #请修改为实际的路径







SetEnv php_control_status not_Apache

SetEnv php_control_status Apache2

SetEnv php_control_status Apache2_php4

SetEnv php_control_status Apache2_php4_mod
LoadModule php4_module /usr/local/php-4.3.6/sapi/php4apache2.dll #请修改为实际的路径
#AddModule mod_php4.c
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
PHPINIDir /usr/local/etc/php/php4.ini #请修改为实际的路径
AddType application/x-httpd-php-source .phps
Alias "/server-php" "/usr/local/etc/php/phpinfo.php4" #请修改为实际的路径
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #请修改为实际的路径



SetEnv php_control_status Apache2_php4_not_mod

SetEnv php_control_status Apache2_php4_cgi
scriptAlias /php/ "/usr/local/php-4.3.6/" #请修改为实际的路径
Action application/x-httpd-php "/php/php.exe"
#请将php.ini放置到Apache的安装目录
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php-source .phps
Alias "/server-php" "/usr/local/etc/php/phpinfo.php4" #请修改为实际的路径
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #请修改为实际的路径





SetEnv php_control_status Apache2_not_php4

SetEnv php_control_status Apache2_php5

SetEnv php_control_status Apache2_php5_mod
LoadModule php5_module /usr/local/php-5.0.0RC2/php5apache2.dll #请修改为实际的路径
#AddModule mod_php5.c
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php5
AddType application/x-httpd-php-source .phps
PHPINIDir /usr/local/etc/php/php5.ini #请修改为实际的路径
Alias "/server-php" "/usr/local/etc/php/phpinfo.php5" #请修改为实际的路径
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #请修改为实际的路径



SetEnv php_control_status Apache2_php5_not_mod

SetEnv php_control_status Apache2_php5_cgi
scriptAlias /php/ "/usr/local/php-5.0.0RC2/" #请修改为实际的路径
Action application/x-httpd-php "/php/php-cgi.exe"
#请将php.ini放置到Apache的安装目录
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php5
AddType application/x-httpd-php-source .phps
Alias "/server-php" "/usr/local/etc/php/phpinfo.php5" #请修改为实际的路径
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #请修改为实际的路径

















#使用方法:
# 设备命令:
# 连接配置:
# 将以上PHP超级配置模块保存为一个文件,名称为php.conf,然后在Apache的配置文件之中,使用Include "/path/to/php.conf"来引用PHP超级配置模块;
# 修改PHP超级配置模块之中提示需要修改的部分,一般是修改为你的文件所在的实际路径.
#
# 启动命令:
# ApacheControl -k start -D Apache=ApacheVersion php=phpVersion type=RunType
# 假设启动apache的文件名为httpd,执行指令如下:
# httpd -k start -D Apache=ApacheVersion php=phpVersion type=RunType
# ApacheVersion:表示Apache的版本Apache,Apache--表示Apache1;Apache2--表示Apache2;
# phpVersion:表示PHP的版本,php4--表示PHP4;php5--表示PHP5;
# RunType:表示运行模式,mod--表示以module(模块)方式运行;cgi--表示以CGI方式运行
#
# 通道信息:
# PHP超级配置模块状态:表示环境变量之中PHP超级配置的状态,可以通过CGI探针或者phpinfo()来查看.
# 说明:状态名称:php_control_status
# 状态值: not_php_control_status: 表示没有处于PHP超级配置模块
# Apache : 表示进入Apache1配置区域
# Apache_php4 : 表示进入Apache1的PHP4配置区域
# Apache_php4_mod : 表示进入Apache1的PHP4的module(模块)方式配置区域
# Apache_php4_not_mod : 表示进入Apache1的PHP4的非module(模块)方式配置区域
# Apache_php4_cgi : 表示进入Apache1的PHP4的CGI方式配置区域
# Apache_not_php4 : 表示进入Apache1的非PHP4配置区域
# Apache_php5 : 表示进入Apache1的PHP5配置区域
# Apache_php5_mod : 表示进入Apache1的PHP5的module(模块)方式配置区域
# Apache_php5_not_mod : 表示进入Apache1的PHP5的非module(模块)方式配置区域
# Apache_php5_cgi : 表示进入Apache1的PHP5的CGI方式配置区域
#
# not_Apache : 表示进入非Apache1配置区域
# Apache2_php4 : 表示进入Apache2的PHP4配置区域
# Apache2_php4_mod : 表示进入Apache2的PHP4的module(模块)方式配置区域
# Apache2_php4_not_mod : 表示进入Apache2的PHP4的非module(模块)方式配置区域
# Apache2_php4_cgi : 表示进入Apache2的PHP4的CGI方式配置区域
# Apache2_not_php4 : 表示进入Apache2的非PHP4配置区域
# Apache2_php5 : 表示进入Apache2的PHP5配置区域
# Apache2_php5_mod : 表示进入Apache2的PHP5的module(模块)方式配置区域
# Apache2_php5_not_mod : 表示进入Apache2的PHP5的非module(模块)方式配置区域
# Apache2_php5_cgi : 表示进入Apache2的PHP5的CGI方式配置区域
#






#测试工程:
# 例如在Window2000环境下,执行以下设备命令:
# cd /path/to/apache/
# apache -k start -D Apache=Apache php=php4 type=mod
# 执行被设备命令之后,php_control_status的值变为Apache_php4_mod,表示处于Apache1的PHP4的Module模式之下;
#
# cd /path/to/apache/
# apache -k start -D Apache=Apache php=php5 type=cgi
# 执行被设备命令之后,php_control_status的值变为Apache_php5_cgi,表示处于Apache1的PHP5的CGI模式之下;
#
# cd /path/to/apache2/bin/
# apache -k start -D Apache=Apache2 php=php4 type=cgi
# 执行被设备命令之后,php_control_status的值变为Apache2_php4_cgi,表示处于Apache2的PHP4的CGI模式之下;
#
# cd /path/to/apache2/bin/
# apache -k start -D Apache=Apache2 php=php5 type=mod
# 执行被设备命令之后,php_control_status的值变为Apache2_php5_mod,表示处于Apache2的PHP5的Module模式之下;
#
#
#常见问题:
# 1.启动时提示错误,且错误出在PHP超级配置模块的相关行,一般表示相关的设置路径不正确
# 2.启动成功但是没有调用PHP,你可以查看php_control_status的状态值,以确定问题所在,可能执行设备明令时所给的参数不正确
# 3.启动正确,也可以调用PHP了,那你还说什么问题啊,要恭喜你可以正常使用了啊.
# 4.如果问题还不能解决,请和本PHP超级配置模块的开发者取得联系.
#
#
#附加说明:
# 本PHP超级配置模块,只是给出了一个通用的PHP在Apache之下调用的控制方式,使用本PHP超级配置模块的相关行,需要你对Apache和PHP有一定了解.
# 如果你需要更为具体的配置,请和我联系,我将根据您的实际运行环境,作出适合您的实际运行环境的PHP超级配置模块的定制版本.
#

2008年9月7日星期日

Session Save Path 错误解决

1、在 php.ini 中设置 Session Save Path (不细表)

如:session.save_path = /tmp

2、在 configuration.php 中设置Session Save Path

session_save_path ('/home......');

maplab PHP安装必须

./configure --prefix=/opt/apache/php --with-apxs2=/opt/apache/bin/apxs --disable-cgi --with-config-file-path=/opt/apache/php --with-regex=system --with-iconv=/usr/local/bin --with-gd --with-pgsql --enable-safe-mode --with-pgsql --enable-dbase --with-config-file --enable-static --disable-cgi --with-openssl --with-zlib --with-gd --with-freetype-dir

2008年9月5日星期五

MAPLAB mapfile 辅助工具 下载

我下的是2.2.1,解压后CP到apache目录下,剩下的还在部署。

学习map Engines日记

学习map Engines日记,希望有帮助。
以c版本的引擎为主。
前段时间把mapnik彻底调通,限于时间原因,以后有时间温习下咯。
这段时间开始弄mapserver,希望能把大部分问题和经验些下来以便共享,另一方面作为日志保存。