PHP图形脚本

作者

丹尼尔·莫里塞特

联系

在mapgears.com的dmorissette

作者

叶旺沃森阿塞法

联系

位于dmsolutions.ca的Yassefa

作者

杰夫麦克纳

联系

jmckenna在gatewaygeomatics.com

警告

这是旧的php mapscript文档。它仅适用于MapServer 5.6及更低版本。

介绍

这是一个php模块,用于使mapserver的mapscript功能在php动态可加载库中可用。

支持的版本

php-mapscript最初是为php-3.0.14开发的,但是在删除了对php3的mapserver 3.5支持之后,截至本文档的最后一次更新,需要php 4.1.2或更高版本。

该模块已在Linux、Solaris、*BSD和Winnt上测试和使用。

二进制代码包

PHP mapscript包含在 MS4W ,网关Geomatics维护的流行安装程序。您还可以在 MS4W wiki .

如何获取有关php mapscript的更多信息

重要注意事项

  • 常量名和类成员变量名在PHP中区分大小写。

  • 几个mapscript函数(访问后端文件的所有函数,如ms_newmapobj()、drawmap()等)将影响PHP环境中当前工作目录(cwd)的值。这最终会被修复,但同时你应该小心这些副作用。

常量

以下mapserver常量可用:

布尔值

真的,假的,开的,关的,是的,不

地图单位

ms英寸,ms英尺,ms英里,ms米,ms公里,ms-dd,ms-pixels,ms-nauticalmiles

层类型

MS层点、MS层线、MS层多边形、MS层栅格、MS层注释、MS层查询、MS层圆、MS层索引、MS层图表

层/图例/比例尺/类状态

ms-on、ms-off、ms-default、ms-embed、ms-delete

层透明度

允许阿尔法透明像素映射与RGB映射图像一起使用ms_gd_alpha

字体类型

MS_TrueType,MS_位图

标签位置

Ul女士、Lr女士、Ur女士、ll女士、CR女士、CL女士、UC女士、LC女士、CC女士、Auto女士、Xy女士、Follow女士

位图字体样式

Miny女士、Small女士、Medium女士、Large女士、Giant女士

形状类型

ms-shape_点,ms-shape_线,ms-shape_多边形,ms-shape_空

整形器类型

点、弧、多边形、多点

查询/联接类型

女士单,女士多

查询映射样式

女士正常,女士hilite,女士选定

连接类型

女士inline、女士shapefile、女士tiled、女士sde、女士ogr、女士tiled、女士postgis、女士wms、女士oraclespatial、女士wfs、女士graticle、女士mygis、女士graster、女士plugin

错误代码

MS_NOERR、MS_IOERR、MS_MEMERR、MS_TYPEERR、MS_SYMERR、MS_REGEXERR、MS_TTFERR、MS_DBFERR、MS_GDERR、MS_IDENTERR、MS_EOFERR、MS_PROJERR、MS_MISCERR、MS_CGIERR、MS_WEBERR、MS_IMGERR、MS_HASERR

符号类型

MS砬符号砬简单,MS砬符号砬矢量,MS砬符号砬椭圆,MS砬符号砬像素地图,MS砬符号砬TrueType,MS砬符号砬卡通线

图像模式类型( outputFormatObj

ms_imagemode_pc256,ms_imagemode_rgb,ms_imagemode_rgba,ms_imagemode_int16,ms_imagemode_float32,ms_imagemode_byte,ms_imagemode_null

样式/属性绑定

MS-Style_-binding_-size、MS-Style_-binding_-angle、MS-Style_-binding_-color、MS-Style_-binding_-outlinecolor、MS-Style_-binding_-symbol

标签/属性绑定

MS_label_binding_大小,MS_label_binding_角度,MS_label_binding_颜色,MS_label_binding_大纲颜色,MS_label_binding_字体,MS_label_binding_优先级

对准

ms_-align_-left,ms_-align_-center,ms_-align_-right

OwsRequest

女士获取请求,女士发布请求

功能

字符串ms_GetVersion())

返回字符串中的MapServer版本和选项。可以解析这个字符串以找出编译的模块等等。

int ms_getversionint()中的

以整数(x*10000+y*100+z)形式返回MapServer版本号(x.y.z)。(v5.0中新增)例如v5.4.3将返回50403。

数组ms_tokenizemap(字符串映射文件名)

通过mapserver解析器准备一个mapfile,并为mapfile中的每个令牌返回一个带有一个项的数组。字符串、逻辑表达式、regex表达式和注释作为单个标记返回。

void ms_ioinstallsdouttobuffer()。

安装一个MapServer IO处理程序,将未来的stdout输出定向到内存缓冲区。

void ms_ioinstallstdinfrombuffer()。

安装一个MapServer IO处理程序,引导将来的stdin读取(即请求后捕获)来自缓冲区。

void ms_iogetstdobufferstring())

以字符串形式获取当前stdout缓冲区内容。此方法不清除缓冲区。

int-ms-iogetstdobufferbytes()。

将当前缓冲区写入stdout。在调用函数之前,应使用php header()函数设置文档的内容类型。返回输出发送到stdout时写入的字节数。见 WXS服务的MAPScript包装器 更多信息。

void ms-ioresethandlers()。

重置默认stdin和stdout处理程序,而不是基于“缓冲区”的处理程序。

void ms_iostripstdobufferContentType()无效

从stdout缓冲区中除去content-type头(如果有),如果找到content-type,则返回。否则返回false。

Classes

下面的类对象通过php-mapscript提供。

类对象

构造函数

类对象可以由 layerObj 类,或者可以使用以下方法创建:

classObj ms_newClassObj(layerObj layer [, classObj class])

第二个参数类是可选的。如果给定,则创建的新类将是该类的副本。

成员

类型

名字

一串

名称

一串

标题

利息

类型

利息

状态(ms-on、ms-off或ms-delete)

双重的

最小尺度

双重的

最大刻度

双重的

minscale(在v5.0中已弃用,请改用minscaledenom)

双重的

maxscale(在v5.0中已弃用,请改用maxscaledenom)

一串

模板

拉贝洛夫

标签

利息

数字

一串

关键图像

一串

哈希表对象

元数据

方法

int updatefromstring(字符串片段)

从字符串片段更新类。返回ms-success/ms-failure。

$oClass->updateFromString('CLASS STYLE COLOR 255 0 255 END END'); /*set the color */
int set(字符串属性_name,new_value)

将对象属性设置为新值。出错时返回-1。

int setexpression(字符串表达式)

设置 expression 类对象的字符串。

字符串GetExpressionString()

返回 expression 类对象的字符串。

字符串GetExpression()

在v5.0中已弃用。请改用getExpressionString()。

int settext(字符串文本)

设置类对象的文本字符串。

字符串gettextstring()

返回类对象的文本字符串。

int drawlegendicon(int宽度,int高度,imageobj im,int dstx,int dsty)

在dstx,dsty的im对象上绘制图例图标。返回ms-success/ms-failure。

ImageObj CreateLegendicon(int宽度,int高度)

绘制图例图标并返回新的ImageObj。

StyleObj GetStyle(int索引)

使用索引返回样式对象。index>=0&&index<class->numstyles。

Classobj克隆()

返回类的克隆副本。

int movestyleup(int索引)

样式索引指定的样式将向上移动到类数组中。返回ms-success或ms-failure。ex class->moveStyleup(1)将具有将样式1向上移动到位置0的效果,并且位置0处的样式将移动到位置1。

int movestyledown(int索引)

样式索引指定的样式将向下移动到类数组中。返回ms-success或ms-failure。ex class->moveStyleDown(0)将具有向上移动样式0到位置1的效果,位置1处的样式将移动到位置0。

int deletestyle(int索引)

删除样式索引指定的样式。如果删除的样式后面有任何样式,则其索引将减少1。

