轉帖|使用教程|編輯:龔雪|2014-05-04 11:22:09.000|閱讀 2441 次
概述:本文匯總了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")>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 條件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,從表:居民地; |
|
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網