• 处理mapinfo文本对象与坐标提取


    处理mapinfo文本对象与坐标提取

    2007-09-16 09:52:05| 分类: 默认分类 | 标签: |字号 订阅

    如何处理mapinfo文本对象图层
    问题:文本对象图层是作为地图的重要标注,需要显示在地图上,但是对于编程来说,文本不好处理,如

    果是点对象的话,就便于管理。
    解决方法:将文本内容保存到属性当中,使用点对象替换这些文本对象,如果不需要出现标注的锚点,可

    以将这些点对象替换为图形为“无”的样式。开启此图层的自动标注功能,即可在如MapXtreme for Java

    中显示这些标注
    工具:MapInfo Professional 5.0以上版本
    使用功能:查询、维护表、更新列、删除图形、创建点(相关内容请参考用户手册的部分章节)
    操作步骤:
    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、保存表,并打开以地图视图打开此表,使用自动标注功能自动标注本地图图层即可

  • 相关阅读:
    LINUX 新手 入门 教程
    mysql 新手入门 官方文档+官方中文文档附地址
    Git常用命令
    修改dotnet运行.netcore web程序默认端口
    centos7.6下部署.netcore3.1web程序
    supervisor安装及使用(转载)
    linux(CentOS7.6)下安装mysql8.0并使用navicat远程访问
    uni-app为组件uni-icons增加自定义图标(超简单)
    常用正则表达式收录(持续更新)
    CentOS7.6安装SQL SERVER 2017
  • 原文地址:https://www.cnblogs.com/wangrsh2010/p/2178961.html
Copyright © 2020-2023  润新知