备注

如果在类对象上使用DeleteStyle函数时使用了NumStyles参数,则需要重新蚀刻一个新的类对象。

例子:

 //class has 2 styles
$class = $oLayer->getclass(0);
$class->deletestyle(1);
echo $class->numstyles; : will echo 2

$class = $oLayer->getclass(0);
echo $class->numstyles; : will echo 1
int getmetadata(字符串名称)

按名称提取类元数据项。如果没有与名称匹配的条目,则返回“”。请注意,搜索区分大小写。

备注

GetMetadata的查询区分大小写。

int setmetadata(字符串名称、字符串值)

设置类的元数据项。返回ms-success/ms-failure。

int removemetadata(字符串名称)

删除类的元数据项。返回ms-success/ms-failure。

色度Objo

构造函数

colorobj的实例总是嵌入到其他类中。

成员

类型

名字

利息

红色

利息

绿色

利息

蓝色

方法

void setrgb(int red,int green,int blue)

设置红、绿、蓝值。

Error Objr

当发生错误时,MapServer会在内部创建ErrorObj实例。错误作为链接列表进行管理,第一个项是最新的错误。可以使用ms_GetErrorObj()提取列表头,也可以使用ms_ResetOrList()清除列表。

功能

ErrorObj MS_GetErrorObj()。

返回对ErrorObj列表头的引用。

void ms_reseterorlist()无效

清除当前错误列表。请注意,清除列表会使通过$error->next()方法获得的所有errorobj句柄失效。

成员

类型

名字

利息

代码//请参阅上面的错误代码常量

一串

常规

一串

消息

方法

ErrObj.NEXT()

返回列表中的下一个ErrorObj,如果到达列表末尾,则返回空值。

示例:此示例绘制地图并报告在draw()调用期间生成的所有错误,错误可能来自多个层。

ms_ResetErrorList();
$img = $map->draw();
$error = ms_GetErrorObj();
while($error && $error->code != MS_NOERR)
{
    printf("Error in %s: %s<br>\n", $error->routine, $error->message);
    $error = $error->next();
}

GRIDOBJ

构造函数

格网始终嵌入定义为格网的Layer对象中(Layer->ConnectionType=MS_GRATICULE)(更多文档:https://github.com/MapServer/MapServer/wiki/MapServerGrid)

层可以通过使用:ms_newgridobj(layerobj layer)向其添加网格对象而成为网格层。

$oLayer = ms_newlayerobj($oMap);
$oLayer->set("name", "GRID");
ms_newgridobj($oLayer);
$oLayer->grid->set("labelformat", "DDMMSS");

成员

类型

名字

双重的

小分界

双重的

最大细分

双重的

小圆弧

双重的

麦克拉克斯

双重的

最小间隔

双重的

最大间隔

一串

标签格式

方法

int set(字符串属性_name,new_value)

将对象属性设置为新值。

哈希表对象

构造函数

hashTableObj的实例始终嵌入在 classObjlayerObjwebObj .它使用只读。

$hashTable = $oLayer->metadata;
$key = null;
while ($key = $hashTable->nextkey($key))
    echo "Key: ".$key." value: ".$hashTable->get($key)."<br/>";

方法

string get(字符串键)

按名称提取类元数据项。如果没有与名称匹配的条目,则返回“”。请注意,搜索区分大小写。

int set(字符串键,字符串值)

在哈希表中设置元数据项。返回ms-success/ms-failure。

int remove(字符串键)

删除哈希表中的元数据项。返回ms-success/ms-failure。

空隙清除()

清除哈希表中的所有项(为空)。

string nextkey(字符串previouskey)

如果previousKey=空,则返回下一个键或第一个键。如果哈希表中没有项或达到哈希表结尾,则返回空值

图像对象

构造函数

ImageObj的实例始终由 mapObj 类方法。

成员

类型

名字

利息

宽度(只读)

利息

高度(只读)

一串

意象派

一串

意象派

方法

空()

销毁图像对象使用的资源。

int saveimage(字符串文件名,mapobj omap)

将图像对象写入指定的文件名。传递空文件名会将输出发送到stdout。在这种情况下,在调用saveimage()之前,应使用php header()函数设置文档的内容类型。输出格式是当前在 Mapfile 中选择的格式。第二个论点OMAP不是管理学。当保存到需要 Mapfile 中包含的地理参考信息的格式(如gtiff)时,这很有用。函数出错时返回-1。成功后,如果写入外部文件,则返回0;如果将输出发送到stdout,则返回写入的字节数。

字符串savewebimage()

将映像写入临时目录。返回图像URL。输出格式是当前在 Mapfile 中选择的格式。

void pasteimage(imageobj srcimg,int transparentcolorhex[,int dstx,int dsty],int angle])

复制当前图像对象顶部的srcimg。transparentcolorhex是srcimg中的颜色(采用0xrrggbb格式),应视为透明(即不会复制这些像素)。如果你不想要任何透明的颜色,可以通过-1。如果提供可选的DSTX、DSTY,则它定义应复制图像的位置(DSTX、DSTY=左上角位置)。可选角度是0到360度之间的值,用于逆时针旋转源图像。请注意,如果指定角度(即使其值为零),则DSTX和DSTY坐标指定目标区域的中心。注意:此函数仅适用于8位gd图像(png或gif)。

标签缓存成员对象

只能通过 mapObj (map->getLabel())。

成员

类型

名字

利息

类索引(只读)

利息

FeatureSize(只读)

利息

层索引(只读)

利息

numstyles(只读)

利息

shapeindex(只读)

利息

状态(只读)

一串

文本(只读)

利息

TileIndex(只读)

方法

没有

LabelCaseObjo

只能通过 mapObj (map->labelcache)。此对象仅用于释放标签缓存(map->label cache->free())

方法

布尔自由()

