`
enica
  • 浏览: 68766 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
阅读更多
最近做一个地图的项目,构建webGIS框架。
网上找了一些资料.
一.WebGIS实现方法

体系结构(如图),4层结构包括浏览器、Web服务器、应用服务器以及GIS数据服务器(Oracle-Spatail)。浏览器用于向服务器发送数据请求并显示所请求的数据,Web 服务器接收请求,并把应用服务器的处理结果返回给用户,应用服务器负责应用处理过程,数据服务器端只进行数据的管理工作。

二.webGis开发开源平台:

1.  空间数据库:

A.  PostgreSQL/PostGIS,包含PostGIS。(安装时候postgis一项要选中)PostGIS实现了OpenGIS简单特征规范,并且提供了空间索引。

B.  Mysql,MySQL从4.1开始支持空间数据库,遵循OGC规范。

2.  Web Map Server

GeoServer,安装war版GeoServer需要安装Apache或者Tomcat。Geoserver是基于Java和Geotools库开发的,Geoserver功能全面且遵循OGC开放标准,并由同时拥有PostGIS与uDig的Refractions公司提供支持。GeoServer对发布WFS-T和WMS服务提供便捷的支持,并以XML文件描述所有地图服务。利用Geoserver可以把数据作为maps/images来发布(利用WMS来实现)也可以直接发布实际的数据(利用WFS来实现),同时也提供了修改,删除和新增的功能(利用WFS-T)。

GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。
    Geoserver不只是WebGIS服务器,它可以为桌面应用程序(Udig、Mapinfo)或移动设备(支持J2ME的PDA、手机)提供地图支持。

3.  浏览器端 Client

可以用javascript,flash,java applet实现。

OpenLayers是一个开源的js框架,用于在浏览器中实现地图浏览的效果和基本的zoom,pan等功能。OpenLayers支持的地图来源包括了WMS,GoogleMap,KaMap,MSVirtualEarth等等

4.  中间件

工具一:

JUMP-Project是由一组免费,开源的应用程序组成,这些应用程序为表示和操作空间数据集提供了可扩展的API和图形用户接口(GUI)。 JUMP Project当前包括的主要项目有:
  1.JUMP(The JUMP Unified Mapping Platform):提供包括主要UI和一个具备高扩展性的框架来开发与运行自定义的空间数据处理应用程序。
  2.JTS(The JTS Topology Suite  java拓扑套件):为在兼容OGC标准的空间对象模型中进行基础的几何操作提供2D空间谓词API。JTS封装了常用的geo算法,并且实现了OpenGIS的简单特征规范,也提供了基于内存的空间索引。
  3.JSC(The JCS Conflation Suite):为在空间数据库上执行"异文合并"提供API和一组交互工具。

工具二:

GeoTools,有一定的OpenGIS官方背景。geotools采用java实现,易扩展。geotools采用了JTS。

工具三:

Mapbuilder Mapbuilder是一个采用AJAX(Asynchronous JavaScript and XML)技术开发的WebGIS客户端,它的内部结构基于MVC(Model-View-Controller),具有良好的可读性和可扩展性。

它的特性:
    模块化设计使得它可扩展新的组件和数据源,
    快速的客户端反应,
    支持Internet Explorer6+、Mozilla1.3+、Netscape6+,

mapbuilder-lib具体包括的客户端:
WMS Map Viewer.
WMS Time Series Map Viewer.
Geographic Feature Viewer (使用GML与WFS技术)
Geographic Feature editor和上传到基于Web的geographic数据库(WFS-T).

结合网上的资料,基本考虑的框架:
1.  空间数据库:Oracle-Spatail
2.  Web Map Server:GeoServer
3.  浏览器端 Client:OpenLayers
4.  中间件:GeoTools
再每个环节做一个详细可行性评估。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics