GIS制图实习五.docVIP

  • 10
  • 0
  • 约5.93千字
  • 约 7页
  • 2017-02-13 发布于江苏
  • 举报
GIS制图实习五

实习五 对象操作与制图 武汉大学资源与环境科学学院??? 程雄 王振峰 肖黎 ?MapBasic 最强大的功能是在于它查询和控制地图对象的能力,这些地图对象包括:圆弧、椭圆、框架、线、点、折线、矩形区域、圆角矩形以及文本对象。这一节将讨论如何通过MapBasic 程序来查询、创建和修改这些地图对象。 一.对象变量与对象列 1.对象变量 ? MapBasic 的对象变量类型既可以用于简单对象(如线),也可以用于复杂对象(如线、区域)。MapBasic 的对象变量可以像其它变量一样使用,例如赋值给对象变量、将对象变量作为参数传递给函数和过程将对象变量的值存到MapInfo 的表中。使用Dim 语句可以定义一个对象变量,可以用赋值符号(=) 给变量赋值请看以下程序段。 Dim Myobj, office As Object Office =CreatePoint(73.45 42.1) Myobj = office 2.对象列 表中以Obj 命名的列是用于存放图形对象的特殊列。任何有图形对象的表都有一个0bj列,但Obj 列不在浏览窗口中出现。为了访问一个对象列,可以使用以下形式的表达式table name.obj 下面的例子是先定义一个对象变量 然后从表Selection中复制一个对象到这个变量中。 Dim myobj As Object ?? open table 规划图 Interactive Select obj from 规划图 where 地类名称=村镇建设用地 into Selection ?? Fetch rec j From Selection ?? myobj = Selection.obj 二.编辑对象前的系统设置 MapBasic内部设置坐标系和投影不同于地图窗所用的坐标系,MapBasic默认的是经纬度坐标系,既地理信息(如CentroidX()函数)返回x 或y 坐标值为经、纬度。使用Set CoordSys命令,可以设定MapBasic采用的坐标系。CoordSys不但可以直接设置多种投影坐标系(CoordSys Earth ……),非投影的地理坐标系(CoordSys Nonearth ……),而且选则Table 和Window 子从句项,可以参考已有的表和窗口的坐标系设置MapBasic坐标系。 Set Area Units area_name 语句设置MapInfo 缺省的面积测量单位。默认状态下MapBasic 使用的面积单位是(Sq mi)平方英里。 MapBasic的缺省单位是英里(mile),该缺省单位只能用Set Distance Units语句改变。该语句的语法形式:Set Distance Units unit_name ? 三.地图对象创建和修改 1.创建地图对象 首先必须使编辑图层可编辑,然后才能创建和编辑地图对象。 Set map layer 编辑图层名 editable on?????? ‘使编辑图层可编辑 用MapBasic创建地图对象前,还应设置MapBasic系统的坐标系统,使其与要创建对象表的坐标系统一致,使用Set CoordSys语句可完成此设置。这里常用的有以下几种方式: Set CoordSys Table tablename???????????? ‘设置MapBasic坐标系统与tablename表一致 Set CoordSys Window window_id ?????? ‘设置MapBasic坐标系统与window_id窗口一致 MapBasic 供了一组能创建图形对象的语句和函数。常见的命令和函数如下表: 输入图形对象命令 输入图形对象函数 说明 Create Arc ? 创建一段圆弧 Create Ellipse ? 创建一个椭圆或圆 Create Frame ? 创建一个框架 Create Line Create Line() 创建一条线 Create Point Create Point() 创建一个点 Create PLine ? 创建一个折线 Create Rrct ? 创建一个矩形 Create Region ? 创建一个区域 Create RoundRect ? 创建一个圆角矩形 Create Text Create Text() 创建一个文本对象 ? Create Circle() 创建一个圆 例如在表中创建一个点 Include MapBasic.def Dim x1,y1 as float Dim newPoint as Object?????????????? ‘创建对象变量 Open table D23.tab interactive Map From D23????????????????????

文档评论(0)

1亿VIP精品文档

相关文档