释放标签缓存。成功时返回true,错误时返回false。例如:(map->labelcache->free();

拉贝洛夫

构造函数

labelobj总是嵌入到其他类中。

成员

类型

名字

一串

字体

利息

类型

色度Objo

颜色

色度Objo

外部色彩

利息

外宽

色度Objo

暗色

利息

阴影线

利息

幽灵

色度Objo

背景色

色度Objo

背景阴影颜色

利息

背景阴影尺寸

利息

背景阴影尺寸

利息

大小

利息

最小尺寸

利息

最大尺寸

利息

位置

利息

偏移量x

利息

杂乱

双重的

利息

自动角度

利息

自动配流

利息

缓冲区

利息

反别名

利息

利息

最小特征尺寸

利息

自动进料尺寸

利息

最小距离

利息

重复动作

利息

分音

利息

一串

编码

利息

排列

利息

最大长度

利息

最小长度

利息

优先

方法

int updatefromstring(字符串片段)

从字符串片段更新标签。返回ms-success/ms-failure。

int set(字符串属性_name,new_value)

将对象属性设置为新值。出错时返回-1。

int setbinding(const labelbinding,字符串值)

设置指定标签属性的属性绑定。成功时返回true。

例子:

$oLabel->setbinding(MS_LABEL_BINDING_COLOR, "FIELD_NAME_COLOR");

这会将颜色参数与数据绑定(即从名为“字段名称颜色”的字段中提取颜色值)

字符串getbinding(const labelbinding)

获取指定标签属性的属性绑定。如果此属性没有绑定,则返回空值。

例子:

$oLabel->setbinding(MS_LABEL_BINDING_COLOR, "FIELD_NAME_COLOR");
echo $oLabel->getbinding(MS_LABEL_BINDING_COLOR); // FIELD_NAME_COLOR
int removebinding(const labelbinding)

删除specField样式属性的属性绑定。成功时返回true。

例子:

$oStyle->removebinding(MS_LABEL_BINDING_COLOR);

层对象

构造函数

层对象可以由 mapObj 类,或者可以使用以下方法创建:

layerObj ms_newLayerObj(MapObj map [, layerObj layer])

第二个可选参数可以给ms_newlayerobj()以创建新层作为现有层的副本。如果将某个层作为参数提供,则该层的所有成员都将复制到创建的新层中。

成员

类型

名字

利息

numClasses(只读)

利息

索引(只读)

利息

状态(ms-on、ms-off、ms-default或ms-delete)

利息

调试

一串

类项目

一串

类别组

一串

名称

一串

一串

数据

利息

类型

利息

倾倒

双重的

容忍

利息

公差单位

利息

尺寸单位

双重的

符号尺度

双重的

最小尺度

双重的

最大刻度

双重的

labelminscaledenom公司

双重的

标签最大刻度

双重的

symbolscale(在v5.0中已弃用,请改用symbolscaledenom)

双重的

minscale(在v5.0中已弃用,请改用minscaledenom)

双重的

maxscale(在v5.0中已弃用,请改用maxscaledenom)

双重的

labelminscale(在v5.0中已弃用,请改用labelminscaledenom)

双重的

labelmaxscale(在v5.0中已弃用,请改用labelmaxscaledenom)

利息

最大特征量

色度Objo

场外

利息

注释

利息

转型

利息

标记缓存

利息

标签缓存

一串

标签项目

一串

标记项

一串

标签项目

一串

梯级项目

一串

倾斜指数

一串

页眉

一串

页脚

一串

连接

利息

ConnectionType(只读,使用setConnectionType()设置)

一串

过滤项

一串

模板

利息

不透明性

利息

透明度(在v5.0中已弃用。使用不透明度。)

一串

样式项

GRIDOBJ

网格//仅在定义为网格的层上可用(ms分划)

利息

num_processing

一串

要求

一串

标签要求

哈希表对象

元数据

投影对象

投影

方法

int updatefromstring(字符串片段)

从字符串片段更新层。返回ms-success/ms-failure。

$oLayer->updateFromString('LAYER NAME land_fn2 END'); /*modify the name */
$oLayer->updateFromString('LAYER CLASS STYLE COLOR  255 255 0  END END END'); /*add a new class*/
int set(字符串属性_name,new_value)

将对象属性设置为新值。出错时返回-1。

int draw(图像对象图像)

绘制一个图层,必要时向缓存中添加标签。出错时返回-1。

int drawquery(图像对象图像)

为单个层绘制查询映射。

classobj getclass(int classindex)

从给定索引值的层返回ClassObj(0=第一类)

int querybypoint(pointobj点,int模式,双缓冲区)

在地理参考地图坐标中指定的点位置查询图层(即,不是像素)。查询将在属于包含模板值的类或与包含层模板值的层中的任何类匹配的所有形状上执行。根据您想要的结果数量,模式是ms-single或ms-multiple。传递缓冲区-1默认为在 Mapfile 中设置的公差(以像素为单位),但可以使用常量缓冲区(以地面单位指定)。如果找到形状,则返回ms-success;如果找不到任何形状,则返回ms-failure;如果发生其他错误,则返回ms-failure(请注意,如果使用“@”控制运算符在PHP中找不到任何内容,则返回错误消息)。

int querybyrect(rectobj rect)

使用地理参考地图坐标中指定的矩形(即非像素)查询图层。查询将在属于包含模板值的类或与包含层模板值的层中的任何类匹配的所有形状上执行。如果找到形状,则返回ms-success;如果找不到任何形状,则返回ms-failure;如果发生其他错误,则返回ms-failure(请注意,如果使用“@”控制运算符在PHP中找不到任何内容,则返回错误消息)。

int querybyshape(shapeobj shape)

查询层基于单个形状,此时形状必须是多边形。如果找到形状,则返回ms-success;如果找不到任何形状,则返回ms-failure;如果发生其他错误,则返回ms-failure(请注意,如果使用“@”控制运算符在PHP中找不到任何内容,则返回错误消息)。

int querybyfeatures(int slayer)

根据另一层的前一组结果执行查询集。目前,结果必须基于多边形层。如果找到形状,则返回ms-success;如果找不到任何形状,则返回ms-failure;如果发生其他错误,则返回ms-failure(请注意,如果使用“@”控制运算符在PHP中找不到任何内容,则返回错误消息)。

int querybyattributes(字符串qitem、字符串qstring、int模式)

查询与当前地图范围相交的形状的图层。qitem是执行查询的项(属性),qstring是要匹配的表达式。查询是对作为 CLASS 包含一个 TEMPLATE 值或与包含 LAYER TEMPLATE 价值。请注意,此函数将忽略层的筛选器/筛选器项。根据您想要的结果数量,模式是ms-single或ms-multiple。如果找到形状,则返回ms-success;如果找不到任何形状,则返回ms-failure;如果发生其他错误,则返回ms-failure(请注意,如果使用“@”控制运算符在PHP中找不到任何内容,则返回错误消息)。

int setfilter(字符串表达式)

设置层筛选器 expression .

字符串GetFilterString())

返回 expression 对于这个层。

字符串getfilter()

在v5.0中已弃用,请改用getfilterstring()。

字符串GetProjection()

返回的字符串表示形式 projection . 如果未设置投影,则返回ms_false。

int setprojection(字符串项目参数)

设置层 projection 以及坐标系。参数以逗号分隔的项目4参数的单个字符串形式给出。

int setwktprojection(字符串proj_参数)

与setProjection()相同,但将ogc wkt投影定义字符串作为输入。

备注

setwktprojection需要gdal支持

int GetNumResults()。

返回上一个查询中此层的结果数。

结果cachememberobj getresult(int index)

从索引在0到numResults-1范围内的层对象按索引返回resultCacheMemberObj。返回有效的对象,如果索引无效,则返回false(0)。

int开()

打开层以与getshape()一起使用。返回ms-success/ms-failure。

int whichshapes(rectobj)

执行空间和基于属性的特征搜索(可选)。该函数基本上准备好了一些东西,以便查询或绘图函数(例如使用nextshape函数)可以访问候选特性。返回ms-success或ms-failure。

形状obj nextshape()

在调用mswhichshapes以实际检索给定区域内的形状后调用,返回shape对象或ms_false

$map = ms_newmapobj("d:/msapps/gmap-ms40/htdocs/gmap75.map");
$layer = $map->getLayerByName('road');
$status = $layer->open();
$status = $layer->whichShapes($map->extent);
while ($shape = $layer->nextShape())
{
   echo $shape->index ."<br>\n";
}
$layer->close();
空闭包()

关闭以前用open()打开的层。

shapeobj getfeature(int shapeindex[,int tileindex=-1])

按索引从层中检索shapeobj。tileindex是可选的,仅用于平铺的形状文件(例如,从getresult()返回的resultcacheMemberObj中获取)。对于其他数据源,只需省略或传递tileindex=-1。

shapeobj getshape(int tileindex,int shapeindex)

在v5.0中已弃用,请改用getFeature()(注意,参数的顺序是颠倒的,因为在getFeature()中tileIndex是可选的)

rectobj getextent()。

返回层的数据范围。如果设置了层的扩展数据块成员,则使用此值,否则此调用将打开/关闭层以读取扩展数据块。这在shapefiles上很快,但在某些文件格式或数据源上可能是一个昂贵的操作。在打开或关闭的层上都可以安全地使用此函数:在调用它之前/之后不必调用open()/close()。

int addfeature(shapeobj shape)

在图层中添加新功能。出错时返回-1。

int getmetadata(字符串名称)

按名称获取层元数据条目。如果没有与名称匹配的条目,则返回“”。请注意,搜索区分大小写。

备注

GetMetadata的查询区分大小写。

int setmetadata(字符串名称、字符串值)

设置层的元数据项。返回ms-success/ms-failure。

int removemetadata(字符串名称)

删除层的元数据项。返回ms-success/ms-failure。

string getwmsfeatureinfourl(int clickx,int clicky,int featurecount,string infoformat)

返回一个wms getfeatureinfo url(仅适用于wms层)clickx,clicky是要在像素坐标中查询的位置,其中(0,0)位于图像的左上角。FeatureCount是要返回的结果数。infoformat是请求结果的格式。取决于远程服务器的功能。mapserver wms服务器只支持“mime”(很快就会支持“gml.1”)。如果层不是WMS层或不可查询,则返回“”并输出警告。

正在Astring GetItems()。

返回项目列表。必须先调用open函数。

布尔集处理(字符串)

将字符串添加到层的处理字符串列表中。层->num_处理增加1。

$oLayer->setprocessing("SCALE_1=AUTO");
$oLayer->setprocessing("SCALE_2=AUTO");
正在Astring GetProcessing()。

返回包含处理字符串的数组

布尔清除处理()

清除所有处理字符串

字符串executewfsgetfeature()

在WFS层上执行GetFeature请求,并返回创建的临时GML文件的名称。出错时返回空字符串。

int applysld(字符串sldxml,字符串名称层)

应用 SLD 文档到层对象。SLD文档和层之间的匹配将使用层的名称完成。如果传递了namedlayer参数(参数是可选的),则SLD中匹配该参数的namedlayer将用于设置层的样式。参见 SLD HowTo 有关SLD支持的更多信息。

int applysldurl(字符串sldurl,字符串名称层)

应用 SLD 指向层对象的URL所指向的文档。SLD文档和层之间的匹配将使用层的名称完成。如果传递了namedlayer参数(参数是可选的),则SLD中匹配该参数的namedlayer将用于设置层的样式。见 SLD HowTo 有关SLD支持的更多信息。

字符串生成ld()

基于层中找到的所有类返回SLD XML字符串。

int moveclassup(int索引)

类索引指定的类将向上移动到层数组中。返回ms-success或ms-failure。ex-layer->moveClassup(1)将类1移动到位置0,位置0的类将移动到位置1。

int moveclassdown(int索引)

类索引指定的类将向下移动到层数组中。返回ms-success或ms-failure。ex-layer->moveClassDown(0)将具有将类0向上移动到位置1的效果,位置1的类将移动到位置0。

classobj removeclass(int索引)

删除指示的类并返回副本,如果失败则返回空值。请注意,此操作将对后续类重新编号。numClasses字段包含可用的类数。

布尔值可见()

根据图层当前在地图中是否可见(即打开、按比例等),返回ms_true/ms_false。

int setconnectiontype(int connectiontype[,string plugin_library])

更改层的连接类型,并根据新的连接类型重新创建vtable。应该使用此方法而不是直接设置ConnectionType参数。如果layer.connectiontype=ms_plugin,还应指定plugin_library参数,以便选择要由mapserver加载的库。对于其他连接类型,不使用此参数。

shapeobj resultsgetshape(int shapeindex[,int tileindex=-1])

按索引从层的结果集检索shapeobj。tileindex是可选的,仅用于平铺的形状文件(例如,从getresult()返回的resultcacheMemberObj中获取)。对于其他数据源,只需省略或传递tileindex=-1。由于一次通过查询实现,在MapServer 5.6.0中添加了。

传奇对象

构造函数

legendobj的实例始终嵌入在 mapObj .

成员

类型

名字

利息

高度

利息

宽度

利息

凯西泽

利息

基西齐

利息

密钥空间

利息

键间距

色度Objo

outline color//框的轮廓颜色,-1表示无轮廓

利息

状态//MS_开启,MS_关闭,MS_嵌入

利息

位置//用于嵌入的图例,ms-ul,ms-uc,…

利息

透明(在v4.6中已弃用)

利息

隔行扫描(在v4.6中已弃用)

利息

postlabelcache//ms_true,ms_false

拉贝洛夫

标签

色度Objo

图像颜色

一串

模板

方法

int updatefromstring(字符串片段)

从字符串片段更新图例。返回ms-success/ms-failure。

int set(字符串属性_name,new_value)

将对象属性设置为新值。出错时返回-1。

线路对象

构造函数

LineObj ms_newLineObj()

成员

类型

名字

利息

numpoints(只读)

方法

int加法(pointobj point)

在行尾添加一个点。

int addxy(双x,双y[,双m])

在行尾添加一个点。这不是强制性的。

备注

第3个参数m仅用于测量的形状文件。这不是强制性的。

int addxyz(双x,双y,双z[,双m])

在行尾添加一个点。

备注

第4个参数m仅用于测量的形状文件。这不是强制性的。

点obj点(int i)

返回对点编号i的引用。引用仅在包含该点的LineObj的生命周期内有效。

int项目(projectionobj-in,projectionobj-out)

将线从“in”投影(第一个参数)投影到“out”投影(第二个参数)。返回ms-success/ms-failure。

空()

销毁行对象使用的资源。

MAPbOBJ

构造函数

mapobj ms_new mapobj(字符串map_file_name[,字符串new_map_path])

返回一个新对象以处理MapServer映射文件。

mapobj ms_newmapobjfromstring(字符串map_file_string[,字符串new_map_path])

从mapfile字符串构造新的mapobj。返回一个新对象以处理MapServer映射文件。

备注

默认情况下,映射文件中的符号集、字体集和其他路径是相对于映射文件位置的。如果提供了新的映射路径,则此目录将用作映射文件中所有相对路径的基路径。

成员

类型

名字

利息

numlayers(只读)

一串

名称

利息

地位

利息

调试

利息

宽度(请参见setSize())

利息

高度(请参见setSize())

利息

最大尺寸

输出格式对象

输出格式

双重的

分辨率(像素/英寸,默认为72)

雷克托布杰

范围;

双重的

栅格尺寸

利息

单位(地图单位类型)

双重的

scaledenom(只读,由drawmap()设置)

双重的

比例(在v5.0中已弃用。使用scaledenom代替)

一串

肖佩思

利息

凯西泽

利息

基西齐

利息

密钥空间

利息

键间距

韦博伊

网状物

参考对象AppObjt

参考

色度Objo

图像颜色

斯巴巴罗夫

标尺

传奇对象

传奇

CuryMyAppObjo

查询程序

一串

符号集文件名(只读,由setsymbolset()设置)

一串

fontsetFileName(只读,由setfontset()设置)

LabelCaseObjo

labelcache(无成员。仅用于释放标签缓存(例如:map->label cache->free())

投影对象

投影

利息

透明(已弃用,请使用outputformatobj)

利息

隔行扫描(已弃用,请使用outputformatobj)

利息

imagetype(已弃用,请使用outputformatobj)

利息

ImageQuality(已弃用,请使用outputformatobj)

方法

MAPOBJ克隆()

返回新mapobj的句柄,它是当前mapobj的克隆。当前mapobj中的所有参数都将复制到新的mapobj。出错时返回空值(0)。

int set(字符串属性_name,new_value)

将“映射对象”属性设置为新值。出错时返回-1。

int getsymbolbyname(字符串符号_name)

使用名称返回符号索引。

symbol getsymbolobjectbyid(int符号化)

使用符号ID返回符号对象。有关详细信息,请参阅“符号对象引用”部分。

无效的PrepareEquery()

计算地图的比例,并设置地图->比例尺。

图像对象准备图像()

返回空白图像对象的句柄。

图像对象绘制()

渲染图像对象上的映射和返回句柄。

图像对象DrawQuery())

呈现查询映射并返回图像对象的句柄。

图像对象绘图图例()

在图像对象上呈现图例和返回句柄。

图像对象DrawReferenceMap()

渲染引用映射并返回图像对象上的句柄。

图像对象DrawscaleBar())

在图像对象上渲染比例尺和返回句柄。

Int EmbedLegend(图像对象图像)

