Geoserver添加.shp地图方法
- 格式:docx
- 大小:785.39 KB
- 文档页数:15
柳测所--勘界导入SH P数据操作指南通过导入SH P数据到C A SS勘测定界中进行勘界业务的操作流程,以下做简略阐释:第一步:导入SHP数据,(勘界包括:DLTB, XZDW)若有需要都可以选择对应的表导入进来;操作步骤:选择【输入输出】----【导入SHP数据】功能,会弹出如图1-2对话框,选择要导入的SHP数据,点击【打开】即可弹出图1-3字段匹配对话框,在右边的匹配表名中选择相对应的表名,点击【确定】即可。
以DLTB为例:1-1导入SHP菜单1-2选择SHP文件对话框1-3匹配表名对话框第二步:对导入进来的总图附属性;操作步骤:(1 )a、选择【勘测定界】----【导入GIS后行政区划代码得行政区名称】功能,命令行提示:请输入行政区划代码的扩展属性名称(1)QSDWDM (2) QSDWDM1 <1>:选择1,点击鼠标右键,会弹出如图2-1行政区划设置对话框,在该对话框中设置乡和村的区划代码的位数,点击【确定】后,命令行提示:选择对象:,用鼠标左键框选要赋行政区名称的图斑,选好后点击右键即可。
注:全国对行政区划代码的编号一般都是一样的;(总共12位数,前面6位是每两位各为省、市、县的编号,后面6位为每三位各是乡/镇、村的编号)也有存在特殊的编号,这紧提供对话框设置,默认为国家标准的编码,b、同a一样的操作,选择(2) QSDWDM1也进行行政划代码得行政区名称。
图2-1行政区划设置对话框说明:(1)QSDWDM是图斑的行政区划代码,给图斑赋加行政区划名称。
(2) QSDWDM1是线状地物行政区划代码,给线状地物赋加行政区划名称。
(2)选择【勘测定界】--【导入GIS后权属性质】功能,根据命令行提示操作;命令行提示:请定义国有替换扩展属性值<20>:输入导入的S H P数据中权属性质对应的数字,点击鼠标右键后命令行提示:请定义集体替换扩展属性值<30>:输入导入的S H P数据中权属性质对应的数字,点击鼠标右键后命令行提示:选择对象:选择要转换过来的图斑点击鼠标右键即可。
如何利用GeoServer发布卫星地图服务1、GeoServer简介:GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现的社区开源项目,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。
本系列博文提供全面、完善的GeoServer部署解决方案,包括GeoServer环境搭建、地图数据处理、部署地图数据、发布地图服务等功能的详细介绍(图1)。
图12、材料准备Geoserver 2.2(汉化版) JDK 1.8 tomcat 7.0注:所需材料附件已提供3、环境配置由于GeoServer是基于J2EE的开源项目,需要java的运行环境,所以需要安装JDK;其次,要访问geoserver的服务,需要tomcat服务器。
3.1搭建java运行环境直接安装附件内的JDK1.8即可,安装完成后点击“开始”→“运行”(图2),在弹出的对话框内输入“cmd”(图3)进入管理员界面,在界面内输入“java-version”(注意java和-version之间有一个空格),出现图4所示的界面,则说明java环境已经搭建完成。
说明:如果此处未出现图4所示的界面,说明java运行环境未搭建好,可以去网上查阅配置java环境变量的相关资料图2图3图43.2创建tomcat服务器按默认安装tomcat即可,注意记下tomcat的安装目录(安装目录可以任意选择,不一定要安装在C盘)之后需要在安装目录下解压geoserver.war。
4.配置GeoServer安装好tomcat后,将附件内的geoserver.war(图5),复制到tomcat的webapps目录下(图6),例如我的tomcat安装在C盘,此处的完整路径为C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps图5图6在安装目录Tomcat 7.0文件夹内找到bin文件夹,进入并双击“Tomcat7.exe”运行(图7),用以解压geoserver.war压缩包,解压完成后再次回到webapps文件夹,可以看到现在已经生成了一个geoserver文件夹(图8),说明已经解压好了geoserver。
如何按用户已有矢量范围(KML、SHP等)谷
歌卫星影像
91卫图助手提供了多种方式下载卫星影像,包括按框选范围下载、按行政区划下载、按标准图幅下载、按用户已有矢量范围(KML、SHP、DXF等)下载,本节将演示按用户已有矢量范围下载影像。
•91卫图助手下载器
1、启动91卫图助手,win7及以上建议以管理员身份运行,打
开软件后,可以看到地图面板下面有个按已有范围下载。
2、我们点击矢量范围,打开加载矢量对话框,然后点击浏览按钮选择,选择矢量文件,软件支持KML、SHP、DXF、GPX、CSV、DAT、TXT等多种格式。
3、这里我们以KML文件为例,选择KML文件,选择以后,点击
确定
4、双击所选区域,弹出下载对话框,我们选择影像下载级别(级别越高,分辨率越高,文件也越大,可按自己所需选择合适的级别),然后点击导出设置,勾选按边界范围裁剪选择(如不勾选,下载后的数据边缘不规整,有锯齿)。
5、设置好以后,点击确定,开始下载,下载完成,软件会自动导出下载文件所在目录文件夹,我们打开文件夹,即可看到下载以后的影像数据
6、下载后的数据,我们可以用GlobalMapper,Arcgis,AutoCAD, MapGIS,ERDA,ENVI等软件打开,这里我们用GlobalMapper打开影像文件
1、本教程以KML为例,演示如果按已有的矢量范围下载数据,软件也支持其他格式,如SHP、DXF、GPX、CSV、DAT、TXT等多种格式,其他格式下载方式如之类似,不再一一赘述。
GeoServer地图开发解决方案(一):环境搭建篇作者:beniao文章来源:/389148/475393 点击数:1224 更新时间:2012-9-8摘要:GeoServer是OpenGIS Web 服务器规范的J2EE 实现的社区开源项目,利用GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。
本系列博文提供全面、完善的GeoServer 部署解决方案,包括GeoServer环境搭建、地图数据处理、部署地图数据、发布地图服务等功能的详细介绍。
GeoServer是OpenGIS Web 服务器规范的J2EE 实现的社区开源项目,利用GeoServer可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过GeoServer可以比较容易的在用户之间迅速共享空间地理信息。
本系列博文提供全面、完善的GeoServer部署解决方案,包括GeoServer环境搭建、地图数据处理、部署地图数据、发布地图服务等功能的详细介绍。
文中内容来自本人工作中通过网络学习后总结而成,如有类同纯属巧合,同时欢迎广大网友前来交流。
系列目录导航:GeoServer地图开发解决方案(一):环境搭建篇GeoServer地图开发解决方案(二):地图数据处理篇GeoServer地图开发解决方案(三):部署地图数据篇GeoServer地图开发解决方案(四):发布Web地图服务(WMS)篇GeoServer地图开发解决方案(五):基于Silverlight技术的地图客户端实现搭建GeoServer环境需要安装GeoServer、Java JDK 1.5/1.6、Tomcat 5.0/6.0(老版本的GeoServer 需要Tomcat的支持,最新版本的GeoServer 2.0.2版已经内置了HTTP服务器)。
一、下载、安装Tomcat、Java JDK1.5/1.6Tomcat和Java jdk都可以通过其官方网站下载到,详细请查看本文末的资源表。
G e o S e r v e r基础教程(总17页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除GeoServer基础教程(一):环境搭建篇GeoServer的是一个基于Java的软件,它允许用户查看和编辑地理空间数据,使用开放地理空间联盟(OGC)提出的开放标准,为地图创建和数据分享提供了强大的便利性。
GeoServer是OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。
GeoServer 主要特性兼容 WMS 和 WFS 特性;支持 PostGIS 、 Shapefile 、 ArcSDE 、Oracle 、 VPF 、 MySQL 、 MapInfo ;支持上百种投影;能够将网络地图输出为 jpeg 、 gif 、 png 、 SVG 、 KML 等格式;能够运行在任何基于J2EE/Servlet 容器之上;嵌入 MapBuilder 支持 AJAX 的地图客户端OpenLayers;除此之外还包括许多其他的特性。
这个系列博文将提供我在学习使用GeoServer的过程中的收获,内容包括GeoServer环境搭建、地图数据处理、部署地图数据、发布地图服务等功能的详细介绍。
力图通过这个系列博文的介绍,增进大家对GeoServer的全面了解。
也欢迎大家前来交流。
作为GeoServer基础教程(一):环境搭建篇,我们首先介绍如何搭建GeoServer的生产环境,搭建生产环境包括三个部分,分别为http服务器、JDK和GeoServer,因为新版本的GeoServer中内置了http服务器,我们实际上只需安装后两者:一、安装Java JDKGeoServer是基于Java的软件,运行的时候需要JDK的支持,如果你的系统中没有安装配置好JDK,请按照这篇博文(Windows下JDK下载及安装与配置)首先安装配置好JDK。
geoserver使用手册Geoserver使用手册Geoserver是一个开源的地理信息系统软件,它可以将地理数据发布为Web服务。
本文将按照不同的类别介绍Geoserver的使用方法,帮助读者更好地掌握这一工具。
一、安装与配置首先,我们需要下载Geoserver并进行安装。
安装完成后,我们需要进行一些配置,包括设置数据存储位置、配置数据库连接等。
这些配置可以通过Geoserver的Web界面进行操作,非常方便。
二、数据发布Geoserver最主要的功能就是将地理数据发布为Web服务。
在Geoserver中,我们可以将各种格式的地理数据导入到Geoserver中,并将其发布为WMS、WFS、WCS等不同的服务。
在发布数据之前,我们需要对数据进行一些处理,包括设置坐标系、设置样式等。
三、样式设置在Geoserver中,我们可以通过设置样式来美化地图。
Geoserver提供了多种样式设置方式,包括使用CSS、使用SLD等。
通过设置样式,我们可以将地图的颜色、线条、标注等进行自定义,使地图更加美观。
四、安全设置在发布地理数据的过程中,我们需要考虑数据的安全性。
Geoserver提供了多种安全设置方式,包括基于角色的访问控制、基于IP地址的访问控制等。
通过设置安全控制,我们可以保证地理数据的安全性。
五、扩展功能除了基本的数据发布和样式设置功能外,Geoserver还提供了多种扩展功能,包括WPS、WCS、WMTS等。
这些扩展功能可以帮助我们更好地处理地理数据,提高地图的质量和效率。
总结Geoserver是一个非常强大的地理信息系统软件,它可以帮助我们将地理数据发布为Web服务,并提供多种扩展功能。
通过本文的介绍,相信读者已经对Geoserver的使用有了更深入的了解,可以更好地应用这一工具。
学习笔记:利用GeoServer结合uDig发布WMS详细过程在本地已有shp格式地图数据的条件下通过Geoverser发布WMS。
环境要求:JDK,GeoServer,uDig1.在本地拷入要发布的shp数据在开始菜单中单击进入该文件夹依次进入下图路径,并新建一个文件夹(如wms1),尽量用英文。
并将要发布的数据拷入刚新建的wms1的文件夹内2.登录进GeoServer地图发布页单击Start GeoServer进入GeoServer Admin Page利用安装GeoServer时设置的用户名(默认为admin)和密码(默认为geoserver)登录登录成功后如下图所示。
发布wms主要会用到Data功能区里的部分。
3.新建Workspace点进Workspaces,可利用已有的workspace或者新建workspace.输入workspace 的name和url(可随便写)提交后就可以在Workspaces里看到刚刚新建的wms1_ws4.关联本地数据源在首页点击Data功能区里的Stores,新建Store通常选择第一个Directory of spatial files(shapefiles),可以同时关联一个文件夹下的多个shp图层。
这里也可以选择Shapefile 关联单个shp图层配置关联数据的参数注意:在第3步中,选择一开始在GeoServer安装目录下新建的存放shp数据的文件夹(如C:\\Program Files\GeoServer 2.3.0\data_dir\data\wms1)。
此处的路径为file:data/wms1;在第4步中也要特别注意,如果属性数据中有中文字段的必须选择为GB2312或GBK,否则发布出来的中文属性数据将显示为乱码。
保存配置后,如下图:5.发布地图在上图(也可通过Data ->Layers->Add a new resource),点击要发布图层后面对应的Publish,进入地图发布配置项。
geoserver教程Geoserver 是一个开源的地理数据服务器,用于存储、发布和管理地理空间数据。
本教程将向您展示如何设置和使用Geoserver,以便于您能够开始构建和发布自己的地理数据服务。
第一步:安装 Geoserver1. 在 Geoserver 的官方网站上下载最新的稳定版本。
2. 解压下载的文件,并将其保存到一个您喜欢的位置。
3. 打开解压后的文件夹,并找到 bin 文件夹。
4. 运行 bin 文件夹中的 startup.bat(Windows)或 startup.sh (Linux)脚本。
第二步:配置 Geoserver1. 打开您的浏览器,并在地址栏中输入"http://localhost:8080/geoserver"。
2. 选择 "Setup new data directory" 选项,并点击 "Next"。
3. 在 "Data directory" 字段中输入您想要存储 Geoserver 数据的位置,并点击 "Next"。
4. 在 "Administrative username" 和 "Administrative password" 字段中输入您喜欢的用户名和密码,并点击 "Next"。
5. 点击 "Finish" 完成配置。
第三步:发布地理数据1. 在浏览器中,输入 "http://localhost:8080/geoserver/web"。
2. 使用您在配置过程中创建的管理员用户名和密码登录。
3. 点击 "Stores",然后点击 "Add new store"。
4. 选择您想要发布的数据源类型,例如 "PostGIS" 或"Shapefile",并输入相应的信息。
Geoserver(2.0.1)地图服务器添加.shp类型地图方法一、设置自定义style1、打开GeoServer界面,点击Styles,如图1图12、进入新页面后,点击Add new style,如图2图23、在新打开的页面,Name命名为mystyle,在代码区添加代码(附加代码1),添加代码后,点击页面中的Validate按钮,如果代码没有问题,在页面的顶部会提示“No validation errors”,然后点击Submit提交,如图3图3也可以直接导入styles文件,如下图,点击SLD file的浏览按钮,导入myStyles.sld文件,然后点击Upload,上传成功后点击Validate检查代码,按Submit提交,步骤和上面的相同,如图4图4二、添加地图1、style设置成功后,点击界面中的Stores,添加地图,如图5图52、打开新页面后,点击Add new Store,如图6图63、打开新页面,选择添加地图的格式为.shp,如图7图74、点击后,开始设置地图名称、路径等信息,注意,地图文件的路径中千万不要有中文,而且文件名称也必须是英文或者拼音,否则地图无法显示,这步是关键,如图8,设置完毕别忘了点保存图85、点击Save后,点击New Layer chooser界面中的publish,如图9图96、点击publish后,进入如图10的界面图10界面中有几处要进行设置,如图11图11这时先不要点击Save,点击界面顶部的Publishing,如图12图12进入后,选择上面自定义的Style,这步是关键,如图13图13最后点击页面下面的Save,地图添加完成,可以点击左面菜单中的Layer Preview,如图14图14在打开的页面中找到刚刚添加的图层,点击OpenLayers,如图15图15最终显示效果,如图16图16三、设置图层组1、按照上面的步骤添加多个图层后,可以将多个图层编程一组,首先点击左侧菜单中的Layer Groups,如图17图17点击后,出现如图18的界面,点击Add new layer group图18点击后出现如图19的界面,设置图层组的名称图19点击Submit后,弹出Layer Group页面,点击Add Layer,添加上面已经添加成功的地图,如图20图20添加完图层,在Find输入框中输入EPSG:4326,点击Generate Bounds按钮设置Min X和MinY,最后点击Save,如图21图21最后进入预览界面,找到刚刚添加的组,点击OpenLayers 预览,效果如图22图22附加代码1:<?xml version="1.0" encoding="GB2312"?><sld:StyledLayerDescriptorxmlns="/sld"xmlns:sld="/sld"xmlns:ogc="/ogc"xmlns:gml="/gml" version="1.0.0"><sld:UserLayer><sld:LayerFeatureConstraints><sld:FeatureTypeConstraint/></sld:LayerFeatureConstraints><sld:UserStyle><sld:Name>Default Styler</sld:Name><sld:Title/><sld:IsDefault>1</sld:IsDefault><sld:FeatureTypeStyle><sld:Name>simple</sld:Name><sld:FeatureTypeName>Feature</sld:FeatureTypeName><sld:SemanticTypeIdentifier>generic:geometry</sld:SemanticTypeIdentifier> <sld:SemanticTypeIdentifier>simple</sld:SemanticTypeIdentifier><sld:Rule><sld:LineSymbolizer><sld:Stroke><sld:CssParameter name="stroke">#1B9E77</sld:CssParameter></sld:Stroke></sld:LineSymbolizer><sld:TextSymbolizer><sld:Label><ogc:PropertyName>NAME</ogc:PropertyName></sld:Label><sld:Font><sld:CssParameter name="font-family">宋体</sld:CssParameter><sld:CssParameter name="font-size">12.0</sld:CssParameter><sld:CssParameter name="font-style">normal</sld:CssParameter><sld:CssParameter name="font-weight">normal</sld:CssParameter></sld:Font><sld:LabelPlacement><sld:LinePlacement><sld:PerpendicularOffset>10.0</sld:PerpendicularOffset></sld:LinePlacement></sld:LabelPlacement><sld:Fill><sld:CssParameter name="fill">#000000</sld:CssParameter></sld:Fill><sld:VendorOption name="spaceAround">2</sld:VendorOption><sld:VendorOption name="group">yes</sld:VendorOption></sld:TextSymbolizer></sld:Rule></sld:FeatureTypeStyle></sld:UserStyle></sld:UserLayer></sld:StyledLayerDescriptor>附加代码2:(地图中是Arial字体时使用下面的style代码,charset 设置为GB2312)<?xml version="1.0" encoding="UTF-8"?><sld:StyledLayerDescriptorxmlns="/sld"xmlns:sld="/sld" xmlns:ogc="/ogc" xmlns:gml="/gml" version="1.0.0"><sld:UserLayer><sld:LayerFeatureConstraints><sld:FeatureTypeConstraint/></sld:LayerFeatureConstraints><sld:UserStyle><sld:Name>Default Styler</sld:Name><sld:Title/><sld:IsDefault>1</sld:IsDefault><sld:FeatureTypeStyle><sld:Name>simple</sld:Name><sld:FeatureTypeName>Feature</sld:FeatureTypeName><sld:SemanticTypeIdentifier>generic:geometry</sld:SemanticTypeIdentifier><sld:SemanticTypeIdentifier>simple</sld:SemanticTypeIdentifier><sld:Rule><sld:LineSymbolizer><sld:Stroke><sld:CssParameter name="stroke">#1B9E77</sld:CssParameter></sld:Stroke></sld:LineSymbolizer><sld:TextSymbolizer><sld:Label><ogc:PropertyName>FNODE_</ogc:PropertyName></sld:Label><sld:Font><sld:CssParameter name="font-family">Arial</sld:CssParameter><sld:CssParameter name="font-size">12.0</sld:CssParameter><sld:CssParameter name="font-style">normal</sld:CssParameter> <sld:CssParameter name="font-weight">normal</sld:CssParameter> </sld:Font><sld:LabelPlacement><sld:LinePlacement><sld:PerpendicularOffset>10.0</sld:PerpendicularOffset></sld:LinePlacement></sld:LabelPlacement><sld:Fill><sld:CssParameter name="fill">#000000</sld:CssParameter></sld:Fill><sld:VendorOption name="spaceAround">2</sld:VendorOption><sld:VendorOption name="group">yes</sld:VendorOption></sld:TextSymbolizer></sld:Rule></sld:FeatureTypeStyle></sld:UserStyle></sld:UserLayer></sld:StyledLayerDescriptor>。
Geoserver中Postgis的应用入门一、Postgis的安装:Postgresql的新版本(如8.2版本)已经包含了Postgis组件。
在安装了Postgresql后,可以在安装目录下的\share\contrib目录里找到配置spatial类型数据库要用到的SQL脚本。
二、配置spatial数据库:开启Postgresql数据库服务,打开Postgresql的命令行工具(实际上是在Windows的dos 环境中打开Postgresql安装目录下的Bin目录,以利用该目录下的执行文件和库文件),在命令行工具中分别执行以下命令行:1、安装PL/pgSQL过程语言扩展,这是postgis所需要的,用于支持创建和使用存储函数等。
命令行示例:C:\Program Files\PostgreSQL\8.2\bin>createlang -U username plpgsql mydb在执行该命令前,应该首先通过命令行或图形工具创建数据库(如mydb)。
2、把postgis类型定义、函数定义等扩展内容加载到数据库中:C:\Program Files\PostgreSQL\8.2\bin>psql -U username -d mydb -f lwpostgis.sql3、以下命令为SPA TIAL_REF_SYS表生成数据行,作为EPSG坐标系统的一系列定义数据:C:\Program Files\PostgreSQL\8.2\bin>psql -U username -d mydb -f spatial_ref_sys.sql三、创建和添加空间实体对象表:1、创建试验用表gtest:CREATE TABLE gtest ( ID int4, NAME varchar(20) );2、为gtest表添加空间实体对象数据字段:SELECT AddGeometryColumn(”, ’gtest’,’geom’,26986,’LINESTRING’,2);以上操作实际上是调用AddGeometryColumn函数为gtest表添加了一个名为geom的空间对象字段,对象类型是一个2维线对象,坐标系统为ESPG:26986;同时在geometry_columns 表中添加了一行数据,记录下gtest表及包含的geom线对象字段名称等。
利用GeoServer搭建地图服务器难点1.通过网上下载的地图数据精度最大为1:400万,即最大能够分辨的是县以上的行政区域,县以下的行政区域比如镇,街道等在地图中无法显示出来。
下面的信息是网上找的地图数据的地址以及相应的介绍信息:国家基础地理信息系统数据库简介:/nfgis/chinese/c_db.htm国家基础地理信息系统1:400万数据下载:/nfgis/chinese/c_xz.htm可以下载的地里数据列表:/find.asp?status=完成&accessOption=下载1:400万的shp格式的地图发布到GeoServer上的效果图如下:上图效果简要说明:图中的任意一个多边形代表一个县级行政单位,当鼠标落在地图中的一个任意多边形中时,无论你在该多边形内怎么点击,页面显示的地理位置始终为一个地方,而数字标牌系统需要的地图精度是能够精确到街道下面展示OpenLayers利用谷歌地图数据的效果图:关于数字标牌系统地图模板的一些思考:如果使用GeoServer来搭建地图服务器,地图数据来源可以有两种选择:第一种是购买满足项目精度要求的地理空间数据,第二种就是自己在1:400地图上画精度更高(比如在地图上画出街道信息)的地图,该种方案要求专门的人来画地图。
可以在利用Google地理数据的基础上,增加功能:比如地图可以根据使用者所在地方自动的将地图中心设置为使用者所在地方。
附录:GeoServer安装及配置过程1、下载GeoServer/display/GEOS/Stable,因为我是想基于tomcat实现WEBGIS功能,所以我下载的是Web Archive(/geoserver/geoserve r-2.0.1-war.zip)2、Tomat6(我用的版本,其他没作测试)3、发布GeoServer2的WEB应用到Tomcat4、启动Tomcat,打开http://localhost:8080/geoserver出现以下界面说明发布成功,这里的登录帐号:admin 密码:geoserver 帐号文件的位置在:webapps/geoserver/data/security/users.properties5、新建Workspaces点击左边导航中的Workspaces出现下面的界面(我把以前默认的一些Workspaces都删掉了,所以我这里只有一个),然后点击[Add new workspace]这里填写Workspace的名称和命名空间名称最好为英文否则IE下出错命名空间为你网站的地址(这个不重要)选择Default workspace将其设置为默认6、新建Store点击左边导航中的 Stores出现下面的界面,然后点击[Add new Store]这里先选择[Shapefile],我们添加shp格式的地图文件URL的地方要注意,这里用的是相对路径,所以应该把shp的地图文件和其他一些文件全部拷贝到webapps/geoserver/data/data/shapefiles这个目录下。
GeoServer地图开发解决方案(一):环境搭建篇GeoServer 是OpenGIS Web 服务器规范的J2EE 实现的社区开源项目,利用GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。
本系列博文提供全面、完善的GeoServer部署解决方案,包括GeoServer环境搭建、地图数据处理、部署地图数据、发布地图服务等功能的详细介绍。
文中内容来自本人工作中通过网络学习后总结而成,如有类同纯属巧合,同时欢迎广大网友前来交流。
搭建GeoServer环境需要安装GeoServer、Java JDK 1.5/1.6、Tomcat 5.0/6.0(老版本的GeoServer需要Tomcat的支持,最新版本的GeoServer 2.0.2版已经内置了HTTP 服务器)。
一、下载、安装Tomcat、Java JDK1.5/1.6Tomcat和Java jdk都可以通过其官方网站下载到,详细请查看本文末的资源表。
如本人电脑中就是将JDK安装在D盘下的,详细如下图:如果是使用最新版本的GeoServer 2.0.2版本的就不需要安装Tomcat,GeoServer 2.0.2已经内置了HTTP服务器。
二、下载、安装GeoServerGeoServer 是OpenGIS Web 服务器规范的J2EE 实现,利用GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。
GeoServer是社区开源项目,可以直接通过社区网站下载,详细请查看本文档末的资源表。
GeoServer兼容WMS 和WFS 特性;支持PostGIS 、Shapefile 、ArcSDE 、Oracle 、VPF 、MySQL 、MapInfo ;支持上百种投影;能够将网络地图输出为jpeg 、gif 、png 、SVG 、KML 等格式;能够运行在任何基于J2EE/Servlet 容器之上;嵌入MapBuilder 支持AJAX 的地图客户端OpenLayers;除此之外还包括许多其他的特性。
基于GeoServer的电子地图系统说明概述一AJAX的应用系统,前台页面基于版本来开发,地图效劳基于,后台查询基于Spring和Hibernate。
前后台基于JSON方式进行通信。
注意:为了使代码有最大的平安和保护保障,前后台所有的文件存储和通信编码均为UTF-8(SLD文件有例外,还有说明),数据库编码安装时也指定为UTF-8。
关键词开源软件WebGIS OpenGIS PostgreSQL PostGIS GeoTools GeoServer uDig OpenLayers一、OPENGIS相关概念知识开源软件、W EB技术相关GPL:GNU 全局公共许可证(General Public License)简称为GPL,是GNU的开源软件许可证的一种,大多数的GNU 程序和超过半数的自由软件利用它。
同时,它也是开源软件领域对许可人权利限制最严的许可证。
GPL第一是承认软件的版权——软件有原始的版权所有者,然后纳入自由软件的版权许可约束。
在承认版权的前提下,通过软件的版权许可来实现自由权利的要求。
GPL许可证最重要的特点在于它要求依照GPL许可证发布的软件(如:最有阻碍力的Linux)修改、翻译的演绎作品,乃至只要其任何一部份代码是以GPL发布的,那么全数程序也必需受GPL许可证的约束,即继续遵守GPL许可证的规定,有些人将其称之为GPL的“病毒效应”。
GeoTools、GeoServer都利用GPL授权协议。
AJAX:Asynchronous Javascript. and XML(异步Javascript和XML),AJAX 是时期的要紧技术之一,它通过JS与效劳器通信,中间传输数据利用XML(固然采纳XML 不是必需的,如本系统为JSON),实现网页内容无刷新更新。
网上地图的请求与显示通常采纳此技术,最典型的如:Google Map。
本文中的OpenLayers也利用了此技术。
JSON:JavaScript. Object Notation(JavaScript对象符号),JSON是一种用简单文本描述JavaScript对象的开放格式标准,它易于构建和解析。
geoserver使用手册Geoserver是一个基于开源的软件,用于发布地理空间数据的服务器。
它采用了Web服务的方式,允许用户通过互联网访问和查询地理数据,实现了地理数据的共享和交互。
Geoserver主要由两个核心组件组成:地理数据存储和地理数据发布。
地理数据存储是指将地理数据存储在Geoserver中,并进行管理和维护。
地理数据发布则是指将存储在Geoserver中的地理数据发布成Web服务,以供用户调用和查询。
在Geoserver中发布地理数据需要配置一个地图层,其包含了地理数据存储的信息、样式的配置以及其他参数。
地图层可以通过Geoserver提供的管理界面进行配置,也可以通过编写XML文件来完成。
配置地图层时需要指定地理数据存储、样式以及地理数据的投影信息等。
Geoserver支持多种地图服务标准,包括Web Map Service (WMS)、Web Feature Service (WFS)和Web Coverage Service (WCS)。
WMS用于呈现静态地图图像,WFS用于查询和获取地理要素数据,WCS用于获取栅格数据。
通过这些服务,用户可以访问和查询地理数据,并在地图上进行展示和分析。
Geoserver提供了丰富的功能和扩展性。
它支持数据过滤、图层分组、地理数据缓存、安全性管理等功能。
此外,Geoserver还支持插件机制,可以通过插件来扩展其功能,例如支持更多的地图服务标准、图形符号库、数据格式等。
在使用Geoserver过程中,还需要注意数据的安全性和性能优化。
为了确保数据的安全性,可以配置访问控制列表和用户身份验证。
为了提高性能,可以配置地理数据的缓存、使用压缩格式的地理数据等。
总之,Geoserver是一个强大且易于使用的地理数据发布服务器,它提供了丰富的功能和灵活的配置选项,可以满足各种地理数据发布的需求。
通过Geoserver,用户可以轻松共享和交互地理数据,并在地图上进行展示和分析。
.1坐标系的添加如果地图没有投影信息,将被作为"未知"列出,投影信息存储在数据集的PRJ 文件中。
使用该工具的前提是,输入的数据集或要素类无投影信息。
使用方法如下:1.打开ArcToolbox,执行命令Data Management Tools->projectionsand transformations->define Projection。
2.打开对话框,对文件进行定义:3.转换成功后:2转换坐标系"定义投影"不会更改输出数据集的坐标。
要将数据集从一个投影转换到另一个投影,必须使用"投影"工具。
该工具要求数据集具有PRJ 文件。
2.1方法一:ArcToolbox工具转换适用于对大量图层进行转换首先定义7参数的地理转换,在Arctoolbox中打开Create Custom Geographic Transformation工具,在弹出的窗口中,输入一个转换的名字,如wgs84tobj54。
在定义地理转换方法下面,在Method中选择合适的转换方法如Coordinate_Frame,然后输入平移参数、旋转角度和比例因子,如图1.3-20所示。
第二步,打开工具箱下的Projections and Transformations>Feature>Project,在弹出的窗口中输入要转换的数据以及Output Coordinate System,然后输入第一步自定义的地理坐标系如wgs84Tobj54,开始投影变换,如图1.3-21所示:2.2方法二:ArcMap中动态转换1.在ArcMap中加载了图层之后,打开View-Data Frame Properties对话框,显示当前的投影坐标系统,在下面的选择坐标系统框中选择需要转换的坐标系,在右边有一个按钮为"变换"2.如果没有投影方法需要创建3.现在是对当前地图的动态投影转换。
Geoserver发布步骤(版本:geoserver-2.2-RC1.exe)1.GeoServer地图数据目录(Data Directory)首先需要将地图数据文件(shp地图数据文件)复制到GeoServer的数据目录(安装GeoServer的时候所指定的地图数据目录)下面,因为只有将地图数据放到此目录下,GeoServer后台才能发现shp的地图数据文件(建议使用英文命名地图数据文件)。
需要部署的地图数据必须放置在上面GeoServer提供的地图数据目录之下,如下图示就是将待部署发布的shp格式地图数据放在在GeoServer地图数据目录下名为“country”的目录中的。
这里的“country”需要特别注意,在使用GeoServer进行地图数据部署发布的时候(创建存储器)需要使用到此名字(country)。
(Data文件夹下)2.工作空间(workspace)要发布地图数据为WMS服务,首先得建立工作空间(也可以使用现有的工作空间),然后建立数据存储器,最后在存储器里面发布地图数据。
要想创建工作空间可以直接通过管理平台界面的“Add new workspace”进入工作空间创建界面,如下图所示:3.存储器(store)在存储器管理界面中点击“Add new Store”就可以导航到创建存储器界面,可以完成存储器到地图数据目录的映射,为后面发布地图图层做准备。
按照GeoServer的约定一个数据存储器可以部署一个独立的shp格式地图数据文件,也可以部署一个目录的shp格式地图数据格式。
通常我们使用的是“Directory of Spatial files”,也就是以目录为单位进行shp格式地图数据的部署。
“Shapefile”为单独shp格式地图数据部署下图为添加存储器的界面:需要特别注意就是“URL”,这里指向的就是存放需要部署的地图数据的目录,此地址的格式为:“file:” + “GeoServer的地图数据目录”,比如说地图数据放在D:\Program Files\GeoServer 2.2-RC1\data_dir\data\country 下,那么在建立存储器的时候的URL应该为file:data/country 。
Geoserver使用配置●安装:点击geoserver-2.1.1.exe进行安装,安装中设置用户名,密码,及端口号,安装过程略。
●启动:1、在所有程序中找到geoserver目录,在子目录中点击start geoserver以服务方式启动2、进入geoserver安装目录,打开bin文件夹,点击startup.bat以控制台启动。
●访问:服务启动后,在浏览器中输入http://localhost:8089(端口号,安装中配置)/geoserver进入geoserver页面。
●配置:1、在geoserver页面中输入用户名密码,点击登陆进入。
2、添加workspaces点击工作空间[workspaces]项,打开工作空间(workspaces)页面,这里列出已有的工作空间,点击[add new workspace]如图1-2-1,打开添加工作空间界面图1-2-2,输入工作空间名称和命名空间,点击提交完成。
(图1-2-1)(图1-2-2)3、添加store点击[stores]项,打开数据库配置界面(图1-3-1),点击[Add new store],进入store添加界面(图1-3-2),这里可以添加shp格式地图及连接postGis 和oracle数据库等,这里我们添加TIFF图片作为地图数据,点击[GeoTIFF]进入添加TIFF界面(图1-3-3),这里输入数据库名,点击Browse在弹出界面中输入TIFF文件路径(图1-3-4)选择后点击保存完成添加。
(图1-3-1)(图1-3-2)(图1-3-4)(图1-4-1)(图1-3-3)4、图层发布点击[layers]项,这里有列出已发布的图层,点击[Add new resouce](图1-4-1),在new Layer中选择已加数据库,选择后会列出该数据库的所有图层(图1-4-2),找到准备发布图层,点击[publish],进入图层发布界面,输入名称和标题(图1-4-3),输入该图层坐标系(图1-4-4),这里会自动生成图层边界坐标(图1-4-5),如没有生成可点击[compute from data]和[Compute from native bounds]生成坐标范围,点击保存完成发布。
Geoserver(2.0.1)地图服务器添加.shp类型地图方法一、设置自定义style1、打开GeoServer界面,点击Styles,如图1图12、进入新页面后,点击Add new style,如图2图23、在新打开的页面,Name命名为mystyle,在代码区添加代码(附加代码1),添加代码后,点击页面中的Validate按钮,如果代码没有问题,在页面的顶部会提示“No validation errors”,然后点击Submit提交,如图3图3也可以直接导入styles文件,如下图,点击SLD file的浏览按钮,导入myStyles.sld文件,然后点击Upload,上传成功后点击Validate检查代码,按Submit提交,步骤和上面的相同,如图4图4二、添加地图1、style设置成功后,点击界面中的Stores,添加地图,如图5图52、打开新页面后,点击Add new Store,如图6图63、打开新页面,选择添加地图的格式为.shp,如图7图74、点击后,开始设置地图名称、路径等信息,注意,地图文件的路径中千万不要有中文,而且文件名称也必须是英文或者拼音,否则地图无法显示,这步是关键,如图8,设置完毕别忘了点保存图85、点击Save后,点击New Layer chooser界面中的publish,如图9图96、点击publish后,进入如图10的界面图10界面中有几处要进行设置,如图11图11这时先不要点击Save,点击界面顶部的Publishing,如图12图12进入后,选择上面自定义的Style,这步是关键,如图13图13最后点击页面下面的Save,地图添加完成,可以点击左面菜单中的Layer Preview,如图14图14在打开的页面中找到刚刚添加的图层,点击OpenLayers,如图15图15最终显示效果,如图16图16三、设置图层组1、按照上面的步骤添加多个图层后,可以将多个图层编程一组,首先点击左侧菜单中的Layer Groups,如图17图17点击后,出现如图18的界面,点击Add new layer group图18点击后出现如图19的界面,设置图层组的名称图19点击Submit后,弹出Layer Group页面,点击Add Layer,添加上面已经添加成功的地图,如图20图20添加完图层,在Find输入框中输入EPSG:4326,点击Generate Bounds按钮设置Min X和MinY,最后点击Save,如图21图21最后进入预览界面,找到刚刚添加的组,点击OpenLayers 预览,效果如图22图22附加代码1:<?xml version="1.0" encoding="GB2312"?><sld:StyledLayerDescriptorxmlns="/sld"xmlns:sld="/sld"xmlns:ogc="/ogc"xmlns:gml="/gml" version="1.0.0"><sld:UserLayer><sld:LayerFeatureConstraints><sld:FeatureTypeConstraint/></sld:LayerFeatureConstraints><sld:UserStyle><sld:Name>Default Styler</sld:Name><sld:Title/><sld:IsDefault>1</sld:IsDefault><sld:FeatureTypeStyle><sld:Name>simple</sld:Name><sld:FeatureTypeName>Feature</sld:FeatureTypeName><sld:SemanticTypeIdentifier>generic:geometry</sld:SemanticTypeIdentifier> <sld:SemanticTypeIdentifier>simple</sld:SemanticTypeIdentifier><sld:Rule><sld:LineSymbolizer><sld:Stroke><sld:CssParameter name="stroke">#1B9E77</sld:CssParameter></sld:Stroke></sld:LineSymbolizer><sld:TextSymbolizer><sld:Label><ogc:PropertyName>NAME</ogc:PropertyName></sld:Label><sld:Font><sld:CssParameter name="font-family">宋体</sld:CssParameter><sld:CssParameter name="font-size">12.0</sld:CssParameter><sld:CssParameter name="font-style">normal</sld:CssParameter><sld:CssParameter name="font-weight">normal</sld:CssParameter></sld:Font><sld:LabelPlacement><sld:LinePlacement><sld:PerpendicularOffset>10.0</sld:PerpendicularOffset></sld:LinePlacement></sld:LabelPlacement><sld:Fill><sld:CssParameter name="fill">#000000</sld:CssParameter></sld:Fill><sld:VendorOption name="spaceAround">2</sld:VendorOption><sld:VendorOption name="group">yes</sld:VendorOption></sld:TextSymbolizer></sld:Rule></sld:FeatureTypeStyle></sld:UserStyle></sld:UserLayer></sld:StyledLayerDescriptor>附加代码2:(地图中是Arial字体时使用下面的style代码,charset 设置为GB2312)<?xml version="1.0" encoding="UTF-8"?><sld:StyledLayerDescriptorxmlns="/sld"xmlns:sld="/sld" xmlns:ogc="/ogc" xmlns:gml="/gml" version="1.0.0"><sld:UserLayer><sld:LayerFeatureConstraints><sld:FeatureTypeConstraint/></sld:LayerFeatureConstraints><sld:UserStyle><sld:Name>Default Styler</sld:Name><sld:Title/><sld:IsDefault>1</sld:IsDefault><sld:FeatureTypeStyle><sld:Name>simple</sld:Name><sld:FeatureTypeName>Feature</sld:FeatureTypeName><sld:SemanticTypeIdentifier>generic:geometry</sld:SemanticTypeIdentifier><sld:SemanticTypeIdentifier>simple</sld:SemanticTypeIdentifier><sld:Rule><sld:LineSymbolizer><sld:Stroke><sld:CssParameter name="stroke">#1B9E77</sld:CssParameter></sld:Stroke></sld:LineSymbolizer><sld:TextSymbolizer><sld:Label><ogc:PropertyName>FNODE_</ogc:PropertyName></sld:Label><sld:Font><sld:CssParameter name="font-family">Arial</sld:CssParameter><sld:CssParameter name="font-size">12.0</sld:CssParameter><sld:CssParameter name="font-style">normal</sld:CssParameter> <sld:CssParameter name="font-weight">normal</sld:CssParameter> </sld:Font><sld:LabelPlacement><sld:LinePlacement><sld:PerpendicularOffset>10.0</sld:PerpendicularOffset></sld:LinePlacement></sld:LabelPlacement><sld:Fill><sld:CssParameter name="fill">#000000</sld:CssParameter></sld:Fill><sld:VendorOption name="spaceAround">2</sld:VendorOption><sld:VendorOption name="group">yes</sld:VendorOption></sld:TextSymbolizer></sld:Rule></sld:FeatureTypeStyle></sld:UserStyle></sld:UserLayer></sld:StyledLayerDescriptor>。