Annotation小感 作者:gispower 出处:GIS动力站 第一步:定制Label 对于Feature图层,一般都有“Name”及“注记名”两个字段,对该图层对象的标注,一般采用“注记名”,如果没有该字段,则取值为“Name”,实现地图工程中注记的显示。body.clientHeight)this.width=body.clientHeight" border=0> 图 1 未加Label工程示意图body.clientHeight)this.width=body.clientHeight" border=0> 图 2 如何制作Label示意图body.clientHeight)this.width=body.clientHeight" border=0> 图 3 加入Label工程示意图 具体步骤如上三图所示: 首先选中TOC中需要进行标注的图层(湖库),右键单击,在弹出的菜单中选择“Properties”; 在弹出的“Layer Properties”对话框中选择“Label”包,勾选“Label Feature in this layer”,并在下拉式列表中为“Label”选择合适的字段(注记名),确定即可。 第二步:Label2Annotation 具体步骤如下所示: 首先,运行Microsoft Access,在本机某一目录下新建一个名为“MyGDB.mdb”的Personal GeoDataBase,其表可为空; 然后,在ArcMap中右键单击图层,在弹出的菜单中选择“Convert Labels to Annotation…”; 之后,在创建Annotation的对话框中设定保存地址(MyGDB)及保存名“湖库Anno”; 在成功之后,可见工程文件中多了一个“湖库Anno”的图层,原“湖库”图层上的Label已被“湖库Anno”图层取代。body.clientHeight)this.width=body.clientHeight" border=0> 图 4 Label2Annotation第一步body.clientHeight)this.width=body.clientHeight" border=0> 图 5 Convert Label 2 Anno 选项框 (备注:该图中点击中部的“打开文件夹”按钮,会弹出图6,进行处理之后才能在点击下部的“Convert”按钮!!!)body.clientHeight)this.width=body.clientHeight" border=0> 图 6 创建及保存Anno示意图body.clientHeight)this.width=body.clientHeight" border=0> 图 7 创建Anno成功之后工程示意图 第三步:Save Annotation to SDE 如果需要实现网络数据访问,则需要将这些Annotation转至SDE中(借用ArcCatalog桌面软件),注意,Annotation的存储机制是采用基于点的存储,故而很像是一个Point Feature。 具体的转换步骤与一般的数据转换没什么区别,如下图所示:body.clientHeight)this.width=body.clientHeight" border=0> 图 8 在ArcCatalog中将MyGDB的Anno转至SDEbody.clientHeight)this.width=body.clientHeight" border=0> 图 9 转至SDE的路径及文件名定义body.clientHeight)this.width=body.clientHeight" border=0> 图 10 AnnotationTest出现在SDE库中 第四步:Apply Annotation 如果需要在地图工程中用到SDE中存储的Annotation注记,则只需在地图工程中加载SDE中的对应图层,然后稍做处理(注意:刚出来可能只是一些块状符号信息,并没有文字标注,不要急!!!前面曾提到,Annotation是基于点进行存储的,故而只需对该图层的“Porperties”进行一定的修改,注记一定会出来的!!!),就达到了预期的效果。body.clientHeight)this.width=body.clientHeight" border=0> 图 11 从SDE中加载的Anno并没有显示出文字效果body.clientHeight)this.width=body.clientHeight" border=0> 图 12 修改Anno的Propertiesbody.clientHeight)this.width=body.clientHeight" border=0> 图 13 修改Anno的Properties之后的工程效果body.clientHeight)this.width=body.clientHeight" border=0> 图 14 修改Anno图层的Symbolsbody.clientHeight)this.width=body.clientHeight" border=0> 图 15 一切搞定!!!