嵌入一个传说。实际上,图例只是添加到标签缓存中,因此必须调用drawLabelCache()才能实际执行渲染(除非设置了postlabelCache,在这种情况下,它会立即绘制)。

int embedscalebar(图像对象图像)

嵌入一个scaleBar。实际上,scaleBar只是添加到标签缓存中,因此必须调用drawLabelCache()来实际进行渲染(除非设置了postlabelCache,在这种情况下,它是立即绘制的)。

Int DrawLabelCache(图像对象图像)

呈现地图的标签。出错时返回-1。

labelcachememberobj getlabel(int索引)

返回映射中的labelcachememberobj,如果给定索引值(0=第一个标签),则必须启用labelcache。

while ($oLabelCacheMember = $oMap->getLabel($i)) {
/* do something with the labelcachemember */
++$i;
}
layerobj getlayer(int索引)

从给定索引值的映射返回layerObj(0=第一层)

layerobj getlayerbyname(字符串层名称)

从给定层名称的映射中返回layerobj。如果层不存在,则返回false。

colorobj getcolorbyindex(int iclondex)返回调色板中颜色索引对应的colorobj

void setextent(双minx、双miny、双maxx、双maxy)

使用传入的georef extents参数设置映射范围。

int setcenter(点对象中心)

将地图中心设置为给定的地图点。返回ms-success或ms-failure。

int offsetextent(双x,双y)

根据地图坐标中给定的距离偏移地图范围。返回ms-success或ms-failure。

int scaleextent(双缩放因子、双minscaledenom、双maxscaledenom)

使用缩放因子缩放地图范围,并确保范围在minscaledenom和maxscaledenom域内。如果minscaledenom和/或maxscaledenom为0,则不考虑该参数。返回ms-success或ms-failure。

int setrotation(双旋转角度)

设置地图旋转角度。地图视图矩形(按范围指定)将按指示的角度逆时针旋转。请注意,这意味着渲染的地图将按顺时针方向的角度旋转。返回ms-success或ms-failure。

int setsize(int宽度,int高度)

设置地图的宽度和高度。此方法更新了地图旋转所需的内部地理变换和其他数据结构,因此应使用它而不是直接设置宽度和高度成员。返回ms-success或ms-failure。

void zoompoint(int nzoomfactor、pointobj opixelpos、int nimagewidth、int nimageheight、rectobj ogeorefext)

缩放到给定的xy位置。

参数为:
  • 缩放因子:正值放大,负值缩小。系数1将重新居中。

  • 像素位置(pointobj):单击的x,y坐标,左上角有(0,0)

  • 宽度:当前图像的像素宽度。

  • 高度:当前图像的像素高度。

  • georef范围(rectobj):当前georef范围。

  • 最大georef范围(rectobj):(可选)最大georef范围。如果提供,则无法在这些范围之外缩放/平移。

空缩放矩形(rectobj opixelext,int nimagewidth,int nimageheight,rectobj ogeorefext)

将地图范围设置为给定范围。

参数为:
  • opixelext(rect对象):像素范围,在左上角有(0,0),矩形包含以像素为单位的ll和ur坐标的坐标。(rect对象中的maxy应小于miny值)

    ------- UR (values in the rect object : maxx, maxy)
    |     |
    |     |
    |     |
    ------
    LL (values in the rectobject minx, miny)
    
  • 宽度:当前图像的像素宽度。

  • 高度:当前图像的像素高度。

  • georef范围(rectobj):当前georef范围。

void zoomscale(双nscaledinom,pointobj opixelpos,int nimagewidth,int nimageheight,rectobj ogeorefext[,rectobj omaxgeorefext])

放大或缩小到给定的xy位置,以便以指定的比例显示地图。

参数为:
  • 比例尺:显示地图的比例尺的比例尺分母。

  • 像素位置(pointobj):单击的x,y坐标,左上角有(0,0)

  • 宽度:当前图像的像素宽度。

  • 高度:当前图像的像素高度。

  • georef范围(rectobj):当前georef范围。

  • 最大georef范围(rectobj):(可选)最大georef范围。如果提供,则无法在这些范围之外缩放/平移。

int querybypoint(pointobj点,int模式,双缓冲区)

在地理参考地图坐标中指定的点位置(即不是像素)查询地图中的所有选定图层。查询是对作为 CLASS 包含一个 模板法 值或与包含 LAYER TEMPLATE 价值。根据您想要的结果数量,模式是ms-single或ms-multiple。传递缓冲区-1默认为在 Mapfile 中设置的公差(以像素为单位),但可以使用常量缓冲区(以地面单位指定)。如果找到形状,则返回ms-success;如果找不到任何形状,则返回ms-failure;如果发生其他错误,则返回ms-failure(请注意,如果使用“@”控制运算符在PHP中找不到任何内容,则返回错误消息)。

int querybyrect(rectobj rect)

使用地理参考地图坐标中指定的矩形(即非像素)查询地图中的所有选定图层。查询是对作为 CLASS 包含一个 模板法 值或与包含 LAYER TEMPLATE 价值。如果找到形状,则返回ms-success;如果找不到任何形状,则返回ms-failure;如果发生其他错误,则返回ms-failure(请注意,如果使用“@”控制运算符在PHP中找不到任何内容,则返回错误消息)。

int querybyshape(shapeobj shape)

基于单个形状查询地图中所有选定的图层,此时形状必须是多边形。如果找到形状,则返回ms-success;如果找不到任何形状,则返回ms-failure;如果发生其他错误,则返回ms-failure(请注意,如果使用“@”控制运算符在PHP中找不到任何内容,则返回错误消息)。

int querybyfeatures(int slayer)

基于一个层上一组结果执行查询。目前,结果必须基于多边形层。如果找到形状,则返回ms-success;如果找不到任何形状,则返回ms-failure;如果发生其他错误,则返回ms-failure(请注意,如果使用“@”控制运算符在PHP中找不到任何内容,则返回错误消息)。

int querybyindex(layerindex、tileindex、shapeindex、addtoquery)

将给定层上的特定形状添加到查询结果中。如果addtoquery(非强制参数)设置为ms_true,则该形状将添加到现有查询列表中。默认行为是释放现有查询列表并仅添加新形状。

int savequery(文件名)

将当前查询保存在文件中。返回ms-success或ms-failure。可与LoadQuery一起使用

int loadquery(文件名)

从文件加载查询。返回ms-success或ms-failure。与savequery一起使用。

void freequery(层索引)

在指定的层上释放查询结果。如果layerIndex为-1,则将释放对层的所有查询。

int save(字符串文件名)

将当前映射对象状态保存到文件。出错时返回-1。使用绝对路径。如果使用相对路径,则它将相对于映射文件位置。

字符串GetProjection()

返回投影的字符串表示形式。如果未设置投影,则返回ms_false。

int setprojection(字符串proj_参数,布尔值bsetUnitsExtents)

设置地图投影和坐标系。参数以逗号分隔的项目4参数的单个字符串形式给出。参数:bsetUnitsExtents用于根据新投影自动更新地图单位和范围。可能的值为ms_true和ms_false。默认设置为ms_false

int setwktprojection(string proj_params,boolean bsetUnitsandxtents)

与setProjection()相同,但将ogc wkt投影定义字符串作为输入。

备注

setwktprojection需要gdal支持

int getmetadata(字符串名称)

按名称提取元数据项(存储在 WEB 映射文件中的对象)。如果没有与名称匹配的条目,则返回“”。

备注

GetMetadata的查询区分大小写。

int setmetadata(字符串名称、字符串值)

设置映射的元数据项(存储在映射文件中的Web对象中)。返回ms-success/ms-failure。

int removemetadata(字符串名称)

删除映射的元数据项(存储在映射文件中的Web对象中)。返回ms-success/ms-failure。

