彩票走势图

MapInfo中常用查询函数及用法

转帖|使用教程|编辑:龚雪|2014-05-04 11:22:09.000|阅读 2390 次

概述:本文汇总了MapInfo中一些常用的查询函数,并说明了这些查询函数的具体使用方法。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

首先说明一下,下表中所有的对点、线、面对象的查询函数,等号都可以换成是【like】。例如,查询某个图层中的线对象,可以将函数写为:【str$(obj) like "polyline"】。点和面对象一般我们写成【point】或者【region】。 为什么要用like呢,一般来说like概括的范围比较大,而且因为对象类型不对而出现无法查询的几率比较小。

关于模糊查询,我先说明一下"%"是如何使用的。例如你要查询所有属性为"XXX学校"的对象,只要在函数中输入"%学校"就可以了,如果是两头的字不一样而中间的学校都一样的话,就可以输入"%学校%"。这样只要是属性中有“学校”两个字的对象就可以全部被查询出来了。需要注意的是,在输入这个函数的时候,最前面要写的必须是这个表中你要查询的字段的名称。比如说有个字段叫做“最大面积”,在写函数的时候前面就要写“最大面积”,必须一模一样。

最后解释一下,like、<、within等这些都是操作符,在MapInfo的查询对话框中可以看到有一个操作符的列表,一般查询公式的格式为【对象】或者【字段】+【空格】+【操作符】+【空格】+【"属性"】。

下表给出了MapInfo中常用查询函数及用法。

函数用途

语法

备注

图层中选点

Str$(obj)="point";

Str(String)表示字符串;point表示点;

图层中选线

Str$(obj)="line"(选直线);

ObjectLen(obj, "m")>0;ObjectLen(obj, "m") = 5

line表示直线;ObjectLen(Object Length)表示对象长度;m表示长度单位;

图层中选面

Str$(obj)="Region";

Area(obj, "sq m")&gt;0;Area(obj, "sq m") = 5

Region表示面(区域);Area表示面及区域;

图层中选文本

Str$(obj)= "text";

Text表示文本

模糊查询

Name like "%输入要查询的关键字%";

Name like "-输入要查询的关键字%";

Instr(1,字段名,"输入要查询的关键字");

Name为名称;like表示象等;

Instr(Instring)表示在字符串中

包含

A.Obj Contains B.Obj;

Contains表示包含;

包含于

A.Obj Within B.Obj;

Within表示包含于;

非对象

Not obj

Not表示不是,非;

多个条件都符合

条件A And 条件B(如Name like “%广场” and class = 2 )

And表示与、和;

多个条件符合一个就被选出

条件A Or&nbsp;条件B(如Name like “%广场” Or class = 2 )

Or表示或者;

查询某一字段属性长度

Len(字段名)>字段属性长度;(如Len(Name) > 7)

Len(Length)表示长度;

查询某一字段属性的单个字符

Len(字段名)>字段属性长度;(如Len(Name) = 1)

Len(Length)表示长度;

求和

Sum(Area(Obj, "sq km"))所有面积的和;

Sum(ObjectLen(Obj, "km"))所有长度的和;

Sum表示和;

面中有点、线(线中有面、点或点中有线、面)

选择列:Obj,Name,从表:居民地; 

 


标签:GIS地图Mapinfo

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关产品
MapInfo Engage3D

为强大的分析和3D可视化功能提供先进的解决方案

MapInfo Professional

全球首个桌面GIS和绘图工具,轻松实现数据可视化、信息地图化的桌面解决方案。

MapInfo Vertical Mapper

强大的空间数据分析工具,允许你显示、管理和解释基于网格的连续空间信息。

MapInfo MapXtreme for .Net

向商业应用嵌入GIS的软件开发包,专为.NET开发人员设计

扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP