地理信息系统应用平台的集成

合集下载

数字化地理信息系统mapinfo应用教程(高级应用篇)

数字化地理信息系统mapinfo应用教程(高级应用篇)

高级应用篇第十八章 跨平台集成地图建立一个完善的大型应用系统应对各种不同平台博采众长利用其他平台能够调用MapInfo 环境下的数据图形等在Windows 环境下可以通过MapBasic 之外的其他编程语言控制MapInfo 例如可以将MapInfo 的地图窗口集成到用Visual Basic 编程语言开发的应用程序中因为在其他的应用程序中集成了MapInfo 所以将这种应用程序的开发语句称为跨平台集成地图(Integrated Maping)如果已经非常熟悉其他软件开发工具如C Visual Basic 或De1phi 等可以集成MapInfo 窗口到非MapBasic 应用程序中特别是在原有成熟的应用系统中增加地理信息管理功能这种方法是简捷有效的18.1 集成地图的概念应用程序可以控制集成地图的外观生成完全不同于MapInfo界面的应用程序如用VB 编写一个多文档界面MDI 的应用程序其中包括MapInfo 的地图和例览窗口当在VB 程序中集成一张地图时用户看到的是一个真实的MapInfo 地图窗口而不是位图图元文件或者任何其他类型的图形文件在这个地图窗口中用户可以如同使用MapInfo 一样与地图交互如使用缩放工具放大/缩小地图一个集成地图窗口具有MapInfo 中地图窗口的所有功能当用户运行一个集成地图的应用程序时MapInfo 系统实际上是在后台运行生成一个集成地图的应用程序不仅可以采用一种非MapBasic 语言还可以采用多语言混合编程常用的是C 和Visual Basic 两种语言本章的程序例子都是用Visual Basic 编写的通常在应用程序中执行一条启动MapInfo的命令启动后的MapInfo 在后台运行如果是Visual Basic 调用VB 的Create Object()函数启动MapInfo在集成地图应用程序中通过向MapInfo 发送MapBasic 的命令串来操作MapInfo 使用自动OLE OLE Automation 或者DDE 给MapInfo 发送这种命令串MapInfo 就像在MapBasic 交互命令窗口中键入这些命令一样执行相应的操作在MapBasic 中使用Map From 语句打开一个地图窗口在集成地图应用程序中同样使用这条语句打开一个地图窗口但是还必须增加一些语句如Set Next Document Parent 使得地图窗口成为应用程序的一个子窗口这个过程称为重生成Reparent ”可以重生成地图测览布局和图例窗口重生成MapInfo窗口到其他应用程序中时并不能使MapInfo 存取其应用程序的数据在MapInfo 窗口显示数据前还必须在MapInfo数据表中保存这些数据如果已经编写了MapBasic 程序可以作为集成地图应用程序的一部分继续使用然而高级应用篇己编译的MapBasic 程序.MBX 部分是可选的对有些应用程序可能不需要MapBasic 程序18.2 集成地图的技术要求18.2.1 系统要求集成地图需要具备下列条件1. 需要MicrosoftWindows 环境可以使用16位或者32位的Windows2. 需要MapInfo 4.0或更高版本3. 计算机必须有足够的内存空间和系统资源保证同时运行客户程序和MapInfo4. 客户程序如Visual Basic 程序必须能够作为自动OLE 的控制器或DDE 客户程序推荐使用自动OLE 因为自动OLE 比DDE 更稳定同时它还能报告MapInfo 的运行错误如果使用DDE 将不能获取错误代码5. 客户程序必须能够创建用户接口的诸要素如窗口窗体以及控制客户程序同时还必须能够获取接口窗口的窗口号HWND例如在Visual Basic 中在窗体上放置一个PictureBox 控件当发送一个命令给MapInfo 告诉MapInfo 在PictureBox 中打开一幅地图时必须指定PictureBox 的HWND 18.2.2 其他技术说明1. 开发一个集成地图的应用程序必须使用非MapBasic 语言编写程序可以使用各种流行的开发工具编写客户程序如C C++VisuaI Basic 3.0以上版本PowerBuilder 或Delphi2. 储存地图使自动OLE 但不能使用嵌入式OLE 当希望在自己的应用程序中放置一个MapInfo 地图窗口时不能嵌入它而是要发送一系列命令串来重生成一个窗口让MapInfO窗口作为应用程序的子窗口3. 集成地图不含VBX 或OCX控件18.2.3 简单的例程下面的VisuaI Basic 例程说明了在其他的应用程序中集成MapInfo 的一般方法 建立一个新的Visual Basic 工程在工程的General declarations 过程中声明一个Object变量Dim mymap As Object接下来在Form_Load 过程中添加下列语旬Sub Form_Load()Set mymap =CreateObjectMapInfo.applicationmymap.do Set Application Window &From1.hWndmymap.doSet Next Document Parent&Form1.hWnd&Style 1”第十八章 跨平台集成地图mymap.do Open Table”Worle”Inteactive Maap From word” mymap.RunMenuCommand 1702mymap.do Cteate Menu”MapperShortcut”ID 17 As”(-“”End Sub当运行这个VB 程序时它就在后台启动MapInfo 然后建立一个地图窗口该地图窗口会作为VB程序的一个子窗口下面详细说明集成地图过程中的各个细节18.3 集成地图的方法本节介绍如何集成MapInfo 到VB 中阅读本节内容要求读者了解VB 的有关术语和概念并要求有一定的编程经验即使是其他语言的编程经验18.3.1 启动MapInfo要启动MapInfo 调用VB 的CreateObject函数并且赋给一个VB 的对象Object变量特别要注意这个对象变量必须是全局变量否则当退出这个子程序时MapInfo 对象将被释放假设对象变量是MapInfo 则下列语句可以启动MapInfoSet MapInfo=CreateOject(“MapInfo.Application”)要选用以前启动的MapInfo 而不另启动MapInfo 调用GetObject()函数Set MapInfo=GetObject(“MapInfo.Application”)如果运行的是MapInfo CreateOject 和GetObject()函数使用自动OLE 连到MapInfo 如果使用DDE 在VB 中使用Shell()函数启动MapInfo 然后使用LinkMode 建立与MapInfo 的DDE连接在32位Windows 环境下可以运行多个MapInfo 如果已经有一个MapInfo 正在运行运行集成地图的应用时调用CreateOject 又启动一个MapInfo 这时两个MapInfo 将独立运行18.3.2 向MapInfo 发送命令启动MapInfo 后构造表示MapBasic 语句的字符串如想让MapInfo 执行MapBasic 的Open Table语句在VB中构造下列字符串msg "Open Table" "states.tab" "Interactive"如果使用自动OLE 连到MapInfo 使用DO 方法发送这个表示语句的字符串Mapinfo.Do msg当使用DO 方法后MapInfo 执行这条语旬这与在MapBasic 交互窗口中执行该语句相同如果使用DDE 连接使用VB 的LinkExecute 方法向MapInfo发送语句只能向MapInfo 发送能够在MapBasic 窗口中执行的语句例如不能向MapInfo 发送Dialog 语句因为Dia1og 语句不能在MapBasic 窗口中执行一般来讲MapBasic 的流程控制语句不能在MapBasic窗口中执行高级应用篇18.3.3 从MapInfo 返回值要获得MapBasic 表达式的值应该构造一个相应的表达式假设需要检测MapBasic 的WindowID 0函数返回的值构造下列表达式msg="WindowsID(0)"如果是自动OLE连接使用Eval OLE 方法向MapInfo发送信息Dim Result As StringResult=mapinfo. Eval"windowID 0"当使用Eval 方法时MapInfo 解释这个字符串为一个表达式并以字符串的形式返回表达式的值如果表达式是一个逻辑表达式则返回单字符T 或F如果使用DDE连接使用LinkRequest 方法代替Eval18.3.4 重生成MapInfo 窗口启动MapInfo 执行Set application Window 语句后MapInfo 的对话框和错误信息就为客户程序所有Msg="Set application Window"&FormName.hWnd Mapinfo.Do msg如果想集成MapInfo 窗口到应用程序向MapInfo 发送Set Next Document语句紧接着建立一个窗口例如msg=”set Next Document parent& MapFrame.hWndStyle l”MapInfo.Do msgMsg=Map From States Mapinfo. Do msgSet Next Document 语句重新生成一个文档窗口在这条语句中还要指定VB 中控件的句柄HWND 在后面的程序中使用Map Graph Browse Layout 和CreateI Legend 语句建立一个窗口时所建立的窗口是应用程序的子窗口在Set Next Document 语句中有sty1e 从句它控制窗口的类型Siy1e l 表示没有边框的窗口: Sty1e 2表示具有半高标题栏的窗口Sty1e 3表示具有全高标题栏的窗口重生成每一个窗口需要两条语句一个是Set NextDocument Parent 语句另一个是产生窗口的语句产生一个窗口后使用WindowID0函数获取窗口的ID 识别号便于后面的语句使用这个识别号Mapid=Val(Mapinfo.eval(“windowID(0)”))尽管应用程序重生成了这个窗口但是MapInfo 仍然维护这个窗口如果部分窗口需要重画MapInfo 会自动重画因此客户程序可以忽略任何属于这个窗口的删除或重画信息如果是C 语言不能忽略删除信息这时设置父窗口类型时使用WS_CLIPCHILDREN18.3.5 重生成图例和其他特殊窗口MapInfo 有几个非模态的窗口包括信息窗口标尺窗口消息窗口以及统计窗口要重生成这类窗口使用Set Window Parent语句第十八章 跨平台集成地图Mapinfo.Do”set Window Info Parent”&myFrom.hWnd重生成信息窗口不同于重生成地图窗口当重生成信息窗口时不使用Set Next Document语句图例窗口有一个特殊情况一般情况下它和信息窗口一样MapInfo 界面只有一个图例窗口可是MapBasic 语言中有一条Create Legend 语句因此可以产生另外的图例窗口要重生成MapInfo 的标准图例窗口使用Set Window Legend Parent 语句要产生自定义的图例窗口并重生成它使用Set Next Document 语句和Create Legend语句注意在这种情况下自定义的图例窗口只依附于指定的地图或图表窗口与标准的图例窗口不同自定义的图例窗口不会因当前窗口的改变而改变 18.3.6 改变地图窗口的大小地图窗口是否允许重画取决于应用程序的设置在例子FindZip FindZip 是MapInfo 提供的例程在MapInfo 安装目录下的MapBasic Samples VB FindZip子目录中放置在VB 中的PictureBox 控件中的地图窗口是不能改变大小的但是可以重生成一个地图窗口为MDI 方式这样就可以改变窗口的大小了当用户改变地图窗口的大小后MapInfo 并不会自动调整窗口的内容来填满整个新窗口因此必须调用windowsAPI 的MoveWmdow 函数使得地图窗口内容适应窗口的调整如果在32位的VB 下使用Dec1are 语句访问MoveWindow API函数Declare Function MoveWindow Libuser32”_ ByVal hWnd As long _ByVal x As Long ByVal y As long _ ByVal nWidth As Long ByVal nHeighi As LongByVal bRepami As LongAs Long当调整窗口大小后调用MoveWindow 函数在VB 下resize 事件触发Form_Resize 过程可以在这个过程中调用MoveWindow 函数Dim mHwnd As Long MHwnd=Val(mapinfo.Eval(“windowInfo(Front Window()12)”))Move Window mHwndScale windthScaleHeight数字12表示MapBasic 的WIN_INFO_WND Scale Width 和ScaleHeight 表示窗体的当前宽度和高度18.3.7 集成MapInfo 工具按钮在客户应用程序中不能重生成MapInfo工具按钮如果想在客户应用程序中使用MapInfo 工具按钮必须开发该应用程序来完成在VB 中如果要设计仿MapInfo 的标准按钮使用MapInfo 的RunMenuCommand 方法这个方法等价于MapBasic 中的Run Menu Command 语句在FindZip 例子中有Info Tool_Click过程其中有下列语句mapinfo.RunMenuCommand 1707当用户单击这个按钮后FindZip 程序就会调用RunMenuCommand 方法激活MapInfo的信息按钮这里的1707表示MapInfo的信息按钮在定义文件中它还定义为高级应用篇M_TOOLS_PNT_QUERY 标识符因此下面的语句与前面的语句具有同样意义mapinfo.RunMenuCommand M_TOOLS_PNT_QUERY使用标识符可使程序易读但是如果在程序中使用了这些标识符就必须有相应的头文件如VB 的是MapBasic.BAS C 的是MapBasic.H下表列出了MapInfo 标准工具按钮名称ID 号及在MapBasic.BAS(VB)MapBasic.H(C)和MapBasic.def(MapBasic)中的标识符 18.3.8 定义MapInfo 的快捷菜单如果右击MapInfo 的窗口将显示一个快捷菜单这个快捷菜单在集成地图中也能够使用可以根据需要修改这些快捷菜单删除一个或多个快捷菜单使用MapBM 次的A1tlM Menu Remove 语句或者使用Create Menu 语句重新定义一个快捷菜单增加一个菜单项到快捷菜单使用MapBasic 的Alter Menu Add 语句并使用Calling OLE 或Calling DDE 从句消除快捷菜单使用MapBasic 的Create Meou 重定义菜单并使用控制码“(”下列语句消除地图窗口中的快捷菜单Mapinfo.do "Create Menu ""MapperShortcut"" ID 17 As""(-""按钮名称 ID 号标识码Select 1701 M_TOLLS_SELECTORMarquee Select 1722M_TOOLS_SEARCH_RECT Radius Select 1703 M_TOOLS_SEARCH_RADIUSBoundary Select 1704 M_TOOLS_SEARCH_BOUNDARY Zoom In 1705 M_TOOLS_EXPANDZoom Out 1706M_TOOLS_SHRINKGrabber 1702 M_TOOLS_RECENTER Info 1707 M_TOOLS_PNT_QUERY Label 1708 M_TOOLS_LABELER Ruler 1710 M_TOOLS_RULERDrag Window1734M_TOOLS_DRAGWINDOWSymbol 1711 M_TOOLS_POINT Line 1712 M_TOOLS_LINE Polyline 1713 M_TOOLS_POLYLINE Arc 1716 M_TOOLS_ARCPolygon 1714 M_TOOLS_POLYGON Ellipse 1715 M_TOOLS_ELLIPSERectangle 1727 M_TOOLS_RECTANGLE RoundeRect 1718 M_TOOLS_ROUNDEDRECT Text 1709 M_TOOLS_TEXT Frame 1719 M_TOOLS_FRAME第十八章 跨平台集成地图18.3.9 打印集成地图窗口使用MapBasic 的PrintWin 语句可以打印集成地图窗口在VB 中定义一个菜单子程序在于程序中执行"PrintWin"方法Private Sub Menu_PrintMap_Click() Mapinfo.do"printWin" End Sub使用MapBasic 的Save Window语句可以将地图窗口以位图格式输出到一个文件中然后调用VB 的PrintForm方法打印 18.3.10 终止MapInfo在VB 中使用CreateObject 函数启动MapInfo 后当这个对象变量被释放MapInfo 就自行结束所比如果对象变量是局部变量当退出子程序时MapInfo 就自行结束但是如果对象变量是全局变量要终止MapInfo 使用下列方法Set mapinfo Nothing如果是DDE 连接使用LinkExecute 方法向MapInfo 发送End MapInfo 命令注意采用DDE 连接时在结束应用程序时要先断开DDE连接18.3.11 多命令串在应用程序中即可以一条语句一条语句地发送给MapInfo 命令也可以一次发送多条语句Dim msg As String msg "Open Table""States""Interactive" msg msg&"set Mext Document Parent"&Frm.hWndd&"Stvle 1"msg msg "Map From States"Mapinfo.do msg在VB 中用连接多字符串在组成这些字符串时要注意留有空格便于MpaInfo正确解释这些语句18.4 从MapInfo 中获取信息在集成地图应用系统中一般采用回叫(Callback)机制从MapInfo 中获取信息所谓回叫是指当MapInfo 中发生一个事件如地图窗口的改变等它自动地通知客户应用程序使用回叫机制在下列情况下MapInfo 向客户程序发送信息1. 使用自定义工具与MapInfo交互例如在地图窗口中单击并拖动鼠标MapInfo 回叫客户程序传送X Y 坐标2. 选择一个菜单命令如从自定义菜单中选择了一个命令回叫客户程序通知这个菜单事件3. 地图窗口发生改变每当地图窗口发生变化时Mapbhfo 向客户程序发送产生变化高级应用篇的窗口标识号4. 状态栏中的内容改变MapInfo 的状态栏在集成地图应用程序中并不自动显示出来要在应用程序中有类似MapInfo 的状态栏还需要进行必要的设置使用回叫技术客户程序必须能够充当DDE 服务器或自动OLE 服务器VB4.0和C++可以开发自动OLE 服务器程序而VB3.0开发的程序不能作为自动OLE 服务器只能是DDE 方式18.4.1 回叫的一般过程1. 使用VB4.0C++或其他能够产生OLE 服务器的语言创建一个类定义一个或多个OLE 方法2. 如果想模仿MapInfo 的状态栏创建SetStatusText 方法它带一个字符串参数3. 如果想要MapInfo 通知客户程序它的地图窗口的变化创建WindowContentsChanged 方法它带一个整型参数4. 为按钮或菜单创建一个或多个方法这些方法应有一个字符串参数5. 使用定义的类创建一个对象6. 启动MapInfo 后调用MapInfo 的SetCallback 方法并使用前面定义的对象7. 自定义按钮(如向MapInfo 发送Alter ButtonPad Add 语句)然后定义它调用的方法如Calling OLE methodname 这里的methodname 指的是第四步中定义的方法名MapInfo 的自定义按钮和标准按钮一样是隐藏的只有通过客户应用程序界面中的按钮通过调用Run Menu Command ID 语句执行铵钮的操作对用户而言等价于MapInfo 的按钮操作8. 自定义菜单(如向MapInfo 发送Alter Menu Add 语句)然后定义它调用的方法如Calling OLE methodname 这里的methodname 指的是第四步中定义的方法名9. 在定义的方法内处理由MapInfo 传送来的参数 18.4.2 返回数据集成地图应用程序可以创建自定义的菜单命令和按钮使用这些菜单命令或按钮时MapInfo 传回一个由逗号分隔的字符串在MapBasic 程序中每当菜单或按钮事件被触发后调用CommandInfo()函数可以获得多方面的信息下表列举了在MapBasic.DBF 中有关CommandInfo 的参数值及其定义值 菜单事件按钮事件 1 2 3 4 5 6 7 8CMD_info_menutemCMD_INFO_X CMD_INFO_Y CMD_INFO_SHIFTCMD_INFO_CTRL CMD_INFO_X2 CMD_INFO_Y2CMD_INFO_TOOLBTN第十八章跨平台集成地图它们分别表示点击处的X Y坐标是否按下SHIFT和CTRL键释放鼠标处的X Y坐标以及按钮和菜单的ID号MapInfo按下列格式组织信息后发送回应用程序"MI:"+CommandInfo(1) +""+CommandInfo(2) +""CommandInfo(3) +""+CommandInfo(4) +""CommandInfo(5) +""+CommandInfo(6) +MCommandInfo(7) +""+CommandInfo(8)如果在集成应用程序中选择了一个菜单命令MapInfo发送回的只有菜单ID号其余全是空的字符串如"MI:101"如果在集成应用程序中选择了一个按钮MapInfo发送回类似下列格式的字符中MI 73.554842.122F F72.86770243.025202它表示了单击处的坐标是否按下了SHIFT和CTRL键释放鼠标处的坐标以及按钮的ID号18.5 集成地图的语句和函数在集成地图的过程中经常用到下列MapBasic语句和函数语句或函数简要说明Create Legend 产生一个新的图例窗口Map 产生一个地图由口MenuitemInfoByHandler()MenuitemInfoByID()检测菜单的状态Open Table 打开表RemoteQueryHandler 允许MapBasic程序处理DDE客户的请求Run Menu Command 运行菜单或按钮处理程序SearchInfo() 返回SearchPoint()事项SearchRect()结果SearchPoint()SearchRect() 搜索Set Appliction Window 重生成对话框窗口Set Map 设置地图窗口Set Next Document 重生成文档窗口Set Window 设置窗口Shade Set Shade 创建进修改专题地图SystemInfo() 系统信息WindowID()WindowInfo() 返回MapInfo窗口方面的信息高级应用篇18.6 自动OLE 对象下表总结了MapInfo 对象的方法及属性Application 对象是Mapinfo 的实例MBApplications 集合中的各对象表示正在运行的MapBasic 应用程序MBGlobals 集合中的各对象表示MapBasic 程序中的全局变量对象方法 属性ApplicationDo.EvalRunCommandRunMenuCommand. DataObject.SetCallBack Name FullName Application Part.Version ProductLevelVisibleMBApplication对象方法 属性 Collection(集合)Item CountApplication.Parent Object(对象) Do.Eval Name.FullName Application.Parent MBGlobals Collection(集合) Item.CountApplicationParentObject(对象) Type Application.Parent18.6.1 Application 对象象的属性和方法属性下表列出了Application 对象的全部属性除Visible 和LastErrorCode 外所有属性都是只读的属性名 功能 返回对象的名字(MapInfo Professional )FtdlName 返回包含路径的全名 Application 返回Application 对象 返回父对象对Application 是它自己Version 返回版本ProductLevel 表示MapInfo 产品系列VisMe 读/写窗口是否可见LastErrorCode 读/写错误码它比MapBasic 的错误代码大1000LastErrorMessgae错误信息方法下表列出了Application 对象的方法第十八章跨平台集成地图方法名功能Do(String) 解释String为语句并执行它Eval(String) 解释String为表达式返回它的值RunCommand(String) 与Do方法相同RunMenuCommand(menuid) 执行指定的菜单或按钮命令仅对标准命令有效对于自定义菜单或按钮命令用Do方法(Run Menu Command ID) DataObject(windowid) 返回IUnknown接口SetCallBack(Idispatch) 注册CallBACK下面举例说明了一些方法的典型的用法Mapinfo.do"Map From Word"Mapinfo.RunMenuCommand 170218.6.2 MBApplications集台及其对象的属性和方法MBApplications是MapInfo中所有正在运行的MapBasic应用程序的集合MBApplications集合的属性下表列出MBApplications集合的属性这些属性都是只读的属性名功能Item 返回指定程序对象的IdispatchCount 返回对象数Appliction 返回MapInfo的IDispatchParent 返回父对象的IDispatchMBApplications集合中的对象属性在MBApplications集合中的对象就是一个正在运行的MapBasic应用程序对象的属性都是只读的属性名功能Name 返回应用程序名(如mymb.mbx)FullName 返回全名Application 返回应用程序的IDispatchParent 返回父对象的IDispatch下例说明了MBApplications集合的属性的用法Dim appslist As ObjectDim firstname As StringSet applist mapinfo.MBApplicationsIf applist.coun>0 ThenFirstname=applist(1).nameEnd IF高级应用篇MBApplications集合中的对象方法方法名功能Do(String) 将String发送到比RemoteMsgHandler过程Eval(String) 将String发送到RemoteQueryHandler()并返回RemoteQueryHndler()函数的值18.6.3 MBGlobals集合及其对象的属性MBGlobals是指定的MapBasic应用程序的所有全局变量的集合MBGlobals集合的属性下表列出MBGlobals集合的属性这些属性都是只读的属姓名功能Item 返回全局变量的IDispatchCount 返回集合中对象的数量Application 返回MapInfo的IDispatchParent 返回父对象的IdispatchMBGlobals集合中的对象属性MBGlobals集合中的对象是应用程序中的全局变量下表列出了对象的全部属性除Value属性外都是只读N属性名功能Value 返回全局变量的值. 返回变量的名字'Type 返回变量的类型Application 返回应用程序的IDispatch返回父对象的IDispatch下例说明了这些属性用法Dim globinfo As ObjectDim old_value As IntegerSet globinfo=mapinfo.MBAapplication(1).MBGlobalsold_value globinfo("g_status").ValueGlobinfo("g_status")old_value+118.7 MapInfo的命令行参数在使用DDE与Mapinfo进行通信时必须首先启动Mapinfo如在VB中调用Shell()函数在启动MapInfo时可以使用下表所列的命令行参数第十八章 跨平台集成地图命令行参数 作用-nosplash 不显示MapInfo 的徽标但显示Mapinfo 主窗口不显示MapInfo 的徽标也不显示Mapinfo 主窗口将MapInfo作为DDE 后台服务器-automation 或 -embedding 不显示Mapinfo 的徽标也不显示MapInfo 主窗口将Mapinfo 作为OLE 后台服务器-regserverMapinfo 注册它的OLE 权能后退出 -unregserver 取消注册-helpdiag设置按下F1时显示诊断对话框使用命令行参数的格式如下MapInfow.exe -nosplash 也可以用斜杠代替减号即MapInfow.exe /nosplash第十九章 MapBasic 的系统集成和编程技巧19.1 连接多个模块成一个项目项目文件ProjectFile 是一个文本文件它允许MapBasic 把多个相互独立的程序文件连接成一个单一的应用程序如果你正在开发一个大而复杂的应用程序你的程序可能会包含上千条的代码当然你可以把这些代码都输入到一个文件中但大多数程序员不喜欢管理十分庞大的程序文件因为一旦程序超过千行就很难找到程序中你想找的特定部分因此许多程序员把一个大的应用程序分成两个或多个较小的文件这就需要建立一个项目文件项目文件告诉MapBasic连接器如何把那些独立的模块组合成一个可执行的应用程序项目文件是MapBasic 程序设计中的可选部分你完全可以不使用项目文件而完成应用程序的建立编译和运行工作但是如果你计划开发一个大型的应用程序那么项目文件会给你带来一些好处• 项目文件可以模块化你的程序一旦你建立了一个项目文件你就可以把程序分成多个小文件模块化程序使你对程序的维护变得更加简单还可以使你的程序文件变得较小以便可以在MapBasic 的编辑窗口对它们进行编辑• 相目文件使多个程序员同时为一个项目编写程序变得更加容易每个程序员可以各自在独立的模块中工作最后可以用项目文件把这些独立模块连接起来• 项目文件可以减少重新编译应用程序的时间如果多模块项目中的一个模块被修改你只要重新编译该模块然后重新连接这个项目就可以了这比每次都要重新编译所有的源代码要快得多创建项目文件既然有这么多优点那么如何来建立一个自己的项目文件在具体介绍创建项目文件之前让我们来看两个关于项目文件的例子下面是一个用项目文件tbproj.mbp 建立文本框的例子[Link]Application=textbox.mbx Module=textbox.mbo Module=Auto_lib.mbo类似地用项目文件sbproj.mbp 建立的一个刻度条ScaleBar 的例子如下[Link]Application=scalebar.mbx Module=scalebar.mbo Module=Auto_lib.mbo这两个项目文件的最后一行相同它告诉MapBasic 把auto_lib 模块连接到该项目中auto_lib 模块是MapBasic 自带的一个例程第十九章 MapBasic 的系统集成和编程技巧如果你已经写了一个程序并且想为你的程序建立一个项目文件那么可以按照下面的步骤进行1. 选择[File][New]打开一个编辑窗口2.在辑窗口中输入下面这一行[Link]3. 接着输入这样一行文本Application=appFilename(这里appFilename 是指你想建立的可执行文件的文件名)例如Application=C:mbC0DE CUSTOM.mbx4. 接着再输入行文本Module=modulename 这里modulename 是指MapBasic 的目标文件名例如 Module=c:mbCODE CUSTOM.mbo注意文件的扩展名MapBasic 的目标文件的扩展名为.mbo 当多模块项目中的一个单独的模块被编译时MapBasic 就会为它建立一个目标文件任何时候当你选择[project][Compile CurreniFile]时MapBasic 就会试图把当前文件编译成一个可执行文件扩展名为.mbx但是如果该程序文件调用了不在此文件中的函数或过程MapBasic 则不能建立一个.mbx 文件在这种情况下MapBasic 假设它只是一个大项目的一个部分而把它编译成一个目标文件.mbo另外当一个程序没有主过程时MapBasic在编译时也把它编译成一个目标文件5. 重复第(4)步直到包括了你的应用程序的所有模块6. 选择[File]SaveAs 保存项目文件注意在SaveAs 对话框中选择文件类型中的ProjectFile 从对话框左下角的文件类型列表中选择以便使保存的项目文件有扩展名.mbp 冲7. 关闭编辑窗口至此一个项目文件已经建好如果以后你想把更多的模块加入到你的项目中只需在项目文件中加入相应的Module=行项目建好后还需要对它进行编译和链接可以按照下面的步骤编译和链接你的项目 1. 编译在项目中用到的每一个模块为了编译这些模块可以先选择[File][Open]然后选择Project[CompileCurrentFile1或者你可以直接用 [File][CompiIeFromFile] 对选择的文件进行编译 2.选择Project [SelectProjectFile]告诉MapBasic 你想链接哪个项目文件此时显示[SelectprojectFile]对话框选择想要链接的项目文件.mbp 后单击[OK]按钮MapBasic就会链接这个项目文件被选择的项目文件将出现在编辑窗口直到你退出MapBasic 关闭编辑窗口或打开另外一个项目文件任何时候只有一个项目文件可以被选择3.选择高级应用篇[Project][LinkCurrentFile]链接你的应用程序MapBasic 依次读入在项目文件中列出的目标文件.mbo 如果没有链接错误MapBasic 生成一个可执行文件.mbx 否则将显示错误信息也可以用[File][LinkFromFile]对项目进行链接而不需要先把项目文件显示在编辑窗口但要链接的各模块必须先编译成目标文件19.2 系统过程应用技巧19.2.1 系统过程尽量简洁系统事件处理过程往往会被频繁调用因此应用程序中的系统事件处理过程应尽可能简洁假如应用程序中有SelChangedHandler 过程则每次查询表改变时MapInfo 都会调用该过程在MapInfo运行期间查询表通常会被频繁地改变所以应该尽可能地使SelChangedHandler 过程简洁19.2.2 查询时避免调用SelChangedHandler 过程的方法如果使用Select 语句进行查询但又不想同时触发SelChangedHandler 过程可以便用NoSelect 关键字如Select From World EarthQuery NoSelect 使用NoSelect 关键字后该查询语句虽然改变了查询表但并不自动调用SelChangedHandler过程19.2.3 避免死循环调用系统保留过程有时会产生死循环如果在应用程序中使用了SelChangedHandler 过程则无论何时查询表被改变MapInfo 都会调用该过程若在SelChangedHandler 过程中又放置了Select 语句那么Select 语句执行后又会使MapInfo 再次调用SelChangedHandler过程其结果是进入死循环直到应用程序执行到内存溢出时为止Set Handler 语句可以用来避免程序进行入死循环在过程的开始处用Set Handler 0ff 关闭系统过程的自动调用在过程的最后用Set Handler On 语句恢复系统过程的自动调用这样可以避免系统过程的递归调用19.3 巧用MapInfo 环境下的MapBasic 交互命令窗口编程从MapInfo 与MapBasic 的关系上看MapInfo 是MapBasic 的外在表现MapBasic 是MapInfo 自动操作的基础两者是相辅相成的如其他字处理软件如Word 中对宏的记录或录制当操作MapInfo 时在MapBasic 交互命令窗口会对操作语句进行记录再者MapBasic 的语法形式比较烦琐利用此特性可以方便编程具体操作如下在MapInfo 环境下操作 选项>显示MapBasic 窗口出现图19-1显示MapBasic 窗口然后进行相应的操作在操作的过程中会记录操作。

地理信息系统(GIS)的应用

地理信息系统(GIS)的应用

地理信息系统(GIS)的应用地理信息系统(GIS)是一种集成了地理空间数据处理、分析、存储和可视化展示等功能的技术系统。

它通过将地理数据与属性数据相结合,用地图等形式展示出来,帮助我们更好地理解地理现象和地理问题,并支持决策制定和解决实际问题。

本文将探讨GIS在不同领域的应用。

一、城市规划GIS在城市规划方面发挥了重要作用。

通过采集、管理和分析城市相关数据,GIS可以帮助城市规划师更好地理解城市空间分布、人口结构、交通网络以及环境质量等因素,从而提出合理的城市发展方案。

比如,GIS可以进行叠加分析,将地形数据、土地利用数据、交通数据等进行整合,帮助规划师在制定城市更新规划时,更好地考虑不同要素之间的关系,优化城市空间布局。

二、生态环境保护GIS在生态环境保护方面也有广泛应用。

通过对地理信息进行采集和分析,可以实现对生物多样性、水资源、土地覆盖等自然资源的监测和管理。

比如,GIS可以利用遥感数据对森林覆盖率进行分析,帮助环保部门及时发现森林砍伐行为,并采取相应的措施进行保护。

此外,GIS还可以模拟自然灾害发生的可能性,提前做好防灾准备工作,减少灾害对生态环境造成的影响。

三、农业生产GIS在农业生产中也有重要应用。

农业生产涉及到土壤类型、气候条件、水文特征等地理因素,而GIS可以对这些因素进行空间分析,帮助农民制定合理的农作物布局和种植计划。

此外,GIS可以结合遥感影像数据,对农田进行监测,及时掌握农作物生长情况,预测病虫害发生概率,提高农业生产效益。

四、公共安全GIS在公共安全领域也有广泛应用。

通过对地理数据的整合和分析,可以帮助公安机关及时掌握犯罪活动的时空分布规律,优化警力配置和巡逻路线,提高破案率。

此外,GIS还可以用于制定灾害应急预案,对灾害风险区域进行划定,指导疏散和救援工作,提高应对自然灾害和突发事件的能力。

五、交通管理GIS在交通管理中扮演了重要角色。

通过对交通网络数据的分析,可以实现交通流量监测、路线规划和拥堵预测等功能。

第7章 GPS与GIS的集成

第7章 GPS与GIS的集成

业数据采集软件可以采集空间和属性数据并实 时地将数据储存在工控计算机上。GPS定位数 数据可自动记录在计算机内,属性数据则通过 键盘或语音录入。在道路颠簸和路况恶劣的情 况下,语音录入特使属性数据输入更有效。 内业数据处理模块将外业采集数据传输至内业 处理计算机内进行后续数据处理并将结果输出 到 GIS 系统。该模块有三个主要功能: GPS 数 据处理、属性数据编辑和数据输出。 GPS 数据 处理首先对 GPS 数据进行差分改正并进行滤波 平滑,将 GPS 粗差数据剔除,然后将 GPS 位置 改正到道路中心线。对于语音录入的属性数
第七章 GPS与GIS的集成
7.1 GIS与GPS的结合 7.2车载GPS道路信息采集系统 7.3 基于MapGIS的GPS与GIS集成技术实现

7.1 GIS与GPS的结合

伴随工农业的发展,资源与环境问题日趋严重, 迫切需要实时、准确、可靠地获取环境参数的 现状和动态变化数据。过去由于种种限制,主 要利用地形图及相关图件,选择少量的点,到 实地测量反映环境质量的数据。这样做不仅费 时、费力、速度慢,特别是所获取的数据难以 实时地管理和处理。为了改变这种情况,可以 考虑吧地理信息系统( GIS )和全球定位系统 (GPS)集成应用于环境参数的采集

GeoRoad 设计用于对 GPS 数据进行差分后处理、 编辑属性数据、构造道路网数据库以及将数据输 出至GIS系统。它的主要功能有: (1)GPS 数 据 处 理 。 首 先 将 GPS 基 准 站 和 由 GPSWin采集的车载GPS数据传输至内业计算机, 然后采用基准站数据对车载 GPS 数据进行差分改 正并将差分定位坐标转换至国家坐 标系,最后删除定位精度较低的点位并沿道路对 剩余点位进行平滑从而提高精度。 (2)属性数据编辑。回放外业语音输入属性数据井 用键盘输入相应的属性数据;对于在外业键盘输 入的属性数据进行检查并改正错误的输入项。

地理信息系统原理与应用PPT课件

地理信息系统原理与应用PPT课件

向、流速流向等海况数据,模拟事故的发生和发展过程,以便
采取有效的救助打捞或防范措施。
28
第一章 海洋GIS概述
地理信息系统原理与应用
§1.2 海洋GIS的发展历程
29
§1.2 海洋GIS的发展历程
地理信息系统原理与应用
探索阶段(20世纪60年代至90年代初)
GIS在海洋中的探索始于20世纪60年代初,以美国国家海洋测 量局的航海图自动化制图为发端,但此后的几十年的海洋应 用,GIS并未引起人们的重视
§1.1 地理信息系统与海洋GIS
空间数据
地理信息系统原理与应用
地理信息系统的操作对象是地理数据,它具体描述地理实体的空间 特征、属性特征和时间特征。
空间特征:是指地理实体的空间位置及相互关系;
属性特征:表示地理实体的名称、类型和数量等;
时间特征:指实体随时间而发生的相关变化。
根据地理实体的空间图形表示形式,可将空间数据抽象为点、线和 面三类元素,它们的数据表达可以采用矢量或者栅格两种组织形式, 分别称为矢量数据结构和栅格数据结构。
25
§1.1 地理信息系统与海洋GIS
决策管理功能
地理信息系统原理与应用
当前 ,沿海地区出现经济多元化发展趋势 ,管理 方式也从单一的经济目标管理向社会、资源、环 境、文化等多目标管理模式转变 。MGIS通过一 般决策模型 、多目标决策模型、模糊决策模型 等不同的决策模型,为海岸带综合管理分析自然 和社会各种因素提供多目标辅助决策支持 ,以减 少决策的盲目性和片面性,同时,也为海岸带管理 实现标准化、可视化、计算机化的统一管理提供 了技术手段 ,从而达到信息资源共享、提高管理 效率、节约管理经费的目的
21
§1.1 地理信息系统与海洋GIS

地理信息系统知识:GIS在政府决策中的应用

地理信息系统知识:GIS在政府决策中的应用

地理信息系统知识:GIS在政府决策中的应用地理信息系统(GIS)是一种集成地图、数据和技术的综合平台,可以用于地理信息的获取、管理、分析、展示和共享等很多方面。

GIS 在政府决策中得到了广泛的应用,可以帮助政府更好地理解和管理各种地理信息,支持政府决策的制定和实施,对于构建智慧城市和推动地方经济转型升级具有重要意义。

一、GIS在政府决策中的优势1、地理信息的集成和可视化GIS可以将各种地理数据整合在一个平台上,并且通过地图和图表等方式呈现出来,这有助于政府更好地理解地理信息,发现其中的规律和问题,为政府决策提供更好的依据。

2、空间分析与可视化GIS可以在地图上对不同地区、不同时段、不同种类的数据进行比较,进行空间分析和可视化,如城市人口密度、道路交通流量、空气污染程度等,这些信息可以直观地展示在地图上,让政府决策者更好地理解当前的情况,为政府决策提供更好的支持。

3、精准决策和预测GIS可以通过人工智能、大数据等技术,将海量的历史数据和现实数据整合起来,进行分析和预测,为政府决策提供更准确的依据。

例如,通过历史地震发生的位置和频率等数据,可以预测未来地震的可能发生范围和强度,让政府提前做好应对准备,降低灾害发生的影响。

4、资源管理和分配GIS可以帮助政府更好地进行资源管理和分配。

例如,农村贫困县可以通过GIS精准扶贫平台,了解每个贫困户的地理位置、收入情况、健康状况等信息,针对性地进行扶贫工作,从而实现资源的最优化分配。

二、GIS在政府决策中的应用1、城市规划和建设随着城市化的发展,城市规划和建设越来越重要。

政府可以通过GIS平台,全面了解城市的实际情况,分析城市的空间发展趋势,确定城市的发展方向和布局,制定城市规划和建设方案。

例如,西安市政府通过GIS平台,对城市建设规划进行了全面分析和优化,实现了城市规划的科学化、精细化和优化化。

2、环境保护和治理环境保护和治理也是政府工作的重要内容。

政府可以通过GIS平台,对环境的各种参数进行实时监测和分析,发现问题和异常,采取相应的措施。

地理信息系统的应用

地理信息系统的应用

地理信息系统的应用地理信息系统(Geographic Information System,简称GIS)是一种集成地理数据管理、数据分析、空间信息可视化以及空间决策支持的技术系统。

它广泛应用于城市规划、环境保护、交通管理、农业决策等领域,在提高生产效率、优化资源利用等方面起到了重要作用。

一、城市规划城市规划是指对城市空间进行合理组织、合理布局的活动。

GIS在城市规划中的应用可以通过对各类地理数据进行整合,建立空间数据库,用于城市土地利用、规划设计、交通网络分析等方面。

通过GIS,规划师可以更准确地评估城市环境的承载能力,合理安排土地用途,提高城市规划的科学性和效率。

二、环境保护环境保护是指保护自然环境和改善生态环境的活动。

GIS在环境保护中的应用可以通过对环境监测数据进行空间分析,帮助科研人员掌握污染源的分布和迁移规律,提供科学依据进行环境管理和治理。

同时,GIS还可以用于制定环境保护政策,实现环境与经济的可持续发展。

三、交通管理交通管理是指对交通流量、交通设施进行管理和优化的活动。

GIS在交通管理中的应用可以通过对交通网络、路况、交通流量等数据进行整合和分析,提供交通信息实时监控、交通预测和优化交通路线等功能。

通过GIS,交通管理部门可以更好地应对交通拥堵问题,提高交通运输效率,改善城市交通状况。

四、农业决策农业决策是指通过农业生产数据分析和空间农业规划,帮助农户做出农业经营决策。

GIS在农业决策中的应用可以通过对土地资源、气象数据、作物分布等进行整合分析,为农户提供土地选择、作物种植、农业机械布局等方面的决策支持。

通过GIS,农业决策变得更加科学和精准,能够提高农业生产效益,实现农业的可持续发展。

总结:地理信息系统(GIS)在城市规划、环境保护、交通管理和农业决策等领域中的应用是多种多样的。

它通过整合地理数据,分析地理空间关系,为各个领域的决策提供科学支持和决策依据。

随着技术的不断发展,地理信息系统的应用将会更加广泛,为人们提供更多的便利和支持。

地理信息系统软件开发中的地理空间数据开发平台

地理信息系统软件开发中的地理空间数据开发平台

地理信息系统软件开发中的地理空间数据开发平台地理信息系统(Geographic Information System,GIS)是一种将地理数据与空间分析功能相结合的软件系统,被广泛应用于地理空间数据的存储、处理、分析和可视化。

而地理空间数据开发平台则是地理信息系统软件开发中的核心组件,为开发人员提供了丰富的功能和工具,以便更好地处理和利用地理空间数据。

一、地理空间数据开发平台的基本概念地理空间数据开发平台是指一种用于构建地理信息系统软件的综合开发平台。

它通过提供地理空间数据处理、地图可视化、空间分析等功能模块,支持开发人员在地图数据的管理、展示、分析、挖掘等方面开展工作。

该平台能够处理包括地图、矢量数据、栅格数据、三维模型等多种形式的地理空间数据,并且支持标准的地理空间数据格式,如Shapefile、GeoJSON等。

二、地理空间数据开发平台的核心功能1. 地图数据管理:地理空间数据开发平台可以帮助开发人员进行地图数据的储存、读取、更新和查询。

它提供了丰富的数据操作接口和功能,使地图数据的管理更加便捷。

2. 地图可视化:地理空间数据开发平台能够将地图数据以图形化的方式展示出来,提供不同的地图图层叠加、符号渲染和标注等功能,让用户可以直观地观察和分析地理空间数据。

3. 空间数据处理:地理空间数据开发平台支持空间数据的处理和分析,例如空间查询、空间关系判断、空间缓冲区分析等功能。

开发人员可以利用这些功能进行地理空间数据的深入研究和分析。

4. 地理空间数据挖掘:地理空间数据开发平台可以帮助开发人员挖掘地理空间数据中的潜在信息和模式。

它提供了包括聚类、分类、回归等数据挖掘算法,支持开发人员进行地理空间数据挖掘的工作。

5. 地图应用开发:地理空间数据开发平台提供了丰富的地图应用开发工具和接口,开发人员可以使用这些工具和接口来构建各种类型的地图应用,如导航系统、地理信息查询、地图编辑等。

三、地理空间数据开发平台的应用领域地理空间数据开发平台可以广泛应用于各个领域,如城市规划、地质勘探、环境保护、农业决策等。

地理信息系统原理第9章 3S集成技术及应用

 地理信息系统原理第9章 3S集成技术及应用

西藏全区多时像TM/ETM数据的搜集
分别搜集了西藏全区90年代、2000年左右、最近 的TM/ETM数据200余景。数据为UTM投影 (Universal Transverse Mercator,通用横轴墨卡托投 影)。
西藏全区70年代MSS数据
湖泊信息提取 ① 路线 ② 方法 ③ 提取
水文、气象资料
3S集成…….
2. 3S集成
3S技术的集成方式:
GPS与GIS集成:
环境动态监测、自动驾驶、环境管理… 作为实时提供空间定位数据的技术,GPS可以与地理信息 系统进行集成,以实现不同的具体应用目标:
1)定位 、导航 2)测量 3)授时。
GPS 接收机
地理信息系统
数据接口
数据处理
显示 数据记录
定位 测量 监控导航
遥感素的提取 2)DEM数据的生成 3)土地利用变化以及地图更新
3.3S集成应用实例
3S集成车辆监控、调度、应急指挥 3S集成在生态环境 管理中的应用 3S集成用于精准农业 3S在数字城市中的应用
3.3S集成应用实例
一、3S集成车辆监控、调度、应急指挥
3.3S集成应用实例
一、3S集成车辆监控、调度、应急指挥
3.3S集成应用实例
一、3S集成车辆监控、调度、应急指挥
3.3S集成应用实例
一、3S集成车辆监控、调度、应急指挥
功能丰富
车辆定位 紧急报警 超速报警 远程监听 历史回放 车辆在线查询 车辆事件统计 车辆超速统计 车辆巡线统计
车辆监控 区域报警 远程控制 远程调度 地图功能 车辆里程统计 区域查询车辆 车辆巡点统计 车辆轨迹播放
全球定位系统
地面监控部分:有分布在全球的5个地面站组成,其中包括卫星 监测站、主控站和信息注入站
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第九章 地理信息系统应用平台的集 成
地理信息应用系统平台集成的意义 地理信息系统应用平台集成框架 地理信息系统与办公自动化系统的集成 地理信息系统与管理信息系统的集成 地理信息系统与SCADA实时系统集成 地理信息应用系统间的集成
9.1地理信息应用系统平台集成的意 义
信息爆炸
信息孤岛
9.2地理信息系统应用平台集成框架
离线的图形信息
配电设备参数信息
9.5地理信息系统与SCADA实时系统 的集成
5.1关于配电网SCADA和地理信息系统集成 1集成的目的
GIS需要显示的实时信息有:
馈线和配变的实时运行信息
开关状态信息
返回数据或地 图

数据库 服务器
Gis功能 服务器
SQL请求
多媒体 数据库
业务流数 据库
空间信 息数据 库
基于Intranet的GIS与OA集成示意图
3.4实例介绍
一个基于Intranet的图文办公信息系统 1,信息系统的需求分析 传统办公方式的主要问题:对资料缺乏有效的
管理、效率低、查询速度慢,传统的纸介质 载体难以应付信息快速增长的需要,使得各 级领导难以及时把握城市发展和建设的各种 情况,难以快速、准确地作出决策。
基于GIS进行银行现有服务网点分布质量的评价
利用GIS对银行的各种运作进行空间分析 利用GIS的交通网数据进行银行运钞车最佳路径的自动选择
9.5地理信息系统与SCADA实时系统 的集成
5.1关于配电网SCADA和地理信息系统集成 1集成的目的
SCADA需要从GIS中获取的信息有:
地理图形背景信息
服务器
客户/服务器模式
客户端
服务器完成查询等 结果传回客户端
服务器
浏览器/服务器模式
客户端
HTTP请求 结果返回为HTML
Web服
数据查询请求 返回结果
数据库
3.3地理信息系统与办公自动化系统 的集成应用
返回包含数据 或地图的页面
浏览器 ……浏览器
HTTP请求
Web服务器与GIS Web组件
直 接 调
数据读取