数组getlayersindexbygroup(字符串groupname)

返回一个数组,该数组包含给定组名的所有层索引。

数组getAllGroupNames()

返回包含层中使用的所有组名的数组。

数组getAllLayerNames()

返回包含所有层名称的数组。

布尔型movelayerup(int layerindex)

在绘图层次中向上移动层。

布尔型movelayerdown(int layerindex)

在绘图层次中向下移动图层。

数组getlayersDrawingOrder())

返回一个数组,该数组包含层索引的绘制顺序。

布尔集合层DrawingOrder(数组层索引)

设置层的顺序数组。传递的参数必须是包含所有层索引的有效数组。成功时返回true,否则返回false。

字符串处理模板(数组参数、布尔生成图像)

处理Web对象中指定的模板文件,并将结果返回到缓冲区中。处理过程包括打开模板文件并替换其中找到的所有标记。只有映射对象中具有等效元素的标记才会被替换(例如[scaledenom])。前一条语句有两个例外:

  • 如果参数generateimages设置为ms-true,则会将[img]、[scaleBar]、[Ref]、[Legend]替换为适当的URL。(注:如果在 Mapfile 中将对象设置为ms_on,则会生成与不同对象对应的图像)

  • 用户可以使用params参数指定标记及其值。例如,如果用户有一个特定的标记调用[我的标记],并且希望它被替换为“我的标记的值”,他会这样做

$tmparray["my_tag"] = "value_of_my_tag";
$map->processtemplate($tmparray, MS_FALSE);
字符串处理querytemplate(数组参数,布尔生成图像)

处理查询模板文件并将结果返回到缓冲区。第二个参数generateimages不是强制的。如果没有给出,它将被设置为真。

字符串processLegendTemplate(数组参数)

处理图例模板文件并将结果返回到缓冲区。

int setsymbolset(字符串文件名)

动态加载和设置符号文件。

int getnumsymbols()。

返回地图中的符号数。

int setfontset(字符串文件名)

加载并设置新的 FONTSET .

int selectoutputformat(字符串类型)

选择要在地图中使用的输出格式。返回ms-success/ms-failure。

备注

使用的类型应该对应于映射文件中声明的一种输出格式。传递的类型参数将与输出格式结构中的mimetype参数进行比较,然后与结构中的name参数进行比较。

int savemapcontext(字符串文件名)

仅在启用WMS支持时可用。将当前映射对象状态保存到 WMS Map Context 格式。只有WMS层保存在WMS映射上下文XML文件中。返回ms-success/ms-failure。

int loadmapcontext(字符串文件名[,布尔唯一层名称])

仅在启用WMS支持时可用。加载A WMS Map Context XML文件到当前的mapobj中。如果地图已经包含了一些图层,那么在WMS地图上下文文档中定义的图层将添加到当前地图中。第二个参数unique_layer_name是可选的,如果设置为ms_true layers created,将具有唯一的名称(唯一前缀添加到名称中)。如果设置为ms_false,层名称将与上下文中的名称相同。默认值为ms_false。返回ms-success/ms-failure。

int applysld(字符串sldxml)

应用 SLD 文档到映射文件。SLD文档和映射文件之间的匹配将使用层的名称完成。见 SLD HowTo 有关SLD支持的更多信息。

int applysldurl(字符串sldurl)

将URL指向的SLD文档应用于映射文件。SLD文档和映射文件之间的匹配将使用层的名称完成。见 SLD HowTo 有关SLD支持的更多信息。

字符串生成ld()

基于在所有层中找到的所有类返回SLD XML字符串。

string getconfiguration(字符串键)

返回与键关联的配置值。如果找不到键,则返回空的sting。

int setconfigOption(字符串键,字符串值)

使用键和传递的值设置配置参数

int应用程序配置()。

应用映射文件中设置的配置选项。例如,使用setconfigOption设置proj库只修改映射对象中的值。applyconfigOptions实际上会更改处理投影时将使用的proj库值。

int loadowsparameters(owsrequest请求,字符串版本)

将OWS请求参数(bbox、layers和c)加载到地图中。返回ms-success或ms-failure。第二个参数版本不是必需的。如果没有给出,版本将设置为1.1.1。

Int-OwsDispatch(OwsRequest请求)

处理并执行地图上传递的OpenGIS Web服务请求。如果req对象中没有有效的OWS请求,则返回ms_done(2),如果成功处理了OWS请求,则返回ms_success(0),如果未成功处理OWS请求,则返回ms_failure(1)。OWS请求包括 WMSWFSWCSSOS MapServer支持的请求。已调度请求的结果将写入stdout,并可以使用msio服务(即ms-ioinstallstdouttobuffer()和ms-iogetstdobufferstring())捕获。

int insertlayer(layerobj层[,int nindex=-1])

插入的副本 layer 进入索引处的地图 N索引. 默认值为 nIndex 是-1,这意味着最后一个可能的索引。返回新层的索引,如果失败则返回-1。

层obj removellayer(int nindex)

从mapobj中删除一个层。参数是要删除的层的索引。成功时返回删除的layerObj,否则返回空值。

输出格式对象

构造函数

outputformatobj的实例始终嵌入在 mapObj .它使用只读。

没有可用的构造函数(即将推出,请参阅票据979)

成员

类型

名字

一串

名称

一串

拟态

一串

驱动

一串

延伸

利息

渲染器

利息

imagemode//msimagemodeux值。

利息

透明的

方法

int set(字符串属性_name,new_value)

将对象属性设置为新值。

void setoption(字符串属性名称,字符串新值)

添加或修改格式选项列表。成功后返回true。

$oMap->outputformat->setOption("OUTPUT_TYPE", "RASTER");
string getoption(字符串属性u name)

返回作为参数传递的格式选项属性的关联值。如果找不到属性,则返回空字符串。

void setformatoption(字符串属性_name,字符串新值)

不赞成的请参见setOption()。

string getformatoption(字符串属性_name)

不赞成的请参见GetOption()。

OwsrequestObj

构造函数

request = ms_newOwsrequestObj();

创建新的OWS请求对象。

成员

类型

名字

利息

numparams(只读)

利息

类型(只读):ms-get-u请求或ms-post-u请求

方法

int加载参数()

从CGI环境变量request_方法、query_字符串和http_cookie初始化owsrequest对象。返回收集的名称/值对的数目。

int setparameter(字符串名称、字符串值)

设置请求参数。例如:

$request->setparameter('REQUEST', 'GetMap');
字符串getname(int index)

返回位于的参数的名称 index 在请求的参数名数组中。

字符串GetValue(int index)

返回参数的值 index 在请求的参数值数组中。

string getvaluebyname(字符串名称)

返回与参数关联的值 name.

彭波托基

构造函数

PointObj ms_newPointObj()

成员

类型

名字

双重的

X

双重的

Y

双重的

Z(用于三维形状文件。其他类型设置为0)

双重的

M(仅用于测量的形状文件。对于其他类型,设置为0。)

方法

int setxy(双x,双y[,双m])

设置X、Y坐标值。成功时返回0,错误时返回1。

备注

第3个参数m仅用于测量的形状文件。这不是强制性的。

int setxyz(双x,双y,双z,[,双m])

设置X、Y、Z坐标值。成功时返回0,错误时返回1。

备注

第4个参数m仅用于测量的形状文件。这不是强制性的。

int draw(mapobj map、layerobj layer、imageobj img、int class_index、字符串文本)

使用图层绘制单个点。类索引用于根据为层定义的类对点进行分类。文本字符串用于注释点。返回ms-success/ms-failure。

双距离topoint(pointobj popoint)

计算两点之间的距离。

双距离直线(点对象p1,点对象p2)

计算由传入参数的两点定义的线条和点之间的距离。

双距离形状(shapeobj shape)

计算点和形状之间的最小距离。

int项目(projectionobj-in,projectionobj-out)

