《GIS软件开发技术课件》由会员分享,可在线阅读,更多相关《GIS软件开发技术课件(21页珍藏版)》请在金锄头文库上搜索。
1、GIS软件开发技术主讲:蔡忠亮主讲:蔡忠亮武汉大学资源与环境科学学院武汉大学资源与环境科学学院2课程主要内容第一局部第一局部 GIS GIS软件开发技术根底软件开发技术根底第二局部第二局部 MapInfo MapInfo环境下的环境下的GISGIS开发技术开发技术第三局部第三局部 Arc/Info Arc/Info环境下的环境下的GISGIS开发技术开发技术第四局部第四局部 GIS GIS底层开发技术底层开发技术3第二局部第二局部 MapInfo环境下环境下GIS开发技术开发技术o第一章第一章 MapBasic MapInfo o第二章第二章 VB MapXo第三章第三章 VC MapX4oM
2、apInfo的数据组织的数据组织o双元模型双元模型o层次结构层次结构第二章第二章第二章第二章 VisualBasic VisualBasic MapX MapX 2.1 MapX编程根底编程根底图形数据文图形数据文件库件库属性数据库属性数据库OIDOID5oMapInfo的数据组织的数据组织第二章第二章第二章第二章 VisualBasic VisualBasic MapX MapX 2.1 MapX编程根底编程根底表结构表结构表结构表结构( (文本文件文本文件文本文件文本文件) )属性数据属性数据属性数据属性数据属性数据对属性数据对属性数据对属性数据对应空间数据应空间数据应空间数据应空间数据的
3、指针位置的指针位置的指针位置的指针位置空间数据空间数据空间数据空间数据6oMapX空间数据结构空间数据结构nMapX是是MapInfo公司向用户提供的具有强公司向用户提供的具有强大地图分析功能的大地图分析功能的ActiveX控件产品。能支持控件产品。能支持绝大多数标准的可视化开发环境如绝大多数标准的可视化开发环境如Visual C+、Visual Basic、Delphi、PowerBuilder等等第二章第二章第二章第二章 VisualBasic VisualBasic MapX MapX 2.1 MapX编程根底编程根底7oMapX空间数据结构空间数据结构第二章第二章第二章第二章 Visu
4、alBasic VisualBasic MapX MapX 2.1 MapX编程根底编程根底8oMapX空间数据结构空间数据结构第二章第二章第二章第二章 VisualBasic VisualBasic MapX MapX 2.1 MapX编程根底编程根底9oMapX空间数据结构空间数据结构n位于顶层的是位于顶层的是Map对象本身,其它均由对象本身,其它均由Map对象继承。对象继承。Layers、DataSets、Annotations是是Map对象下面的三个重对象下面的三个重要的分支。其中要的分支。其中Layer主要用于操作地图主要用于操作地图的图层,的图层,DataSet用于访问空间数据表,
5、用于访问空间数据表,Annotation用于在地图上增加文本或者用于在地图上增加文本或者符号。符号。第二章第二章第二章第二章 VisualBasic VisualBasic MapX MapX 2.1 MapX编程根底编程根底10oMapX根本属性根本属性oMapoLayers - Layer - FeatureoGeoSetsoAnnotationo可在可在MapX创立的对象创立的对象oAffineTransform、BindLayer、BitmapSymbols、CoordSys、Datum、Feature、Fields、LayerInfo、Map、 ODBCQueryInfo、 Part
6、s、Point、Points、Rectangle、RowValue、RowValues、Style、Variables、NotesQueryInfo、NotesViewInfo第二章第二章第二章第二章 VisualBasic VisualBasic MapX MapX 2.1 MapX编程根底编程根底112.1 MapX编程根底编程根底oMapX可以绑可以绑定的数据源定的数据源第二章第二章第二章第二章 VisualBasic VisualBasic MapX MapX 类型型描述描述ADO使用ADO(Active data objects)DAODAO对象,可以是VB中的data contro
7、l、Access表格等,也可自己创建Delphi使用Borland BDE数据源Global Handlelets you pass in a block of tab-delimited dataLayer创建一个Dataset,使用MapInfo表字段Notes View/ Notes Query专门用于Lotus NotesODBC可以使用ODBC从任何ODBC数据源中获取数据OLE Data用于containers,如PowerBuilderRDOMS Remote Data Objects和RDO结果集对象safeArrayCOM数据集,与safearray中的数据进行静态绑定Unb
8、ound兼容其它122.2 VB+MapX开发技术开发技术o1.数据准备建立数据准备建立GST文件文件(便于图层加载便于图层加载)第二章第二章第二章第二章 VisualBasic VisualBasic MapX MapX 132.2 VB+MapX开发技术开发技术o1.数据准备建立数据准备建立DCT文件文件(制定搜索位置制定搜索位置)第二章第二章第二章第二章 VisualBasic VisualBasic MapX MapX 123142.2 VB+MapX开发技术开发技术o2.在在VB中增加中增加MapX控件控件第二章第二章第二章第二章 VisualBasic VisualBasic Ma
9、pX MapX 152.2 VB+MapX开发技术开发技术o2.在在VB中设置中设置MapX控件初始化值控件初始化值第二章第二章第二章第二章 VisualBasic VisualBasic MapX MapX 162.2 VB+MapX开发技术开发技术o2.在在VB中中Form_Load()中初始化中初始化MapXo创立工具条:创立工具条:Map1.CreateCustomTool MyAddLineTool, miToolTypeLine, miCrossCursoro设置标题:设置标题:Map1.TitleText = “PipeLine“o第二章第二章第二章第二章 VisualBasic
10、 VisualBasic MapX MapX 172.2 VB+MapX开发技术开发技术o3.在在VB中中Map1的消息的消息第二章第二章第二章第二章 VisualBasic VisualBasic MapX MapX 182.2 VB+MapX开发技术开发技术o4. VB中中Form的的Size消息消息第二章第二章第二章第二章 VisualBasic VisualBasic MapX MapX 192.2 VB+MapX开发技术开发技术o5. VB中中Form相应相应MapX菜单等消息菜单等消息oZoomIn、ZoomOut等等第二章第二章第二章第二章 VisualBasic VisualB
11、asic MapX MapX 202.2 VB+MapX开发技术开发技术o6. VB中中MapX对象的使用对象的使用第二章第二章第二章第二章 VisualBasic VisualBasic MapX MapX MapXLayersLayerFeaturesFeatureMap1.Layers.Item(i).AllFeatures.Item(j)PointsPoint212.2 VB+MapX开发技术开发技术o7. VB中中MapX的坐标转换的坐标转换第二章第二章第二章第二章 VisualBasic VisualBasic MapX MapX Map1.ConvertCoord ScrX, ScrY, MapX, MapY, miScreenToMapo8. VB中创立中创立MapX要素要素 Set ftrRectangle = Map1.FeatureFactory.CreateLine(pntsBorder) Set ftrRectangle = Map1.Layers.InsertionLayer.AddFeature(ftrRectangle)o9. VB中查找中查找MapX要素要素Set ftrs = lyr.SearchWithinDistance(Point, 1, miUnitMeter, miSearchTypePartiallyWithin)