2、空间数据导入/转换地理数据的获取 地理数据来自文件、数据库和WMS/WFS服务器。
文件方式:支持读取的地理数据文件:ESRI Shape、Mapinfo Tab/Mif、Geomedia Access等,建议使用Shape文件格式,Oracle和PostgreSQL提供Shape文件导入数据库的程序。
WMS/WFS服务器:Internet上有很多开放的GIS应用服务器,例如NASA、InterGraph、TerraServer等,通过它们获取各种免费地图资源。
Google Map资源:Google Map没有采用标准的WMS/WFS协议,可以通过调用开放的Google Map API,附加自定义的WMS/WFS图层,实现应用目的。例如:通过Google Map可以免费获取高分辨的Google Map卫星地图。
3、空间数据引擎
开源:PostgreSQL(PostGIS)、MySQL(4.1以上)
商业:Oracle、DB2、ArcSDE
开源商业空间数据库推荐使用PostgreSQL。
使用商业空间数据库引擎,例如Oracle Spatial、ArcSDE,可以非常方便的处理地理数据,更好的处理海量数据,以及与现有商业软件共享数据。
4、应用服务器 Geoserver Geoserver是一个基于J2EE的开放的GIS应用服务器,实现了OGC(Open Geospatial Consortium)制定的WMS和WFS(WFS-T)规范,Geoserver是整个GIS应用系统的中枢部分,承担大部分业务处理任务。(新版本(1.3.3)增加了对Google Earth KML/KMZ的支持。)
需要注意的是,Geoserver不只是WebGIS服务器,它可以为桌面应用程序(Udig、Mapinfo)或移动设备(支持J2ME的PDA、手机)提供地图支持。
5、桌面应用程序(C/S) Udig、GVSig
Udig 是一个使用Eclipse RCP和GeoTools构建的桌面地理信息系统,采用Eclipse SWT图形组件,具有更快的运行速度。Udig可以直接读取Shape文件,访问DB2或Oracle空间数据库,访问OGC WMS/WFS服务器。 Udig提供浏览、查询、编辑、测量等基本的GIS *** 作功能。
6、Web应用程序(B/S) Mapbuilder Mapbuilder是一个采用AJAX(Asynchronous JavaScript and XML)技术开发的WebGIS客户端,它的内部结构基于MVC(Model-View-Controller),具有良好的可读性和可扩展性,兼容 Firefox 1.0+, Internet Explorer 6.0+, Mozilla 1.3+, Navigator 6+等浏览器。
1.基本命令介绍创建空间数据库,并且连接到数据库最少需要了解一下几个命令
C:\>psql --help (其实这个命令才是最常用,懒得记那么多命令行,这个命令一敲就出来了,--help参数最重要)
C:\>psql -U [用户名] -d [数据库名] (以连接到指定用户名和数据库)
C:\>createdb -T [模板] [数据库](以指定模板创建数据库)
C:\>createuser -U [超级管理员] -P [要创建的用户名] (以超级管理员的身份创建一个用户,并为其指定密码)
2.命令方式创建空间数据库
下面就演示如何通过命令行来创建空间数据库
(1)创建用户,并赋予其创建数据库的权限
C:\>createuser -U postgres -P wzl
为新角色输入的口令:
再输入一遍:
新的角色是否是超级用户? (y/n) n
新的角色允许创建数据库吗? (y/n) y
新角色允许创建其它新的角色吗? (y/n) n
(2)以上一步创建的用户来创建空间数据库
C:\>createdb -U wzl -T template_postgis my_spatial_db
口令:(指定口令,也可以通过-W参数来指定口令)
(3)连接到刚才创建的空间数据库
C:\>psql -U wzl -d my_spatial_db
用户 wzl 的口令:
my_spatial_db=>(到这一步说明一切都成功了,空间数据库创建成功)
下面就可以对新创建的数据库执行一些 *** 作了
--查看PostgreSQL的版本信息
my_spatial_db2=>select version()
version
-------------------------------------------------------------
PostgreSQL 9.0.2, compiled by Visual C++ build 1500, 32-bit
(1 行记录)
--查看PostGIS的版本信息
my_spatial_db2=>select postgis_full_version()
postgis_full_version
--------------------------------------------------------------------------------
POSTGIS="1.5.2" GEOS="3.2.2-CAPI-1.6.2" PROJ="Rel. 4.6.1, 21 August 2008" LIBXML="2.7.6" USE_STATS
(1 行记录)
当然也可以在连接到数据库的情况下利用SQL语句来创建空间数据库
my_spatial_db=>CREATE DATABASE my_spatial_db2 TEMPLATE=template_postgis
CREATE DATABASE
3.通过可视化界面创建空间数据库
无论是什么软件,一般空间数据和属性数据都是通过元素的ID来进行连接的。例如ArcGIS,可以在打开一个地图后,看属性表,不同的数据文件有不同的规则,都有个类似ObjectID的字段做唯一的标识和联系。
mapinfo里面 选择表==》导出,格式是MIF,到时候会产生两个文件,一个是MIF一个是MID,MIF是记住空间数据的,MID是记住属性数据的。
你应该知道mapx的开发吧,mapx就是mapinfo的二次开发控件,它的开发流程
假设MapX已经打开一个图层,图层名为"a",手头还有一个Access数据库a.mdb,数据库里面有个表X想和a图层绑定。我们保证a层属性里面有一个字段ID1与表X的一个字段ID2是匹配的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)