将点从“in”投影(第一个参数)投影到“out”投影(第二个参数)。返回ms-success/ms-failure。

空()

释放对象使用的所有资源。

投影对象

构造函数

ProjectionObj ms_newProjectionObj(string projectionstring)

基于作为参数传递的投影字符串创建投影对象。

$projInObj = ms_newprojectionobj("proj=latlong")

将创建地理投影类。

以下示例将把lat/long点转换为lcc投影:

$projInObj = ms_newprojectionobj("proj=latlong");
$projOutObj = ms_newprojectionobj("proj=lcc,ellps=GRS80,lat_0=49,".
                                  "lon_0=-95,lat_1=49,lat_2=77");
$poPoint = ms_newpointobj();
$poPoint->setXY(-92.0, 62.0);
$poPoint->project($projInObj, $projOutObj);

方法

int GETUNITSH()

返回投影对象的单位。出错时返回-1。

CuryMyAppObjo

构造函数

querymapobj的实例始终嵌入在 mapObj .

成员

类型

名字

利息

宽度

利息

高度

利息

样式(MS-Normal、MS-Hilite、MS-Selected)

色度Objo

颜色

方法

int updatefromstring(字符串片段)

从字符串片段更新querymap对象。返回ms-success/ms-failure。

int set(字符串属性_name,new_value)

将对象属性设置为新值。出错时返回-1。

雷克托布杰

构造函数

rectobj有时嵌入到其他对象中。也可以通过以下方式创建新的:

RectObj ms_newRectObj()

备注

成员(minx、miny、maxx、maxy)初始化为-1;

成员:

类型

名字

双重的

米克斯

双重的

米尼

双重的

马克斯

双重的

梅西

方法

int set(字符串属性_name,new_value)

将对象属性设置为新值。出错时返回-1。

void setextent(双minx、双miny、双maxx、双maxy)

设置矩形范围。

int draw(mapobj map、layerobj layer、imageobj img、int class_index、字符串文本)

使用层绘制单个矩形。类索引用于根据为层定义的类对矩形进行分类。文本字符串用于注释矩形。返回ms-success/ms-failure。

双匹配(int宽度,int高度)

调整矩形的范围以适应指定的宽度/高度。

int项目(projectionobj-in,projectionobj-out)

将矩形从“in”投影(第一个参数)投影到“out”投影(第二个参数)。返回ms-success/ms-failure。

空()

销毁rect对象使用的资源。

参考对象AppObjt

构造函数

referencemapobj的实例始终嵌入在 mapObj .

成员

类型

名字

一串

形象

利息

宽度

利息

高度

利息

地位

雷克托布杰

程度

ColorObj

颜色

ColorObj

外部色彩

方法

int updatefromstring(字符串片段)

从字符串片段更新referencemap对象。返回ms-success/ms-failure。

int set(字符串属性_name,new_value)

将对象属性设置为新值。出错时返回-1。

结果缓存成员对象

构造函数

始终通过以下方式获取ResultCacheMemberObj的实例 layerObj 的getResult()方法。

成员

类型

名字

利息

shapeindex(只读)

利息

TileIndex(只读)

利息

类索引(只读)

方法

没有

斯巴巴罗夫

构造函数

scalebarobj的实例始终嵌入在 mapObj .

成员

类型

名字

利息

高度

利息

宽度

利息

风格

利息

间隔

色度Objo

颜色

色度Objo

背景色

色度Objo

外部色彩

利息

单位

利息

状态//MS_开启,MS_关闭,MS_嵌入

利息

位置//用于嵌入式scalebars、ms-ul、ms-uc,…

利息

透明(在v4.6中已弃用)

利息

隔行扫描(在v4.6中已弃用)

利息

标签缓存

拉贝洛夫

标签

色度Objo

图像颜色

利息

排列

方法

int updatefromstring(字符串片段)

从字符串片段更新scaleBar。返回ms-success/ms-failure。

int set(字符串属性_name,new_value)

将对象属性设置为新值。出错时返回-1。

int-setimagecolor(int-red、int-green、int-blue)

设置对象的ImageColor属性(BaclGround)。出错时返回false。

SuffeFielObjo

构造函数

shapefileObj ms_newShapefileObj(string filename, int type)

打开一个shapefile并返回一个新对象来处理它。传递文件名时应不带扩展名。若要创建新文件(或覆盖现有文件),请键入ms-shp-point、ms-shp-arc、ms-shp-polygon或ms-shp-multipoint之一。传递type as-1以打开现有文件进行只读访问,键入=-2以打开现有文件进行更新(append)。

成员

类型

名字

利息

numshapes(只读)

利息

类型(只读)

一串

源(只读)

雷克托布杰

边界(只读)

方法

shapeobj getshape(int i)

按索引检索形状。

shapeobj获取点(int i)

按索引检索点。

shapeobj gettransform(mapobj map,int i)

按索引检索形状。

rectobj getextent(int i)

按索引检索形状的边界框。

int addshape(shapeobj shape)

将形状追加到打开的形状文件。

int addpoint(点对象点)

向打开的形状文件追加点。

空()

关闭形状文件(并在写入模式下提交所有更改)并释放对象使用的所有资源。

形状对象

构造函数

ShapeObj ms_newShapeObj(int type)

“type”是ms-shape_点、ms-shape_线、ms-shape_多边形或ms-shape_空值之一。

ShapeObj ms_shapeObjFromWkt(string wkt)

从WKT字符串创建新的形状对象。

成员

类型

名字

一串

文本

利息

类别索引

利息

类型(只读)

利息

数字行(只读)

利息

指数

利息

TileIndex(只读)

雷克托布杰

边界(只读)

利息

numValues(只读)

数组

值(只读)

值数组是具有此形状的属性值的关联数组。它仅在从layer->getshape()获取的形状上设置。数组中值的关键是属性名,例如

$population = $shape->values["Population"];

方法

int set(字符串属性_name,new_value)

将对象属性设置为新值。出错时返回-1。

int add(lineobj行)

向形状添加线条(即零件)。

线条对象线条(int i)

返回对行号i的引用。引用仅在包含该点的shapeobj的生命周期内有效。

int draw(映射对象映射、图层对象层、图像对象img)

使用图层绘制单个形状。返回ms-success/ms-failure。

布尔包含(pointobj point)

如果点在形状内,则返回ms_true,否则返回ms_false。

布尔相交(shapeobj shape)

如果两个形状相交,则返回ms_true,否则返回ms_false。

int项目(projectionobj-in,projectionobj-out)

将形状从“in”投影(第一个参数)投影到“out”投影(第二个参数)。返回ms-success/ms-failure。

pointobj getpointusingmeasure(双m)

仅适用于测量的形状文件。给定一个度量值m,重新运行shapeobject上相应的xy位置。

PointObj GetMeasureUsingPoint(点对象点)

仅适用于测量的形状文件。给定一个xy位置,找到形状对象上最近的点。返回设置了m值的该点的点对象。

空()

销毁形状对象使用的资源。

string getvalue(layerobj层,string filedname)

返回给定字段名的值。

shapeobj缓冲区(宽度)

根据提供的距离(在现有shapeobj的坐标中给定)返回新的缓冲shapeobj。只有使用geos库构建php/mapscript时才可用。

形状obj converxhull()

返回表示形状的凸面外壳的形状对象。只有使用geos库构建php/mapscript时才可用。

shapeobj边界()

返回形状的边界。只有使用geos库构建php/mapscript时才可用。

内部包含形状(shapeobj shape2)

如果作为参数传递的shape2完全在形状内,则返回true。否则返回false。只有使用geos库构建php/mapscript时才可用。

shapeobj联合(shapeobj shape)

返回表示形状对象与作为参数传递的形状对象的并集的形状对象。仅在使用geos库构建php/mapscript时可用

