基于开源软件的WebGIS架构设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
page 1
2 WebGIS的含义(二) WebGIS特性 ? 数据共享 ? 即时访问 ? 获取容易 ? 服务定制 ? 应用接口 功能 上WebGIS需要满足 ? 空间数据和属性数据的传输浏览 ? 专业应用 ? 空间分析功能 2 WebGIS的含义(三) 基本的服务有 地图服务、本地搜索 扩展服务 公交查询、驾驶导航 专业应用 1 行业宣传应用平台 ? 房地产、旅游景点、企业电子名片、电子票务…… 2 大 众信息交流平台 ? 餐饮 生活 娱乐 卫生 购物 旅游…… 3 政府部门电子政务平台 ? 城市地图、城市名片、政务公开、交通部门、土地部门、 城市规划、奥运会组委会 、突发事件应急…… 2 WebGIS的含义(四) 2 WebGIS的含义(五) 2 WebGIS的含义(六) GIS专业和非GIS专业 GIS专业和非GIS专业 专业和非GIS “从事GIS相关的开发 的人并非要求一定是GIS专业的人员, 相反,同时拥有结合各种专项技术的人才会是 炙手可热。 ” 我们有什么优势? 我们可以做什么? 2 WebGIS的含义(七) 动态展示 2 WebGIS的含义(八) 专题地图 2 WebGIS的含义(九) 时空监控 3 WebGIS架构特征分析(一) 常用WebGIS实现方式 常用WebGIS实现方式 WebGIS ? CGI ? Server API ? Plu g-ins ? ActiveX ? Java Applet 3 WebGIS架构特征分析(二) Google Map 特征 ?空间数据库技术 ?数据预处理 ?地图切片技术 ?JavaScript 技术 ?CSS技术 ?网页缓存技术 ?xmlHTTPRequest ?Google Map API 3 WebGIS架构特征分析(三) 传统WebGIS模式的特征 ? ? ? ? ? ? ? ? 数据量大、传输成图慢 客户端操作性不好 互操作性不够 数 据不能共享 空间分析功能差 数据传输快,现实迅速 交互性好 互操作 空间分析功能 有所加强 Google Map模式的特征 3 WebGIS架构特征分析(四) WebGIS架构主要组成部分 ?客户端接口 ?网络服务器 ?地图服务器 ?数据应用服 务器 ?数据库服务器 3 WebGIS架构特征分析(五) C/S和B/S混合模式 的WebGIS架构 4 基于开源GIS软件搭建WebGIS架构(一) 换一种思路,从另一个角度看问题 选择开源 4 基于开源GIS软件搭建WebGIS架构(二) 平台搭建 4 基于开源GIS软件搭建WebGIS架构(三) Html+JavaScript+css Php+XMLHttpRequest XML 接口设计 php XML Php+XMLHttpRequest C+SQL
page 2
百度文库
php Php+SFS_SQL C+SFS_SQL XML XML C+SFS_SQL SQL XML 4 基于开源GIS软件搭建WebGIS架构(四) 关键技术 ? Html+JavaScript+css ? xmlHTTPRequest ? PostGIS(SFS for SQ L) ? R空间分析软件包 ? R<->PostgreSQL ? R<->MapServer 4 基于开源GIS软件搭建WebGIS架构(五) 关键代码 //系统配置文件 ¥nju = array ( 'title' => 'nju', 'path' => 'H:\ms4w\ap ps\ka-map-1.0.b1\htdocs\nju.map', 'scales' => array(5000, 3000,1500 ), 'fo rmat' =>'PNG' ); ¥szMap = 'nju'; //地图配置文件 nju.map NAME 南京大学校园地 图 STATUS ON SYMBOLSET etc/symbols.sym # Map image size. Change size as de sired SIZE 150 150 EXTENT 118.767 32.0519 118.78 32.0614 UNITS dd IMAGECOL OR 255 255 255 IMAGETYPE png 4 基于开源GIS软件搭建WebGIS架构(六) //栅格图层 LAYER NAME pic METADATA "DESCRIPTION" “NJU" END TYPE RAST ER STATUS ON DATA nju.jpg END //矢量图层,数据源来自PostgreSQL数据库 LAYER NAME service_ TYPE POINT STATUS ON CONNECTION "user=postgres password=postgres dbname=postgis host =localhost port=5432“ CONNECTIONTYPE postgis DATA "the_geom from service" GROUP "Service“ METADATA queryable "true" "SEARCHFIELD" "name“ fields ' name:name,intro:intro‘ END CLASS NAME "Service " COLOR 255 0 0 SYMBOL 'ci rcle' SIZE 9 END END 4 基于开源GIS软件搭建WebGIS架构(七) //浏览器客户端操作 var myKaMap = myKaNavigator = myKaQuery = myScaleb ar = null; myKaMap.zoomTo(x,y,3000); myKaMap.zoomIn(); myKaMap.createLayer s(layer_name); myKaMap.addObjectPix(layer,x,y,obj); //客户端向服务端发送 请求,并处理服务端返回的数据 var url=“http://192.168.0.84/kamap1.0/nju_in fo/mylocation.php?ip=”+ip; req=getXMLHTTPRequest(); req.open("GET",url,tr ue); var data=null; req.onreadystatechange=function() { if(req.readyState= = 4){ data=req.responseXML; var ml = data.documentElement.getElementsByTag Name("coordinate"); var x=parseFloat(markers[0].getAttribute("x")); var y= parseFloat(markers[0].getAttribute("y")); var img = document.createElement ('img'); …… …… myKaMap.addObjectGeo(myNJUCanvas,x,y,img); }else{ data= null; } }; req.send(null); 4 基于开源GIS软件搭建WebGIS架构(八) //服务端接受客户端请求,从数据库获取数据返回给客户端 ¥dbconn = pg_con nect("host=localhost dbname=postgis user=postgres password=postgres") or d ie('Could not connect: ' . pg_last_error()); // 执行 SQL 查询 ¥query = 'se lect x(centroid(the_geom)) as a, y(centroid(the_geom)) as b from construct ion where ip_txt=\''.¥ip.'\''; //echo ¥query; ¥result = pg_query(¥query) o r die('Query failed: ' . pg_last_error()); ¥line = pg_fetch_array(¥result, null, PGSQL_ASSOC); echo "<coordinates>\n"; if(¥line!=NULL) { echo "<coor dinate "; echo "z = \"0\" "; echo "x = \""; echo ¥line['a']; echo "\" "; e cho "y = \""; echo ¥line['b']; echo "\">\n"; echo "</coordinate>\n"; } ech o "</coordinates>\n"; 5 总结与分析 基于开源软件设计B/S与C/S混合结构的WebGIS架构,并实 现了常州市网络人口 地理信息系统原型: ? 简单便捷的地图浏览查询功能 ? 实现常用的统计分析功能(待 完善) ? 实现空间分析(空间自相关)(尚未完成) 后续需做的事情 ? 性能检验, 跟ArcIMS进行比较 ? 建立影像数据库 ? 空间分析方法研究 6 实例演示 实例演示 谢谢! 谢谢!
本文由278965131贡献 ppt1。 基于开源软件的WebGIS架构设计与实现 蒋志欣 2007-1-29 大纲 1. 2. 3. 4. 5. 6. 开源软件的含义 WebGIS的含义 WebGIS架构特征分析 基于 开源GIS软件搭建WebGIS架构 总结与分析 实例演示 1 开源软件的含义 开源许可证的共同点 1、承认版权; 2、发布的义务——将获得的源代码再发布 ; 3、对发布的源代码的要求——须保证源代码的完整和可以 被获得; 4、允许修改 ——可以根据获得的源代码产生演绎作品; 5、没有担保 常用的开源许可证 GPL/LG PL BSD MIT 1 开源软件的含义(二) 开源GIS软件 开源GIS软件 GIS 1 开源软件的含义(三) 开源软件遵循的标准 OGC Open GIS Consortium ? ? ? ? ? 坐标转换规范(OpenGIS Coordinate Transformation Services Sp ecification ) 地理标记语言(OpenGIS Geography Markup Language(GML)) 栅 格数据规范(OpenGIS Grid Coverages Specification) 简单几何要素规范(OpenG IS Simple Features Specification): 网络地图服务规范(OpenGIS Web Map Ser ver Interface (WMS ) Specification WFS WCS LBS…… 此外还有 ISO FGDC等标准 SVG、KML等规范 1 开源软件的含义(四) 比较商业GIS软件和开源 软件和开源GIS软件的解决方案 比较商业 软件和开源 软件的解决方案 传统GIS软件分类 – 桌面GIS软件 – 服务端GIS软件 桌面(商业软件ESRI系列): 分析、数据操作 (ArcInfo, ArcGrid) 制图 (ArcView, ArcMap) 遥感图像处理 (ERDAS Imagine) 服务端 (商业软件ESRI系列): 空间数据存储 (ArcSDE, Oracle Spatial) 网络地图服务 (ArcIMS、ArcWeb、A rc explorer、ArcGISServer) 空间数据处理 (ArcInfo, ArcGrid) 1 开源软件的含义(四) 开源GIS软件 桌面环境 GPL LGPL GRASS GIS GPL GPL GPL …… …… 1 开源软件的含义(五) 开源GIS软件 开源GIS软件 服务端环境 GIS GPL LGPL GPL MIT-style LGPL Geoserver、Mapguide Ka-map 、CartoWeb …… …… 1 开源软件的含义(五) 开源GIS软件包 GDAL/OGR (MIT) Proj4 (MIT-style) GEOS (LGPL) Mapn ik (LGPL) WKB4J (GPL) JTS Topology Suite (LGPL) …… 2 WebGIS的含义(一) 广义WebGIS 架构 ? C/S架构的GIS ? B/S架构的GIS 形式 ? WebGIS ? Mobile GIS(Phone Car) ? 3D GIS 狭义WebGIS ? 通过网页浏览器访问空间数据,进行空间 操作
相关文档
最新文档