SCADA 数据库
据 读

数 据 办公文 读 档库

9.3地理信息系统与办公自动化系统 的集成
3.1组件技术实现基于Intranet的地理信息系 统 根据Intranet/Internet的三层式结构可以将万维网地理 信息系统(WebGis)中的组件分为三个层次:
1,管理 组件。
2,服务 器组件
(1)软件环境配置
实例介绍
一个基于Intranet的图文办公信息系统 (2)系统的硬件环境
服务器主频300M,内存256M。 客户机主频300M,内存128M。
实例介绍
一个基于Intranet的图文办公信息系统 3,数据库设计
空间信息数据库 办公工作流数据库 多媒体数据库
实例介绍
一个基于Intranet的图文办公信息系统 4,系统的功能实现
办公相关信息发布与浏览 办公审批与查询 图形浏览与属性信息查询
9.4地理信息系统与管理信息系统的 集成
金融信息管理系统与地理信息系统的共性与 特性
1共性
都是信息系统,共同拥有信息元素和系统元素,信息系统的主 要目标是收集、存储信息,生产新信息和提供信息服务。
GIS也和FMIS一样含有管理元素
GIS和FMIS都是集信息学、计算机科学、传播学、管理学、逻 辑学等学科一体为某一学科的综合学科服务的综合学科和综合 技术。
9.4地理信息系统与管理信息系统的 集成
金融ห้องสมุดไป่ตู้息管理系统与地理信息系统的共性与 特性
2特性
数据库中的数据侧重面各异,FMIS为非空间数据,空间数据为 辅助对象,GIS则是以空间数据为主要对象,非空间数据为辅助 对象 FMIS产生的信息既为各级决策机构服务又为广大民众服务, GIS主要服务于决策机构,广大民众接受的服务较少,直接运用 和操作GIS的频率较低。 对网络的要求不同。
某些系统功能侧重点不同。
9.4地理信息系统与管理信息系统的 集成
金融信息管理系统与地理信息系统集成的必 要性
金融管理概念随着社会、经济的发展而有所变化
一个信息系统要能被广大用户所采用,它必须实用、方便、能 解决用户的问题,而且要价格适中。
9.4地理信息系统与管理信息系统的 集成
金融信息管理系统与地理信息系统集成方法 1数据组织 2空间评价单元与空间数据不均匀分布的处
的地图服务器
4>,地图服务器通过Weblink控件接收参数及赋值 5>,参数与赋值被接收后分解为MapObjects中的两类字符串
3.2基于Intranet的办公自动化系统 技术实现
1,数据分类 静止的数据、动态的数据
2,访问数据库的三种模式 基于服务器的模式 客户端
客户端读取数据 客户端存储结果
辅助 抢修 管理
运行 管理
网络 拓扑 及高 级分 析
调度 管理
设备 设施 核心 管理
工程 辅助 设计
管线 规划 设计
工程 管理
模拟 运行 管理
实时 运行 管理
辅助 办公 管理
……
数据获取
规划设 计数据 库
数 据 读 取


据 管线网及 据
读 基础地形 读
取 GIS数据库 取
数 据 工程文 读 档材料 取 数据库

事先处理
事后处理
3FMIS和GIS的逻辑集成
9.4地理信息系统与管理信息系统的 集成
金融信息管理系统与地理信息系统集成目的
提高信息的可靠度 投资环境评价 银行经营网点的布局和定位
9.4地理信息系统与管理信息系统的 集成
金融信息管理系统与地理信息系统集成的实 用效果
利用GIS进行城市银行网点最佳选址
3,客户 端组件
应用MapObjects IMS,在
Intranet/Internet实现一个最简单的 GIS功能过程如下:
1>,客户端通过Web浏览器向Web服务器发出地图服务请求 2>,ESRIMAP.DLL决定调用哪个地图服务器 3>, ESRIMAP.DLL分析剩余的参数,把参数及其赋值传给被请求
实例介绍
一个基于Intranet的图文办公信息系统 2,系统的软硬件环境
项目 操作系统 Web服务器 Web浏览器 数据库软件 开发工具 GIS组件
软件 Windows2000 Personal Web Server 4.0 Internet Explorer 5.5 SQL Server 7.0 VB中文版 MapObjects2.1,IMS
相关文档
最新文档