shapeobj union_geos(shapeobj shape)(在v5.2中已弃用。使用union代替)

返回表示形状对象与作为参数传递的形状对象的并集的形状对象。只有使用geos库构建php/mapscript时才可用。

shapeobj交集(shapeobj shape)

返回表示形状对象与作为参数传递的形状对象的交集的形状对象。只有使用geos库构建php/mapscript时才可用。

shapeobj差异(shapeobj形状)

返回一个形状对象,该对象表示形状对象与作为参数传递的形状对象之间的差异。只有使用geos库构建php/mapscript时才可用。

shapeobj symdifference(shapeobj shape)

返回所提供形状和现有形状的计算对称差。只有使用geos库构建php/mapscript时才可用。

int重叠(shapeobj shape)

如果作为参数传递的形状与形状重叠,则返回true。否则返回false。只有使用geos库构建php/mapscript时才可用。

内部int(shapeobj shape2)

如果形状完全在作为参数传递的shape2内,则返回true。否则返回false。只有使用geos库构建php/mapscript时才可用。

int交叉(shapeobj shape)

如果作为参数传递的形状与形状交叉,则返回true。否则返回false。只有使用geos库构建php/mapscript时才可用。

int touches(shapeobj shape)

如果作为参数传递的形状与形状接触,则返回true。否则返回false。只有使用geos库构建php/mapscript时才可用。

int等于(shapeobj shape)

如果作为参数传递的形状等于该形状(仅限几何图形),则返回true。否则返回false。只有使用geos库构建php/mapscript时才可用。

int disjoint(shapeobj shape)

如果作为参数传递的形状与形状不相交,则返回true。否则返回false。只有使用geos库构建php/mapscript时才可用。

点obj getcentroid()

返回表示形状形心的点对象。只有使用geos库构建php/mapscript时才可用。

双GetArea()

返回形状的区域(如果适用)。只有使用geos库构建php/mapscript时才可用。

双GetLength()

返回形状的长度(或周长)。只有使用geos库构建php/mapscript时才可用。

点obj getlabelpoint())

返回一个具有适合标记形状的坐标的点对象。

String Toukt()

返回形状几何图形的WKT表示形式。

int setbounds()。

更新形状的边界属性。必须在添加新零件后调用以计算新边界框。如果成功则返回true,否则返回false。

样式对象

构造函数

StyleObj的实例始终嵌入在 classObj .

styleObj ms_newStyleObj(classObj class [, styleObj style])

第二个参数“style”是可选的。如果给定,则创建的新样式将是作为参数传递的样式的副本。

成员

类型

名字

利息

符号

一串

符号名

双重的

大小

双重的

最小尺寸

双重的

最大尺寸

利息

偏移量x

利息

杂乱

利息

反别名

色度Objo

颜色

色度Objo

背景色

色度Objo

外部色彩

双重的

宽度

双重的

最小宽度

双重的

最大宽度

双重的

一串

盎格鲁项目

一串

尺寸项目

双重的

最小值

双重的

最大值

一串

测距项

利息

不透明度(此参数仅支持agg驱动程序)

方法

int updatefromstring(字符串片段)

从字符串片段更新样式。返回ms-success/ms-failure。

int set(字符串属性_name,new_value)

将对象属性设置为新值。出错时返回-1。

样式对象克隆()

返回样式的克隆副本。

int setbinding(const-stylebinding,字符串值)

设置specField样式属性的属性绑定。成功时返回true。在MapServer 5.0中添加。

$oStyle->setbinding(MS_STYLE_BINDING_COLOR, "FIELD_NAME_COLOR");

这会将颜色参数与数据绑定(即从名为“字段名称颜色”的字段中提取颜色值)

字符串getbinding(const-stylebinding)

获取specField样式属性的属性绑定。如果此属性没有绑定,则返回空值。

$oStyle->setbinding(MS_STYLE_BINDING_COLOR, "FIELD_NAME_COLOR");
echo $oStyle->getbinding(MS_STYLE_BINDING_COLOR); // FIELD_NAME_COLOR
int removebinding(const-stylebinding)

删除specField样式属性的属性绑定。成功时返回true。在MapServer 5.0中添加。

$oStyle->removebinding(MS_STYLE_BINDING_COLOR);

符号对象

构造函数

int ms_newSymbolObj(mapObj map, string symbolname)

创建一个新符号,并在符号中使用默认值。返回新符号的ID。如果存在同名符号,则返回其ID。

要获取符号对象,需要在地图对象上使用方法:

$oSymbol = $map->getSymbolObjectById($nId);

成员

类型

名字

一串

名称

类型

名称//请参考符号类型常量

利息

在“文件”中,如果设置为“真”,符号将保存在映射文件中。

双重的

西泽

双重的

西齐

利息

numpoints(只读)

利息

填满

利息

模式长度(只读)

利息

StyleLength(在v5.0中已弃用,请改用PatternLength。)(只读)

一串

ImagePath(只读)

利息

透明的

利息

透明色

一串

性格

利息

反别名

一串

字体

利息

间隙(在V6.0中已弃用)

利息

位置

方法

int set(字符串属性_name,new_value)

将对象属性设置为新值。

int设置点(数组双精度)

设置符号的点。请注意,如果数组包含点的x和y值,则传递的值。示例数组[0]=第一个点数组的1:x值[1]=第一个点数组的0:y值[2]=第二个点的1:x值….

int setpattern(数组int)

设置符号的图案(用于短划线图案)

数组getpointsarray()。

返回包含符号点的数组。请参阅设置点以了解如何解释数组。

数组getPatternArray())

返回包含模式的数组。

int setimagepath(char文件名)

加载由文件名指定的PixMap符号。文件应为GIF或PNG格式。

int setStyle(数组int)

在v5.0中已弃用,将在将来的版本中删除。改用setPattern()。

数组getStyleArray()

在v5.0中已弃用,将在将来的版本中删除。请改用getPatternArray()。

使用示例:

  1. 创建用作虚线的符号

$nId = ms_newsymbolobj($gpoMap, "mydash");
$oSymbol = $gpoMap->getsymbolobjectbyid($nId);
$oSymbol->set("filled", MS_TRUE);
$oSymbol->set("sizex", 1);
$oSymbol->set("sizey", 1);
$oSymbol->set("inmapfile", MS_TRUE);

$aPoints[0] = 1;
$aPoints[1] = 1;
$oSymbol->setpoints($aPoints);

$aPattern[0] = 10;
$aPattern[1] = 5;
$aPattern[2] = 5;
$aPattern[3] = 10;
$oSymbol->setpattern($aPattern);

$style->set("symbolname", "mydash");
  1. 创建TrueType符号

$nId = ms_newSymbolObj($gpoMap, "ttfSymbol");
    $oSymbol = $gpoMap->getSymbolObjectById($nId);
    $oSymbol->set("type", MS_SYMBOL_TRUETYPE);
    $oSymbol->set("filled", true);
    $oSymbol->set("character", "&#68;");
$oSymbol->set("font", "ttfFontName");

韦博伊

构造函数

Webobj的实例始终嵌入在 mapObj .

成员

类型

名字

一串

日志

一串

意象派

一串

模板

一串

意象派

一串

页眉

一串

页脚

一串

空(只读)

一串

错误(只读)

一串

微型模板

一串

最大模板

双重的

最小尺度

双重的

最大刻度

双重的

minscale(在v5.0中已弃用,请改用minscaledenom)

双重的

maxscale(在v5.0中已弃用,请改用maxscaledenom)

雷克托布杰

范围(只读)

一串

查询格式

一串

传奇格式

一串

浏览格式

哈希表对象

元数据

方法

int updatefromstring(字符串片段)

从字符串片段更新Web对象。返回ms-success/ms-failure。

int set(字符串属性_name,new_value)

将对象属性设置为新值。出错时返回-1。