GeoServer地图开发解决方案_第1页
GeoServer地图开发解决方案_第2页
GeoServer地图开发解决方案_第3页
GeoServer地图开发解决方案_第4页
GeoServer地图开发解决方案_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文档原创来自:“:///beniao277“:///beniao277Exlimit编辑GeoServer是OpenGISWeb效劳器标准的J2EE实现的社区开源工程,利用GeoServer可以便利的公布地图数据,允许用户对特征数据进展更、删除、插入操作,通过GeoServer可以比较简洁的在用户之间快速共享空间地理信息。本系列博文供给全GeoServerGeoServer环境搭建、地图数据处理、部署而成,如有类同纯属巧合,同时欢送宽阔网友前来沟通。GeoServer地图开发解决方案〔一〕:环境搭建篇GeoServerGeoServer、JavaJDK1.5/1.6、Tomcat5.0/6.0〔GeoServerTomcatGeoServer2.0.2版已经内置效劳器〕。Tomcat、JavaJDK1.5/1.6TomcatJavajdk都可以通过其官方网站下载到,具体请查看本文末的资源表。如JDK安装在D盘下的,具体如以下图:假设是使用最版本的r2版本的就不需要安装2.0.2效劳器。二GeoServerGeoServer是OpenGISWeb效劳器标准的J2EE实现,利用GeoServer可以便利的公布地图数据,允许用户对特征数据进展更、删除、插入操作,通过GeoServer可以比较简洁的在用户之间快速共享空间地理信息。GeoServer是社区开源工程,可以直接通过社区网站下载,具体请查看本文档末的资源表。GeoServer兼容WMS和WFSPostGISShapefileArcSDE、Oracle、VPF、MySQL、MapInfojpeg、gif、png、SVG、KML等格式;能够运行在任何基于J2EE/Servlet容器之上;嵌入MapBuilder支持AJAXOpenLayers;除此之外还包括很多其他的GeoServer更多信息可以访问百度百科了解:“://baike.baidu/view/871332.htm“://baike.baidu/view/871332.htm或官网了解:“:///display/GEOS/Welcome“:///display/GEOS/Welcome。GeoServerGeoServerJavaGeoServerJavaJDKJavaJDK,在安装GeoServerJavaJDKjreGeoServer的安装。GeoServershpWMS效劳,需要将shp格式地图GeoServer指定的地图数据名目下面,在最版的GeoServer安装中就可以指定地图数据的存放名目,其默认放置在GeoServer的安装名目下。GeoServer安装的时候供给默认的用户名(admini)和密码(geoserver),以及GeoServer治理系统的访问端口号(8080)。uDiguDigGISJavaEclipseshp格式地图文件的编辑和查看。其下载地址:“:///files/downloads/udig-1.2.0.exe“:///files/downloads/udig-1.2.0.exe到此为止,基于GeoServeruDig进展地图数据查看、编辑以及地图样式导出等功能。GeoServer地图开发解决方案〔二〕:地图数据处理篇GeoServerArcGIS格式的地图数据,既.shp格式的地图数据。假设是别的厂商供给的地图数据则需要进展一次地图数据格式转化。本篇主要介绍如何查看、编辑地图数据的应用。一、shp数据格式GeoServerArcGIS格式的地图数据,既.shp格式的地图数据。在使用GeoServer部署地图数据之前则需要针对不同地图厂商供给的地图数据进展数据格式MapInfoArcGISshpMapInfo供给的工具进展装换。操作格外简洁,这里不做具体介绍。uDigSHP格式数据uDigshp格式地图文件,支持同时翻开多个shp格式地图数据文件。翻开单个地图数据文件则以地图数据文件的地图风格呈现出来件则是以依据地理坐标确定图层位置的图层重叠呈现。shp格式地图数据文件后uDig的图层面板就可以查看当所选择的shp地图数据文件中所包含的地图图层信息,中选中某个图层后就可以通过Table面板查看到该图层所对应的一些具体数据信息。如以下图所示:uDig错处理不行缺少的一个工具,很给力的一个工具。uDigSHP格式数据样式uDig供给了格外强大的地图数据编辑功能uDig编辑shp编码公布出的S“ChangeStyle功能选项就可以进入图层的样式编辑器。通过可视化编辑器将修改后的样式导出为样式文件(.sld),在公布地图数据的时候就可以使用编辑后的样式到对应的地图图层,从而解决中文标签乱码问题。到此为止,基于uDig进展地图数据编辑处理介绍完毕,固然本文只是简洁的介绍,期望uDigGeoServer进展地图数据部署相关的学问点。GeoServer地图开发解决方案〔三〕:部署地图数据篇GeoServer的地图数据部署实现,前提条件为成功搭建有GeoServerGeoServershp格式的地图数据格外简洁,对于GeoServer对于的磁盘物理层主要就是一个地图数据名目的概念,对于GeoServer应用系统来说则有三大重要学问点,分别为:工作空间〔workspace〕、存储器〔store〕和地图图层〔layer〕,这些概念的具体都将在本文中逐一的介绍。一、GeoServer地图数据名目〔DataDirectory〕所谓地图数据名目既地图数据的存放名目,在《GeoServer地图数据部署解决方案〔一〕:环境搭建篇》中介绍环境搭建的时候就提到过地图数据名目这个概念,安装GeoServer的时候就已经指定了地图数据名目的位置。部署地图数据格外简洁,首先需要将地图数据文件(shp地图数据文件)复制到GeoServer的数据名目〔GeoServer的时候所指定的地图数据名目〕下面,由于只有将地图数据放到此名目下,GeoServershp〔建议使用英〕。需要部署的地图数据必需放置在上面GeoServershpGeoServer地图数据名目下名为“t_shapes”的名目中的。这里的“t_shapes”需要特别留意,在使用GeoServer进展地图数据部署公布的时候〔创立存储器〕需要使用到此名字〔t_shapes〕。最版(版本号:2.0.2)GeoServershp格式地图数据的公布,并增加OpenLayersKMLGML等格式数据。下面将具体介绍这些功能点。二、工作空间〔workspace 〕最版的GeoServer里面修改了老版本的“名目”为“工作空间”,工作空间存放着多个GeoServer治理系统后就可以从左边的功能导航处看到“工作空间”选项。工作空间治理平台具体如以下图所示:要公布地图数据为WMS效劳,首先得建立工作空间〔也可以使用现有的工作空间〕,理平台界面的“Addnewworkspace”进入工作空间创立界面,如以下图所示:入工作空间编辑界面。三、存储器〔store〕基于工作空间只上的存储器,维护着和地图数据名目的映射关系。可以直接通过GeoServer左边的功能导航进入存储器治理界面,如以下图所示:如上图所示,在存储器治理界面中点击“AddnewStore”就可以导航到创立存储器界面,可以完成存储器到地图数据名目的映射,为后面公布地图图层做预备。如以下图所示:通常我们使用的是“DirectoryofSpatialfiles”shp格式地图数据的部署。以下图为添加存储器的界面:GeoServer的商定一个数据存储器可以部署一个独立的shp格式地图数据文件,shp格式地图数据格式。需要特别留意就是“URL”格式为:“file:”+“GeoServer的地图数据名目”,比方说地图数据放在C:\ProgramFiles\GeoServer2.0.2\data_dir\data\t_shapesURLfile:data/t_shapes。最终的配置如以下图所示:四、地图图层〔layer〕地图图层主要就是治理部署在GeoServerSRS标准等相关信息。通过图层治理界面的“Addanewresource”可以进入图层类型(工作空间:存储器)选择界面,具体如以下图:地图数据存储器治理维护着与地图数据名目对应的地图图层数据储器类型,就会列表处该图层类型下面的全部图层元素,如以下表所示:使用图层列表治理维护着地图数据图层的公布图效劳的前面有“V”标记,假设要修改已公布的地图图层可以使用再次公布功能完成。GeoServer地图数据部署更加精彩的文章。下一篇将具体介绍如何公布地图图层、应用地图样式以及通过Openlayers的方式预览地图数据。GeoServer地图开发解决方案〔四〕:Web地图效劳〔WMS〕篇一、公布地图图层在上一篇《GeoServer地图开发解决方案〔三〕:部署地图数据篇》中大家都看到基于工作空间的数据存储器治理的地图图层WMS效劳,对于已经公布过的地图数据还可以进展修改公布。从上图上可以看到每个图层有“Published”属性,表示当前图层是否公布,其后还有操作连接“Publishagain”或“Publish”的图层进展公布。要公布地图图层可以在图层列表中点击“Publish”进入图层公布界面,这里需要留意的DeclaredSRSBoundingBoxes等。DeclaredSRS表示当前公布的地图图层将承受何种地理空间引用标准,这里通常都EPSG:4326标准;BoundingBoxes表示当前图层的经度、纬度范围,这两项GeoServer供给的工具自动猎取到。具体如以下图所示:二、公布地图样式之所以要应用样式,主要是解决中文编码的问题以及某些地图数据需要做特别的处理,使用默认的样式却不能正确的公布为WMSuDig对地图数据的样式进展编辑并导出样式文件〔.sld〕,GeoServer中公布的样式,并在图层公布或者是编辑图层的时候就使用自己公布的样式。“Addanewstyle就可进入下面的样式公布界面。如以下图所示:三、应用地图样式“Defaultstyle”功能选项进展地图图层的样式设置。具体如以下图所示:四、预览地图图层GeoServer治理台左边功能导航“LayerPreview”可进入图层阅览列表,在此列表中局部类型地图图层还供给导出为KMLGML格式的地图数据。从上图所示中点击图层所对应的“OpenLayers”就可以翻开所对应地图图层的预览界“cq:dqjx_polyline图层。WMS效劳的单个地图图层加载分析表WMS效劳的单个地图图层加载分析表ap&layers=cq:dqjx_polyline&styles=&bbox=105.286,28.163,110.194,32.203&width=512&height=421&srs=EPSG:4326&format=application/openlayers参数名参数值参数说明serviceWMSWMS效劳Version1.0.1WMS效劳版本requestGetMapWMS效劳恳求接口类型,GetMap表示恳求地图数据layerscq:dqjx_polylineWMS所恳求的地图图层Styles图层样式bbox105.286,28.163,110.194,32.203恳求的地图图层范围width512宽度height512高度srsEPSG:4326地理空间引用标准formatformatapplication/openlayers五、多图层叠加呈现在访问WMS效劳的时候通常都是将多个地图图层进展叠加组合WMSWMS恳求地址的s参数后面用逗号将多个图层进展分割就可以了。下面的S效劳恳求地址3个地图图层:://localhost:8080/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=cq:dqjx_polyline,cq:cszgddx_polyline,cq:cszgd_polyline&styles=&bbox=105.286,28.163,110.194,32.203&width=512&height=421&srs=EPSG:4326&format=application/openlayerslayers=cq:dqjx_polyline,cq:cszgddx_polyline,cq:cszgd_polyline,表示此WMS效劳恳求是由三个地图图层叠加组合而成的。最终的预览效果如以下图:GeoServer地图数据部署更加精彩的文章。下一篇将具体介绍如何通过SilverlightWeb地图客户端。GeoServer〔五Silverlight技术的地图客户端实现BingMaps的客户端实现的博文:《DeepZoom技BingMaps客户端实现争论SilverlightDeepZoom技BingMaps的客户端。本篇介绍的内容则为基于Web地图效劳〔WebMapService,简称:WMS〕Silverlight地图客户端实现。一、DeepZoom简介DeepZoomMultiScaleImage控件为核心,其内部有一个MultiScaleTileSourceMultiScaleImage控件所要呈现的SilverlightWebGISMultiScaleImage控件来实现,MultiScaleTileSourceWebGIS〔ImageTiles〕MultiScaleImage控件实现一个数据源。因此本篇所需要做的工作就是WMSMultiScaleImage控件实现一套加载数据源的算法。二、WMS效劳加载实现WMSWMS公布的方式、WMS地址的参数组成构造以及地图瓦片的投影原理就可以了,首先需要定义一个盒子对象作为访问WMS的边界参数对象。publicclassBBox{publicintX{get;set;}publicintY{get;set;}publicintWidth{get;set;}publicintHeight{get;set;}publicBBox(intx,inty,intw,inth){this.X=x;this.Y=y;this.Width=w;this.Height=h;}}WMSGIS理论根底才能够知道具体的实现原理,这里我就不逐一介绍,直接贴代码:publicclassWMSTileSource:MultiScaleTileSource{publicWMSTileSource:base(int.MaxValue,int.MaxValue,0x100,0x100,0){}publicconstintTILE_SIZE=256;///<summary>///地球半径///</summary>publicconstdoubleEARTH_RADIUS=6378137;///<summary>///地球周长///</summary>publicconstdoubleEARTH_CIRCUMFERENCE=EARTH_RADIUS*2*Math.PI;publicconstdoubleHALF_EARTH_CIRCUMFERENCE=EARTH_CIRCUMFERENCE/2;///<summary>///WMS效劳地址///</summary>privateconststringTilePath=@“://localhost:8080/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=cq:CQ_County_region,cq:CQ_County_region_level&styles=&bbox={0},{1},{2},{3}&width=512&height=421&srs=EPSG:4326&&Format=image/png“;publicstringGetQuadKey(stringurl){varregex=newRegex(“.*tiles/(.+)[.].*“);Matchmatch=regex.Match(url);returnmatch.Groups[1].ToString;}publicBBoxQuadKeyToBBox(stringquadKey,intx,inty,intzoomLevel){charc=quadKey[0];inttileSize=2<<(18-zoomLevel-1);if(c==”0”){y=y-tileSize;}elseif(c==”1”){y=y-tileSize;x=x+tileSize;}elseif(c==”3”){x=x+tileSize;}if(quadKey.Length>1){returnQuadKeyToBBox(quadKey.Substring(1),x,y,zoomLevel+1);}returnnewBBox(x,y,tileSize,tileSize);}publicBBoxQuadKeyToBBox(stringquadKey){constintx=0;constinty=262144;returnQuadKeyToBBox(quadKey,x,y,1);}publicdoubleXToLongitudeAtZoom(intx,intzoom){doublearc=EARTH_CIRCUMFERENCE/((1<<zoom)*TILE_SIZE);doublemetersX=(x*arc)-HALF_EARTH_CIRCUMFERENCE;doubleresult=RadToDeg(metersX/EARTH_RADIUS);returnresult;}publicdoubleYToLatitudeAtZoom(inty,intzoom){doublearc=EARTH_CIRCUMFERENCE/((1<<zoom)*TILE_SIZE);doublemetersY=HALF_EARTH_CIRCUMFERENCE-(y*arc);doublea=Math.Exp(metersY*2/EARTH_RADIUS);doubleresult=RadToDeg(Math.Asin((a-1)/(a+1)));returnresult;}publicdoubleRadToDeg(doubled){returnd/Math.PI*180.0;}privatestaticstringTileXYToQuadKey(inttileX,inttileY,intlevelOfDetail){varquadKey=newStringBuilder;for(inti=levelOfDetail;i>0;i--){chardigit=”0”;intmask=1<<(i-1);if((tileX&mask)!=0){digit++;}if((tileY&mask)!=0){digit++;digit++;}quadKey.Append(digit);}returnquadKey.ToString;}protectedoverridevoidGetTileLayers(inttileLev

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论