go语言mapinfo go语言和java哪个更有前途

1. 什么是MapInfo?它的主要功能有哪些?利用它我们可以做哪些方面的工作?MapInfo的基本功能
:①
测量分析②
缓冲区分析

地图代数④
多边形操作

数字高程模型(DEM)分析
特色功能:(1)
属性数据
(2)
因特网
(3)
统计图表
(4)
图层套迭
(5)
拖曳功能
(6)
影像功能
(7)
连接GPS
(8)
主题图及其样板
(9)
数据格式转换
(10)
连接数据库
(11)
SQL查询语言
利用它可以做资源管理,区域规划,国土监测,辅助决策等等 。。
mapinfo是什么软件?能简单介绍一下么?Mapinfo是美国Mapinfo公司1986年推出的桌面地图信息系统,至今已从最初的Mapinfo for Dos 1.0 发展到了Mapinfo Professional 6.0 。Mapinfo产品定位在桌面地图信息系统上,与Arc/Info等大型GIS系统相比 , 因Mapinfo图元数据不含拓扑结构,它的制图及空间分析能力相对较弱,但对大众化的PC桌面数据可视及信息地图化应用来说,Mapinfo小巧玲珑 , 易学易用 , 价位较低,是一个优选GIS产品 。Mapinfo提供了自己的二次开发平台,用户可以在平台上开发各自的GIS应用 。二次开发方法归结起来有三种,它们是基于MapBasic的开发、基于OLE自动化的开发及利用MapX控件的开发 。从早期的MapBasic到目前的MapX4.5 , Mapinfo上的GIS系统开发变得越来越高效、简捷 , 下面介绍如何利用MapBasic、OLE自动化和MapX开发GIS应用系统 。
一、利用MapBasic开发
MapBasic是Mapinfo自带的二次开发语言,它是一种类似Basic的解释性语言 , 利用MapBasic编程生成的*.mbx文件能在Mapinfo软件平台上运行,早期的Mapinfo二次开发都是基于MapBasic进行的 。MapBasic学起来容易,用起来却束缚多多,无法实现较复杂的自定义功能,用它来建立用户界面也很麻烦,从现在角度看,MapBasic比较适合用于扩展Mapinfo功能 。
二、利用OLE自动化开发
1. 建立Mapinfo自动化对象
基于OLE自动化的开发就是编程人员通过标准化编程工具如VC、VB、Delphi、PB等建立自动化控制器,然后通过传送类似MapBasic语言的宏命令对Mapinfo进行操作 。实际上是将Mapinfo用作进程外服务器 , 它在后台输出OLE自动化对象 , 供控制器调用它的属性和方法 。
OLE自动化开发的首要一步就是建立Mapinfo自动化对象,以Delphi为例(后面都是如此) , 你可设定一个Variant类型的全程变量代表OLE自动化对象,假设该变量名为olemapinfo,那么有:
oleMapinfo := CreateOleObject('Mapinfo.Application')
一旦OLE自动化对象建立,也就是后台Mapinfo成功启动,你就可以使用该对象的Do方法向Mapinfo发送命令,如:
oleMapinfo.Do('Set Next Document Parent' + WinHand + 'Style 1')
这一命令使Mapinfo窗口成为应用程序的子窗口,WinHand是地图窗口句柄,style 1 是没有边框的窗口类型 。你还可以使用自动化对象的Eval方法返回MapBasic表达式的值,如下面语句返回当前所打开的表数:
TablesNum:=olemapinfo.eval('NumTables()')
你也可以直接调用Mapinfo菜单或按钮命令对地图窗口进行操作 , 如地图放大显示:
oleMapinfo.RunMenuCommand(1705)
2. 建立客户自动化对象触发CallBack
基于OLE自动化开发的难点在于所谓的CallBack,Mapinfo服务器对客户程序地图窗口的反应叫CallBack,假如你在地图窗口中移动地图目标,Mapinfo能返回信息告诉你地图目标当前的坐标位置,这就是CallBack功能 。如果你想定制自己的地图操作工具或菜单命令,你必须依靠CallBack 。但是想捕获CallBack信息,你的客户程序必须具备接收CallBack信息的能力,为此需要在客户程序中定义自己的OLE自动化对象,如:

推荐阅读