网友投稿 | 设为首页 | 加入收藏
1/1页1 跳转到查看:12177
回复该主题 发新话题
键盘左右键可以进行前后翻页操作
帮助

如何将文本注记转换为点(ArcMap、FME、Mapinfow)

如何将文本注记转换为点(ArcMap、FME、Mapinfow)

很多时候我们会遇见DWG数据转换过来的文本标注信息,而在地理信息系统应用的过程中往往需要将这些文本信息转换为点属性才可以利用,这时就需要找个方法把文本信息转换为点属性信息了,这里提供三种转换的方法,请各位自取:
首先的任务当然是把DWG文件转换成其他格式,但具体是SHP?TAB?或是其他格式根据项目需要就可以了。这里不再赘述。
一、利用ArcMap转换
      ArcMap会将文本自动识别为点信息比较简单,在ArcMap中打开文本的SHP文件,如“*_text.shp”,然后Export就可以。
二、利用FME转换
      转换用到的两个函数:TextPropertyExtractor和TextLocationExtractor,生成的点在注记的左下角
  截图如下:


第一个函数是将文本信息抽出,第二个函数确定文本的生成位置。
三、Mapinfow转换

操作步骤:
1、打开要处理的文本对象层的表
2、使用查询功能,打开查询对话框,在条件中输入“not object”,选中相应的表之后点击确定按钮
3、删除所选择出的记录,如果没有记录被选择出来,进行下一步
4、在菜单中选择表>维护>紧缩表,将要处理的表紧缩
5、在菜单中选择表>维护>表结构,打开表结构对话框,不论原先的表结构有哪些内容,需要建立四个新的字段,内容如下:
字段名 类型 参数 用途
Type 整数 保存图元类型,用于筛选
Str 字符型 足够长 保存文本对象内容
X 浮点 保存文本对象位置x坐标
Y 浮点 保存文本对象位置y坐标
单击确定按钮保存表结构
6、在菜单中选择表>更新列,打开更新列对话框
更新的表为要处理的表
更新的列为Type列
从当前表中获取值
值为ObjectInfo(obj,1)
点击确定,关闭当前对话框
7、在菜单中选择查询>选择,打开选择对话框
在当前处理的表中选择Type字段值为10的记录出来,选择到命名为TEXT的表中
8、在菜单中选择表>更新列,打开更新列对话框

进行三次更新列操作
1、更新的表为TEXT
更新的列为Str列
从当前表中获取值
值为ObjectInfo(obj,3)
2、更新的表为TEXT
更新的列为X列
从当前表中获取值
值为CentroidX(obj)
3、更新的表为TEXT
更新的列为Y列
从当前表中获取值
值为CentroidY(obj)
9、打开TEXT表的一个地图视图,从TEXT中选择所有对象,在菜单中选择编辑>仅清除地图对象
10、在菜单中选择表>创建点,打开创建点对话框
选择表TEXT,选定点样式,指定点的横纵坐标,缩放比例设置为1
单击确定按钮创建点
11、保存表,并打开以地图视图打开此表,使用自动标注功能自动标注本地图图层即可
第三种方法来源于网上收集的,比较繁琐,但我在实际操作中发现很多步骤是可以省略不用的。
——当生活累的时候,坐下来喝杯茶吧——

TOP

 

在Mapinfow里面可以直接通过ObjectInfo(obj,3)获取文本信息,并可用于数据的查询、更新等操作,所以在实际操作过程中不用那么麻烦!
——当生活累的时候,坐下来喝杯茶吧——

TOP

 

学习了,感谢分享

TOP

 

学习了,感谢分享

TOP

 

学习了,感谢分享

TOP

 
1/1页1 跳转到
回复该主题 发表新主题
  <<上一主题 | 下一主题>>