惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
宝玉的分享
宝玉的分享
酷 壳 – CoolShell
酷 壳 – CoolShell
T
The Exploit Database - CXSecurity.com
Help Net Security
Help Net Security
腾讯CDC
Project Zero
Project Zero
C
CXSECURITY Database RSS Feed - CXSecurity.com
IT之家
IT之家
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tailwind CSS Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
D
Darknet – Hacking Tools, Hacker News & Cyber Security
L
LINUX DO - 最新话题
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
T
Threatpost
N
News | PayPal Newsroom
C
Cybersecurity and Infrastructure Security Agency CISA
Hacker News - Newest:
Hacker News - Newest: "LLM"
S
SegmentFault 最新的问题
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
P
Proofpoint News Feed
A
Arctic Wolf
B
Blog RSS Feed
Forbes - Security
Forbes - Security
P
Privacy & Cybersecurity Law Blog
Attack and Defense Labs
Attack and Defense Labs
V2EX - 技术
V2EX - 技术
P
Proofpoint News Feed
I
Intezer
Application and Cybersecurity Blog
Application and Cybersecurity Blog
阮一峰的网络日志
阮一峰的网络日志
aimingoo的专栏
aimingoo的专栏
T
Tenable Blog
MyScale Blog
MyScale Blog
U
Unit 42
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
WordPress大学
WordPress大学
W
WeLiveSecurity
D
DataBreaches.Net
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
GRAHAM CLULEY
有赞技术团队
有赞技术团队
Martin Fowler
Martin Fowler
罗磊的独立博客
The Last Watchdog
The Last Watchdog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
Vulnerabilities – Threatpost
美团技术团队
Microsoft Security Blog
Microsoft Security Blog

博客园 - WolfのPL

数学地理 ArcGIS Server9.2的Cache! ArcGIS Server连接方式介绍 远程连接server问题 ArcGIS Explorer build480即将发布! ArcGIS Engine中加载数据 ArcGIS9.2 SP5已发布! ArcSDE中间件技术的生命力(原文作者:蔡晓冰) GeoDatabase设计之拓扑 arcsde9.2远程安装(ORACLE) ArcGIS9.2支持多种数据格式导入导出 ArcSDE服务介绍 巧用Arcmap中字段计算器(field calculations) ArcGIS中应用Expressions标注(Label)之一—上下标、分数等特殊形式标注 创建一个简单的ArcGIS Server ASP.NET网页(转载) ArcGIS Server--揭开你的神秘面纱 VC杂记 ArcGIS Server9.2安装过程 The Digital Earth: Understanding our planet in the 21st Century.(转载)
ArcGIS中应用Expressions标注(Label)之二—使用外部数据库中数据标注要素
WolfのPL · 2008-02-26 · via 博客园 - WolfのPL

标注的具体步骤:

1. 打开ArcMap,添加需要标注的图层。

2. 点击该图层属性(layer properties)对话框中的标注(label)标签,点击Expression按钮。

3. 在Label Expression对话框中,选中Advanced复选框,在Expression框里即可见FindLabel()函数的桩代码。

4. 将光标移至FindLabel后面的括号里,在Label Fields中双击需要使用的字段的字段名。

5. 在Expression表达式里书写VBScript代码(如下)。

6. 通过给函数名赋值返回字符串(例如:FindLabel = aString)。

7.最后点击Verify按钮,验证代码是否正确,如果代码无误,ArcMap将显示标注的样例。

该方法的优点就是迅速,只需几秒钟就可以标注上百个多边形(尽管标注的速度与PC机性能及网络速度有关)。

该方法的缺点是它要创建、打开再关闭数据库连接,并且为地图上的每一个可见要素做查询。需要做很多要素的标注时,这样的动作会使处理速度减慢,增加网络流量。解决此问题的一个方法就是设置可见比例尺(Scale Range)。在LayerProperties对话框的Label标签里,点击Scale Range按钮,定义标注的可见比例尺范围。

VBScript代码如下:
Function FindLabel (

[OBJECTID]  )
    Dim strPrclQry, strInfostrPrclQry = "SELECT OWNER_NAME FROM aTABLE WHERE OBJECTID = ' " & [OBJECTID]  & " ' "Dim ADOConnset ADOConn = createobject("ADODB.Connection")Dim rsPrcl 
    set rsPrcl = createObject("ADODB.Recordset")
    ADOConn.Open "PROVIDER=MSDAORA;Data Source=aDatabaseService;
    User  ID=aUserName;Password=aPassword"
    ADOConn.CursorLocation = 3
    rsPrcl.Open strPrclQry, ADOConn, 3, 1, 1

'如果没有找到记录,则返回空字符串
'如果找到多于一条的记录,则通过"<<More>>"来暗示含有多条业主信息
'可以做循环,直到标注出所有的业主信息
    Select Case rsPrcl.RecordCount
Case -1, 0
    strInfo = ""
Case 1
'只读取第一条记录
    strInfo = trim(rsPrcl.Fields("OWNER_NAME").Value & " ") '在空值的情况下将出错
Case Else
    strInfo = rsPrcl.Fields("OWNER_NAME").Value & "<< More >>"
    End Select
    '关闭连接
    rsPrcl.Close
    ADOConn.Close
    Set rsPrcl = Nothing
    Set ADOConn = Nothing
    '返回字符串用于标注
    FindLabel = strInfo
End Function

注意:在VBScript中,创建任何对象都要使用CreateObject()函数,并且要含有正确库名和对象名(例如:ADODB.Connection)。只要创建了Connection和RecordSet 对象,就可以使用正确的连接字符串打开数据库连接,通过一个正确的SQL语句打开RecordSet,使用带有字段名的RecordSet对象的Value属性获取数据。当获取数据之后,必须确保RecordSet和Connection对象关闭并且置空。