210 likes | 542 Views
GIS 软件开发技术. 主讲:蔡忠亮 武汉大学资源与环境科学学院. 课程主要内容. 第一部分 GIS 软件开发技术基础 第二部分 MapInfo 环境下的 GIS 开发技术 第三部分 Arc/Info 环境下的 GIS 开发技术 第四部分 GIS 底层开发技术. 第二部分 MapInfo 环境下 GIS 开发技术. 第一章 MapBasic + MapInfo 第二章 VB + MapX 第三章 VC + MapX. OID. 图形数据文件库. 属性数据库. 2.1 MapX 编程基础. MapInfo 的数据组织 双元模型
E N D
GIS软件开发技术 主讲:蔡忠亮 武汉大学资源与环境科学学院
课程主要内容 第一部分 GIS软件开发技术基础 第二部分 MapInfo环境下的GIS开发技术 第三部分 Arc/Info环境下的GIS开发技术 第四部分 GIS底层开发技术 2
第二部分 MapInfo环境下GIS开发技术 • 第一章 MapBasic + MapInfo • 第二章 VB + MapX • 第三章 VC + MapX 3
OID 图形数据文件库 属性数据库 2.1 MapX编程基础 • MapInfo的数据组织 • 双元模型 • 层次结构 4 第二章 VisualBasic + MapX
2.1 MapX编程基础 • MapInfo的数据组织 表结构(文本文件) 属性数据 属性数据对应空间数据的指针位置 空间数据 5 第二章 VisualBasic + MapX
2.1 MapX编程基础 • MapX空间数据结构 • MapX是MapInfo公司向用户提供的具有强大地图分析功能的ActiveX控件产品。能支持绝大多数标准的可视化开发环境如Visual C++、Visual Basic、Delphi、PowerBuilder等 6 第二章 VisualBasic + MapX
2.1 MapX编程基础 • MapX空间数据结构 7 第二章 VisualBasic + MapX
2.1 MapX编程基础 • MapX空间数据结构 8 第二章 VisualBasic + MapX
2.1 MapX编程基础 • MapX空间数据结构 • 位于顶层的是Map对象本身,其它均由Map对象继承。Layers、DataSets、Annotations是Map对象下面的三个重要的分支。其中Layer主要用于操作地图的图层,DataSet用于访问空间数据表,Annotation用于在地图上增加文本或者符号。 9 第二章 VisualBasic + MapX
2.1 MapX编程基础 • MapX基本属性 • Map • Layers -> Layer -> Feature • GeoSets • Annotation • 可在MapX创建的对象 • AffineTransform、BindLayer、BitmapSymbols、CoordSys、Datum、Feature、Fields、LayerInfo、Map、 ODBCQueryInfo、 Parts、Point、Points、Rectangle、RowValue、RowValues、Style、Variables、NotesQueryInfo、NotesViewInfo 10 第二章 VisualBasic + MapX
2.1 MapX编程基础 • MapX可以绑定的数据源 11 第二章 VisualBasic + MapX
2.2 VB+MapX开发技术 • 1.数据准备-建立GST文件(便于图层加载) 12 第二章 VisualBasic + MapX
2.2 VB+MapX开发技术 • 1.数据准备-建立DCT文件(制定搜索位置) 1 3 2 13 第二章 VisualBasic + MapX
2.2 VB+MapX开发技术 • 2.在VB中增加MapX控件 14 第二章 VisualBasic + MapX
2.2 VB+MapX开发技术 • 2.在VB中设置MapX控件初始化值 15 第二章 VisualBasic + MapX
2.2 VB+MapX开发技术 • 2.在VB中Form_Load()中初始化MapX • 创建工具条:Map1.CreateCustomTool MyAddLineTool, miToolTypeLine, miCrossCursor • 设置标题:Map1.TitleText = “PipeLine“ • …… 16 第二章 VisualBasic + MapX
2.2 VB+MapX开发技术 • 3.在VB中Map1的消息 17 第二章 VisualBasic + MapX
2.2 VB+MapX开发技术 • 4. VB中Form的Size消息 18 第二章 VisualBasic + MapX
2.2 VB+MapX开发技术 • 5. VB中Form相应MapX菜单等消息 • ZoomIn、ZoomOut等 19 第二章 VisualBasic + MapX
2.2 VB+MapX开发技术 • 6. VB中MapX对象的使用 MapX Map1.Layers.Item(i).AllFeatures.Item(j) Layers Layer Features Feature Points Point 20 第二章 VisualBasic + MapX
2.2 VB+MapX开发技术 • 7. VB中MapX的坐标转换 Map1.ConvertCoord ScrX, ScrY, MapX, MapY, miScreenToMap • 8. VB中创建MapX要素 Set ftrRectangle = Map1.FeatureFactory.CreateLine(pntsBorder) Set ftrRectangle = Map1.Layers.InsertionLayer.AddFeature(ftrRectangle) • 9. VB中查找MapX要素 Set ftrs = lyr.SearchWithinDistance(Point, 1, miUnitMeter, miSearchTypePartiallyWithin) 21 第二章 VisualBasic + MapX