GeoServer 学习手册
GeoServer Eclipse 搭建
矢量数据库搭建
安装数据库
sudo apt-get install postgresql postgresql-contrib postgis postgresql-9.1-postgis
安装完毕,我们需要更改postgres用户的密码,否则我们就没法使用这个数据库服务器。以postgres 这个系统用户的身份运行psql命令,在终端中输入如下:
sudo su postgres -c psql template1
这时候会出现新的提示符,输入下面两个命令,用新密码替换<***password***>:
ALTER USER postgres WITH PASSWORD ' <***password***> ';
b)创建用户及数据库
postgres# CREATE USER zuefir WITH PASSWORD 'xxxx';
postgres# CREATE DATABASE osm;
postgres# GRANT ALL PRIVILEGES ON DATABASE osm to zuefir;
c)为数据库添加空间扩展
CREATE EXTENSION postgis;
-- Enable Topology
CREATE EXTENSION postgis_topology;
-- fuzzy matching needed for Tiger
CREATE EXTENSION fuzzystrmatch;
-- 地理编码
CREATE EXTENSION postgis_tiger_geocoder;
-- 用于存储属性tags,key-value
CREATE EXTENSION hstore;
修改PostgreSQL数据库的默认用户postgres的密码
2.PostgreSQL登录(使用psql客户端登录)
root@server2-virtual-machine:~# sudo -u postgres psql
//其中,sudo -u postgres 是使用postgres 用户登录的意思
//PostgreSQL数据默认会创建一个postgres的数据库用户作为数据库的管理员,密码是随机的,所以这里
//设定为'postgres'
3.修改PostgreSQL登录密码:
postgres=# ALTER USER postgres WITH PASSWORD 'postgres';
//postgres=#为PostgreSQL下的命令提示符
4.退出PostgreSQL psql客户端
postgres=# \q
[代码说明]
‘#’和’#'之前的字符是系统提示符,’postgres=#’是psql客户端的提示符,红色字符为输入命令(本文其它部分亦如此);
[功能说明]
PostgreSQL数据默认会创建一个postgres的数据库用户作为数据库的管理员,密码是随机的,我人需要修改为指定的密码,这里设定为’postgres’
修改linux系统的postgres用户的密码
1.删除PostgreSQL用户密码
root@server2-virtual-machine:~# sudo passwd -d postgres
passwd: password expiry information changed.
//passwd -d 是清空指定用户密码的意思
2.设置PostgreSQL用户密码
PostgreSQL数据默认会创建一个linux用户postgres,通过上面的代码修改密码为'postgres’(这取决于
第二步中的密码,只要与其相同即可)。
现在,我们就可以在数据库服务器上用postgres帐号通过psql或者pgAdmin等等客户端操作数据库了。
root@server2-virtual-machine:~#sudo -u postgres passwd
输入新的UNIX 密码:
重新输入新的UNIX 密码:
passwd:已成功更新密码
修改PostgresSQL数据库配置实现远程访问
root@server2-virtual-machine:~# vi /etc/postgresql/9.1/main/postgresql.conf
1.监听任何地址访问,修改连接权限
#listen_addresses = ‘localhost’改为listen_addresses = ‘*’
2.启用密码验证
#password_encryption = on改为password_encryption = on
3.可访问的用户ip段
root@server2-virtual-machine:~# vi /etc/postgresql/9.1/main/pg_hba.conf,并在文档末尾加上以下内容
# to allow your client visiting postgresql server
host all all 0.0.0.0 0.0.0.0 md5
4.重启PostgreSQL数据库
root@server2-virtual-machine:~# /etc/init.d/postgresql restart
管理PostgreSQL用户和数据库
1.登录postgre SQL数据库
root@server2-virtual-machine:~# psql -U postgres -h 127.0.0.1
2.创建新用户zhaofeng,但不给建数据库的权限
postgres=# create user “zhaofeng”with password ‘123456’nocreatedb;
//注意用户名要用双引号,以区分大小写,密码不用
3.建立数据库,并指定所有者
postgres=# create database “testdb”with owner=”zhaofeng”;
4.在外部命令行的管理命令
root@server2-virtual-machine:~# -u postgres createuser -D -P test1
//-D该用户没有创建数据库的权利,-P提示输入密码,选择管理类型y/n
root@server2-virtual-machine:~# -u postgres createdb -O test1 db1
//-O设定所有者为test1
安装postgresql数据库pgAdmin3客户端管理程序
root@server2-virtual-machine:~# apt-get install pgadmin3
添加PostGIS功能到数据库,执行如下命令
psql -U postgres -d osm -f “你PostgreSQL安装路径/share/contrib/postgis-2.1/postgis.sql”添加EPSG: 900913支持
psql -U postgres -d osm -f “本地的文件路径/900913.sql”
900913.sql没有可以在osm2pgsql的github中下载到
添加OSM数据到数据库
下载github上的osm2pgsql中的default.style文件并拷贝到本地osm2pgsql的x64目录中,把下载的chain.osm.bz2文件解压得到的chain.osm文件也拷贝到osm2pgsql的x64目录中。
新打开一个命令行进入osm2pgsql的x64目录中,执行如下命令:
osm2pgsql -U postgres -d osm -s -S ./default.style ./china.osm
一般情况下会报一个”Error reading style file line 151 (fields=4) flag ‘phstore’is invalid in non-hstore mode“的错误,
这说明确实hstore表示所以我们需要添加这个标识。点击pgAdmin III 工具栏中的SQL标识
在弹出的SQL编辑器中输入:create extension hstore;命令点击顶部工具栏中的
这时还需要为命令添加一个“–hstore “选项完整的执行命令是:“osm2pgsql -U postgres -d osm –hstore -s -S ./default.style ./china.osm “这样就正确了。
后面导入可以不添加S ./default.style
GeoServer导入eclipse
下载GeoServer 源码https://www.360docs.net/doc/8f451808.html,/
cd 进入src目录
mvn clean install
成功之后生成导入eclipse的文件
mvn eclipse:eclipse
GeoServer二次开发
GeoServer相关概念的介绍
Geoserver是一个功能齐全,遵循OGC开放标准的开源WFS-T和WMS服务器。利用Geoserver可以把数据作为maps/images来发布(利用WMS来实现)也可以直接发布实际的数据(利用WFS来实现),同时也提供了修改,删除和新增的功能(利用WFS-T)。
GeoServer, 顾名思义,是一个Server. 它是开源的,允许用户查看和编辑地理数据。这是地理信息系统(GIS) 领域。GeoServer 是符合OGC 规范的一个全功能的WFS-T 和WMS server。
GeoServer能够发布的数据类型:
l 地图或影象——应用WMS,
l 实时数据——应用WFS,
l 用户更新、删除和编辑的数据——应用WFS-T。
相关概念的:
WMS: Web Map Service(Web地图服务)
l 利用具有地理空间位置信息的数据制作地图。其中将地图定义为地理数据可视的表现。这个规范定义了三个操作:
n GetCapabitities 返回服务级元数据,它是对服务信息内容和要求参数的一种描述;
n GetMap 返回一个地图影像,其地理空间参考和大小参数是明确定义了的;
n GetFeatureInfo(可选)返回显示在地图上的某些特殊要素的信息
WFS: Web Feature Service(Web要素服务)
l Web 地图服务返回的是图层级的地图影像,
l Web要素服务(WFS)返回的是要素级的GML编码,并提供对要素的增加、修改、删除等事务操作,是对Web地图服务的进一步深入。OGC Web要素服务允许客户端从多个Web要素服务中取得使用地理标记语言(GML)编码的地理空间数据,定义了五个操作:
n GetCapabilites 返回Web要素服务性能描述文档(用XML描述);
n DescribeFeatureType 返回描述可以提供服务的任何要素结构的XML文档;
n GetFeature 一个获取要素实例的请求提供服务;
n Transaction 为事务请求提供服务;
n LockFeature 处理在一个事务期间对一个或多个要素类型实例上锁的请求。
WFS-T: Web Map Service-Transactional. 允许用户以可传输的块编辑地理数据。
WCS:Web Coverage Service(Web覆盖服务)
Web 覆盖服务(WCS)面向空间影像数据,它将包含地理位置值的地理空间数据作为“覆盖(Coverage)”在网上相互交换。
l 网络覆盖服务由三种操作组成:GetCapabilities,GetCoverage和DescribeCoverageType:
n GetCapabilities 操作返回描述服务和数据集的XML文档。
n GetCoverage操作是在GetCapabilities确定什么样的查询可以执行、什么样的数据能够获取之后执行的,它使用通用的覆盖格式返回地理位置的值或属性。
n DescribeCoverageType 操作允许客户端请求由具体的WCS服务器提供的任一覆盖层的完全描述。
GML: Geography Markup Language.一种用于描述地理数据的XML。OGC——Open Geospatial Consortium——开放地理信息联盟
总之,GeoServer 是您需要显示地图在网页的那些工具的当中一个,用户可以缩放并且移动。可以与一些客户端联合使用,比如:MapBuilder (for web pages), UDig, GVSig,等等。对标准的使用允许信息从GeoServer 到其它地理信息可以很容易地被结合。
如果你对GeoServer发出一个WMS请求,你就可能得到如下的一张图:
查看Demo
在welcome界面中单击demo page链接,进入页面后单击WFS-T链接就可以启动一个名叫MapBuilder的基于Javascript的地图地图编辑器。启动MapBuilder后我们可以看到一张样图,那就就从它开始吧!用其提供的工具对图进行修改。自己练习。
关于geoserver开发
geoserver只能用j2ee开发
geoserver是符合ogc wms/wfs/wcs标准的地图服务器,建设一套完整的webgis系统还需要客户端配合,mapbuilder和openlayers是非常好的两个选择。对于较大的项目,空间数据库也是必不可少的,geoserver支持商业的oracle、db2,开源的postgis、mysql。
扯得更远一点,geoserver支持google map和google earth。
Geotools
外文官网https://www.360docs.net/doc/8f451808.html,/
Geotools是开源的Java代码库,在GIS中提供对地理空间数据的标准操作。简单说,它就是一个中间件,提供的功能符合OGC规范,且与GeoAPI有密切的联系。它支持的数据格式有Shapefile、GML、WFS、PostGIS、Oracle Spatial、ArcSDE、MySQL、GeoMedia、MapInfo等。
利用Geotools能够实现:
l 格网覆盖Grid coverages——栅格数据,
l 坐标系统转换Coordinate Transformation,
l 数据渲染Renderers,
l 格式化Styling——符号化数据集等功能。
WFS地址
把下面地址中的HighwayInterchange改成自己创建的featuretype的名字,在浏览器中查看,WFS的URL,
http://localhost:8080/geoserver/wfs?request=getfeature&service=wfs&version=1.0.0&typ ename=States
下面地址的youtian改成自己的FeatureType名字,就是自己的WFS地址
http://localhost:8080/geoserver/wms/kml_reflect?layers=youtian
Openlayers
Openlayers dom结构
OpenLayers项目分析——(一)项目介绍
(OpenLayers JavaScript Mapping Library)
(一)项目介绍
网址:https://www.360docs.net/doc/8f451808.html,/
OpenLayers 是由MetaCarta公司开发的,用于WebGIS客户端的JavaScript包,目前的最高版本是2.5 V,通过BSD License 发行。它实现访问地理空间数据的方法都符合行业标准,比如OpenGIS的WMS和WFS规范,OpenLayers采用纯面向对象的JavaScript 方式开发,同时借用了Prototype框架和Rico库的一些组件。
采用OpenLayers作为客户端不存在浏览器依赖性。由于OpenLayers采用JavaScript 语言实现,而应用于Web浏览器中的DOM(文档对象模型)由JavaScript实现,同时,Web浏览器(比如IE,FF等)都支持DOM 。
OpenLayers APIs采用动态类型脚本语言JavaScript编写,实现了类似与Ajax功能的无刷新更新页面,能够带给用户丰富的桌面体验(它本身就有一个Ajax类,用于实现Ajax 功能)。
目前,OpenLayers所能够支持的Format有:XML、GML、GeoJSON、GeoRSS、JSON、KML、WFS、WKT(Well-Known Text)。在OPenlayers.Format名称空间下的各个类里,实现了具体读/写这些Format的解析器。
OpenLayers所能够利用的地图数据资源“丰富多彩”,在这方面提供给拥护较多的选择,比如WMS、WFS、GoogleMap、KaMap、MSVirtualEarth、WorldWind等等。当然,也可以用简单的图片作为源。
第一次使用OpenLayers:
先到它的官方网站https://www.360docs.net/doc/8f451808.html,下载他的压缩包,解压后可以看到其中的一些目录和文件,拷贝目录下的OpenLayer.js、根目录下的lib目录、根目录下的img目录到你网站的Scripts目录下(当然,这个只是例子,您网站的目录结构您自己说得算,只要保证OpenLayers.js,/lib,/img在同一目录中即可)。然后,创建一个index.html作为查看地图的页面,导入OpenLayers.js和你将要创建的js。
我们以加载WMS和GML文件为例。
var lon = 5; //x-axis coodinate in map units
var lat = 40; //y-axis coordinate in map units
var zoom = 5; //number of zoom levels
var map, layer; //声明变量map、layer;等同于var map = null; var layer = null;
map = new OpenLayers.Map('map');
//实例化一个地图类OpenLayers.Map
layer = new https://www.360docs.net/doc/8f451808.html,yer.WMS( "OpenLayers WMS",
"https://www.360docs.net/doc/8f451808.html,/wms/vmap0", {layers: 'basic'} );
//以WMS的格式实例化图层类https://www.360docs.net/doc/8f451808.html,yer
map.addLayer(layer);
map.zoomToExtent(newOpenLayers.Bounds(-3.922119,44.335327,
4.866943,49.553833));
//在Map对象上加载Layer对象,并用map.zoomToExtent函数使地图合适地显示
map.addLayer(new https://www.360docs.net/doc/8f451808.html,yer.GML("GML", "gml/polygon.xml"));
//再在刚加载的WMS文件上,加载一GML文件
剩下的工作就是,加上一些控件OpenLayers.Control之类的东西,比如LayerSwitcher 等。它们会在地图浏览的“窗口”上增加一些工具栏或是“按钮”,增加互动性和功能性。
当然,Openlayers中的东西远不止这些,至于它的框架分析、APIs实现机制,会在后续文章中说出。写这个的过程,也是一个学习的过程,其中难免有不妥之处,热烈欢迎大家批评指正,相互交流。
OpenLayers 项目完整分析——(二)源代码总体结构分析
(二)源代码总体结构分析
通过前面的项目介绍,我们大概已经知道Openlayers是什么,能够做什么,有什么意义。接下来我们分析它怎么样,以及怎样实现的等问题。
这个图是从它的文档上截取的,旨在从感官上认识一下OpenLayers的类。下面分别介绍(文档中的类是按字母顺序排列的,也按这个顺序说吧):
我们看到在类的顶层“高高在上”的是OpenLayers,它为整个项目实现提供名称空间(JavaScript语言没有名称空间一说,但是它确实有自己的机制实现类似的功能,后面会说明),它直接拥有一常量VERSION_NUMBER,以标识版本。
Ajax:顾名思义,用于实现Ajax功能,只是OpenLayers的开发者们把它单独写到一个类里了,其中用到了Prototype.js框架里的一些东西。同时,设计的时候也考虑了跨浏览器的问题。
BaseTypes:这里定制了OpenLayers中用到的string,number和function。比如,OpenLayers. String. startsWith,用于测试一个字符串是否一以另一个字符串开头;OpenLayers. Number. limitSigDigs,用于限制整数的有效数位;OpenLayers. Function.bind,用于把某一函数绑定于对象等等。
Console:OpenLayers.Console,此名称空间用于调试和把错误等输出到“控制台”上,需要结合使用../Firebug/firebug.js。
Control:我们通常所说的控件类,它提供各种各样的控件,比如上节中说的图层开关LayerSwitcher,编辑工具条EditingToolbar等等。加载控件的例子:
class = new OpenLayers.Map('map', { controls: [] });
map.addControl(new OpenLayers.Control.PanZoomBar());
map.addControl(new OpenLayers.Control.MouseToolbar());
Events:用于实现OpenLayers的事件机制。具体来说,OpenLayers中的事件分为两种,一种是浏览器事件,例如mouseup,mousedown之类的;另外一种是自定义的,如addLayer之类的。OpenLayers中的事件机制是非常值得我们学习的,后面将具体讨论。
Feature:我们知道:Feature是geography和attributes的集合。在OpenLayers 中,特别地OpenLayers.Feature类由一个marker和一个lonla组成。OpenLayers. Feature.WFS与OpenLayers. Feature. Vector继承于它。
Format:此类用于读/写各种格式的数据,它的子类都分别创建了各个格式的解析器。这些格式有:XML、GML、GeoJSON、GeoRSS、JSON、KML、WFS、WKT(Well-Known Text)。
Geometry:怎么翻译呢,几何?是对地理对象的描述。它的子类有Collection、Curve、LinearRing、LineString、MultiLineString、MultiPoint、MultiPolygon、Point、Polygon、Rectangle、Surface,正是这些类的实例,构成了我们看到的地图。需要说明的是,Surface 类暂时还没有实现。
Handler:这个类用于处理序列事件,可被激活和取消。同时,它也有命名类似于浏览器事件的方法。当一个handler被激活,处理事件的方法就会被注册到浏览器监听器listener,以响应相应的事件;当一个handler被取消,这些方法在事件监听器中也会相应的被取消注册。Handler通过控件control被创建,而control通过icon表现。
Icon:在计算机屏幕上以图标的形式呈现,有url、尺寸size和位置position3个属性。一般情况,它与OpenLayers.Marker结合应用,表现为一个Marker。
Layer:图层。
Map:网页中动态地图。它就像容器,可向里面添加图层Layer和控件Control。实际上,单个Map是毫无意义的,正是Layer和Control成就了它。
Marker:它的实例是OpenLayers.LonLat 和OpenLayers.Icon的集合。通俗一点儿说,Icon附上一定的经纬度就是Marker。
Popup:地图上一个小巧的层,实现地图“开关”功能。使用例子:
Class = new OpenLayers.Popup("chicken",
new OpenLayers.LonLat(5,40),
new OpenLayers.Size(200,200),
"example popup",
true);
map.addPopup(popup);
Renderer:渲染类。在OpenLayers中,渲染功能是作为矢量图层的一个属性存在的,我们称之为渲染器,矢量图层就是通过这个渲染器提供的方法将矢量数据显示出来。以SVG和VML为例,继承关系是这样的:
至于OpenLayers. Renderer. Elements为什么要存在,以及它的渲染机制,后面会说。
Tile:设计这个类用于指明单个“瓦片”Tile,或者更小的分辨率。Tiles存储它们自身的信息,比如url和size等。它的类继承关系如下:
Util:“跑龙套”的类。
写到这里,可以看到OpenLayers 的类缠绕的挺麻烦的,接下来的文章将从代码部分分析更细部的东西。
OpenLayers 项目分析——(三)BaseTypes
(三)BaseTypes :定义底层类与定制JS内置类
先说基类型BaseTypes下,OpenLyers构建的“自己”的类。它们分别是:OpenLayers. LonLat、OpenLayers. Pixel、OpenLayers.Size、OpenLayers. Element、OpenLayers. Bounds和OpenLayers. Class。下面分别介绍:
OpenLayers. LonLat:经纬度类,其实例为地图提供一经度、纬度对,即位置。有两个属性lon(x-axis coodinate)和lat(y-axis coordinate)。这里说明一下,怎么经纬度又与x轴坐标、y轴坐标纠缠在一起?是这样:当地图是在地理坐标投影下,它就是经纬度;不然就是地图上的x/y轴坐标。除构造函数外,实现了五个函数:
toShortString:function()把坐标转换为字符串;
clone:function()复制一个LonLat对象;
Add:function(lon,lat)改变现有地图的位置;
return new OpenLayers.LonLat(this.lon + lon, https://www.360docs.net/doc/8f451808.html,t + lat);
equals:function(ll)判断传入的lon,lat对是否与当前的相等;
wrapDateLine:function(maxExtent)复制下(lon,lat),指定为边界的最大范围。
OpenLayers. Pixel:像素类,在显示器上以(x,y)坐标的的形式呈现像素位置。有两个属性x坐标、y坐标,提供四个成员函数:
clone:function() 拷贝像素;
equals:function(px) 判断两像素是否相等;
add:function(x,y) 改变(x,y)使其成为新像素;
return new OpenLayers.Pixel(this.x + x, this.y + y);
offset:function(px)调用add()使像素位置发生偏移。
newPx = this.add(px.x, px.y);
OpenLayers.Size:也有两个属性,宽度width、高度height。实现了两个成员函数:clone:function()和equals:function(sz)不多说了。
OpenLayers. Element:在这个名称空间下,开发者写了好多API,有visible、toggle、hide、show、remove、getHeight、getDimensions和getStyle,以实现元素的显示、隐藏、删除、取得高度,取得范围等功能。以getHeight函数为例我们看看它的代码:
getHeight: function(element) {
element = OpenLayers.Util.getElement(element);
return element.offsetHeight;
}
这里涉及到文档对象模型DOM的一些东西,函数本身很简单,最后返回元素的高度。
OpenLayers. Bounds:在这个类中,数据以四个浮点型数left, bottom, right, top的格式存储,它是一个像盒子一样的范围。它实现了三个描述一个Bound的函数:toString、toArray和toBBOX。其中,toString的代码如下:
toString:function() {
return ( "left-bottom=(" + this.left + "," + this.bottom + ")"
+ " right-top=(" + this.right + "," + this.top + ")" );
}
结果类似于"left-bottom=(5,42) right-top=(10,45)"
三个Bound数据来源函数:fromString、fromArray和fromSize;
五个获取对象属性的函数:getWidth、getHeight、getSize、getCenterPixel、getCenterLonLat;
余下还有:add:function(x,y),extend:function(object),containsLonLat,containsPixel,contains,intersectsBounds,containsBounds,determineQuadrant,wrapDateLine。以函数extend为例,看看源码。
extend:function(object) {
var bounds = null;
if (object) {
switch(object.CLASS_NAME) {
case "OpenLayers.LonLat":
bounds = new OpenLayers.Bounds (object.lon, https://www.360docs.net/doc/8f451808.html,t, object.lon, https://www.360docs.net/doc/8f451808.html,t); break;
case "OpenLayers.Geometry.Point":
bounds = new OpenLayers.Bounds(object.x, object.y,object.x, object.y);
break;
case "OpenLayers.Bounds":
bounds = object;
break;
}
if (bounds) {
if ( (this.left == null) || (bounds.left < this.left)) {
this.left = bounds.left;}
if ( (this.bottom == null) || (bounds.bottom < this.bottom) ) {
this.bottom = bounds.bottom;}
if ( (this.right == null) || (bounds.right > this.right) ) {
this.right = bounds.right;}
if ( (this.top == null) || (bounds.top > this.top) ) {
this.top = bounds.top;}
}
}
}
可以看出,对Bounds的扩展可以有三种形式:point, lonlat, 或者bounds,计算的条件是零坐标是在屏幕的左上角。
OpenLayers. Class:这个类是OpenLayers 中的“大红人”,只要创建其他类就得用它,同时也实现了多重继承。用法如下:
单继承创建:class = OpenLayers.Class(prototype);
多继承创建:class = OpenLayers.Class(Class1, Class2, prototype);
净说底层类了,对js内置类的扩展下回写。
OpenLayers 项目分析——(三)BaseTypes (续)
(三)BaseTypes:OpenLayers中定制JavaScript内置类
OpenLayers不仅“自己”写了一些底层的类,像上回说的那些都是。同时也定制了一些JS的一些内置类,即对JS内置类的扩展。这个扩展主要包含3类:String,Number,Function,存在于BaseTypes.js文件中。
String:OpenLayers对string类型定制了8个方法,分别是startsWith、contains、trim 和camelize;还有另外4个方法:String. startsWith、String. contains、String.trim和String.
Camelize,它们将会在3.0Version中被删除,可能是以前版本遗留下来的,这里就不说它们了。
//Test whether a string starts with another string.
startsWith: function(str, sub) {
return (str.indexOf(sub) == 0);
}
//Test whether a string contains another string.
contains: function(str, sub) {
return (str.indexOf(sub) != -1);
}
//Removes leading and trailing whitespace characters from a string.
trim: function(str) {
return str.replace(/^"s*(.*?)"s*$/, "$1");
}
//Camel-case a hyphenated string.
//Ex."chicken-head"becomes"chickenHead",
//and"-chicken-head"becomes"ChickenHead".
// “骆驼”化带有连字符的字符串。
camelize: function(str) {
var oStringList = str.split('-');
var camelizedString = oStringList[0];
for (var i = 1; i < oStringList.length; i++) {
var s = oStringList[i];
camelizedString += s.charAt(0).toUpperCase() + s.substring(1);
}
return camelizedString;
}
Number:
项目仅对number类型扩展了一个方法OpenLayers. Number. limitSigDigs(还有一个方法Number. limitSigDigs,同样在3.0中会删除)。
//Limit the number of significant digits on an integer.
limitSigDigs: function(num, sig) {
var fig;
if(sig > 0) {
fig = parseFloat(num.toPrecision(sig));
} else {
fig = 0;
}
return fig;
}
Function:
扩展了两个方法bind 和bindAsEventListener(同样存在Function.bind和Function. bindAsEventListener两个被“遗弃”的函数)。
//Bind a function to an object.
//Method to easily create closures with'this' altered.
bind: function(func, object) {
// create a reference to all arguments past the second one
var args = Array.prototype.slice.apply(arguments, [2]);
return function() {
// Push on any additional arguments from the actual function call.
// These will come after those sent to the bind call.
var newArgs = args.concat(
Array.prototype.slice.apply(arguments, [0])
);
return func.apply(object, newArgs);
}
}
//Bind a function to an object, and configure it to receive the event
//object as first parameter when called.
bindAsEventListener: function(func, object) {
return function(event) {
return func.call(object, event || window.event);
};
}
这里说说这两个方法。
首先看看bind方法,这是一个能够被Function的实例得到的方法,如下所示:
Function.prototype.bind = function() {
var _method = this, args = [], object = arguments[0];
for (var i = 1; i < arguments.length; i++)
args.push(arguments[i]);
return function(moreargs) {
for (var i = 0; i < arguments.length; i++)
args.push(arguments[i]);
return _method.apply(object, args);
}
};
_method 代表Function实例自身,bind可接收多个参数,不过它绑定是是第一个参数,该参数是一个function或者是调用环境,后面的都是执行函数的参数。
Function.prototype.bindAsEventListener = function(object) {
var _method = this;
return function(event) {
return _method.call(object, event || window.event);
}
};
这里只是将object作为_method 引用的环境,就是说现在可以在object对象中这样使用,
object. _method (event||window.event)。
也许你注意到了Funtion扩展的两个方法一个用到了call而另一个用的是apply,其实这两个并没有什么太大的区别,只是参数传递的形式不同,如若没有参数要传递,那么这两个是一样的:
apply(obj[,argumentsArray]),call(obj[,arg1[,arg2…]])。
OpenLayers项目分析——(四)空间数据的组织与实现
提到数据,先思考几个问题:
GIS,核心是什么?数据?平台?服务?
空间数据的特征、表达方式?
地理数据的模型(结构)?
在OpenLayers空间数据的实现主要存在OpenLayers. Geometry类及其子类中。我们先看下面的两个图片,表现了这些类的继承关系。从图上可以清楚的看出MultiPoint、Polygon和MultiLineString 这三个类实现了多重继承,即直接继承于Geometry类,又继承于Collection类(为什么要这样实现?)。
OpenLyers对于Geometry对象的组织是这样的,其实最基础的就是点,然后MultiPoint由点构成,继承自Openlayers.Geometry.Collection,而
LinearRing,LineString均由Point构成,
Polygon由OpenLayers.Geometry.LinearRing构成。OpenLyers在解析数据时候,将所有的面、线包含的点全部都对象化为Openlayers.Geometry.Point。有人测试这里面存在问题:解析矢量数据慢,甚至在点数多的情况下,会使浏览器“崩溃”掉。想想是有道理的:OpenLyers在解析数据时候,将所有的面、线包含的点全部都对象化为点对象t,并首先将所有的对象读取到内存,得到一个Feature的集合,然后将这个集合提交给渲染器进行渲染。这样渲染起来当然慢了。至于为什么要这样,可能是OpenLayers项目本身在标准上,在框架结构上做的比较好,更细部的东西还得优化呀。可话又说回来,OpenLayers作为一个优秀的开源JS框架,学习借鉴的意义要比应用的意义大吧。
下面以Point和Collection为例来说明其内部实现过程,先看Point。
我们知道一个点就是一个坐标对(x,y)嘛,当然它得有两个属性x,y。在point类里,提供了六个成员函数,分别是clone、distanceTo、equals、move、rotate和resize。看看计算两点距离的函数是怎么写的:
distanceTo: function(point) {
var distance = 0.0;
if ( (this.x != null) && (this.y != null) &&
(point != null) && (point.x != null) && (point.y != null) ) {
GeoServer地图开发解决方案及OpenScales的地图网站开发
https://www.360docs.net/doc/8f451808.html, 推荐类似课程北风网:基于OpenScales的地图网站全程开发(FLEX+GIS等技术结合)学习地址:https://www.360docs.net/doc/8f451808.html,/goods.php?id=114 GeoServer 是OpenGIS Web 服务器规范的J2EE 实现的社区开源项目,利用GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过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.6 Tomcat和Java jdk都可以通过其官方网站下载到,详细请查看本文末的资源表。如本人电脑中就是将JDK安装在D盘下的,详细如下图: 如果是使用最新版本的GeoServer 2.0.2版本的就不需要安装Tomcat,GeoServer 2.0.2已经内置了HTTP服务器。 二、下载、安装GeoServer GeoServer 是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更多信息可以访问百度百科了解: https://www.360docs.net/doc/8f451808.html,/view/871332.htm 或官网了解: https://www.360docs.net/doc/8f451808.html,/display/GEOS/Welcome 。 安装GeoServer非常简单,由于GeoServer是Java编写的开源项目,故GeoServer 的运行需要有Java JDK的支持,也就是上面一步所安装Java JDK,在安装GeoServer 的同时就必须提供Java JDK的jre才能完成GeoServer的安装。
GeoServer地图开发解决方案
本文档原创来自:https://www.360docs.net/doc/8f451808.html,/beniao277 由Exlimit编辑 GeoServer 是OpenGIS Web 服务器规范的J2EE 实现的社区开源项目,利用GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过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.6
Tomcat和Java jdk都可以通过其官方网站下载到,详细请查看本文末的资源表。如本人电脑中就是将JDK安装在D盘下的,详细如下图: 如果是使用最新版本的GeoServer 2.0.2版本的就不需要安装Tomcat,GeoServer 2.0.2已经内置了HTTP服务器。 二、下载、安装GeoServer GeoServer 是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更多信息可以访问百度百科了解: https://www.360docs.net/doc/8f451808.html,/view/871332.htm或官网了解: https://www.360docs.net/doc/8f451808.html,/display/GEOS/Welcome。 安装GeoServer非常简单,由于GeoServer是Java编写的开源项目,故GeoServer 的运行需要有Java JDK的支持,也就是上面一步所安装Java JDK,在安装GeoServer 的同时就必须提供Java JDK的jre才能完成GeoServer的安装。
geoserver显示中文
1.shp文件以及shp文件存放 的路径都改成英文或者拼音。 2.新建Stores的时候编码方式 设置成gbk 或者g2312 3.很关键的一步,在uDig中调整地图的样式,某个图层上点击右键—-change style,在simplefeature的label中选择要显示的中文字段,然后set font 这里的字体要选择中文字体,字符集选择Chinese—gb2312 ok。这一步之后在uDig中显示的应该也是汉字了。
4.还是在刚才的对话框中选择xml 然后找到font节点
Geoserver环境部署
Geoserver环境部署 在服务器上先创建一个文件夹,将环境包(https://www.360docs.net/doc/8f451808.html,/s/1bnzyhlX)里面的以下文件先上传到服务器。(示例目录:/home/liuyong/map-software) 1.JDK1.8安装 切换到root账号
解压jdk后将其移动到/usr/local下 设置环境变量 在文档的最后输入以下内容: 执行以下命令查看是否成功。 重启机器看是否能够正常加载环境变量
重启后通过java –version查看java版本,通过echo $PATH查看环境变量是否正确。 2.Tomcat 8安装 切换到root账号 解压tomcat后将其移动到/usr/local/下 为方便记忆,设置tomcat8软链接 设置环境变量 打开profile
在文档最后输入以下内容: 设置tomcat环境变量 进入tomcat/bin目录,编辑catalina.sh文件,在# OS specific support. $var _must_ be set to either true or false.之前(大约97行)输入以下内容: 将tomcat添加到开机启动 设置startup.sh 打开startup.sh 在开头输入以下内容: 创建startup.sh软链接到rc.d/init.d/下面
查看tomcat8是否有可执行权限 如果没有使用chmod +x tomcat8添加。 使用chkconfig --add tomcat8添加到开机启动服务,然后使用chkconfig --list查看是否添加成功。 重启机器测试
GeoServer安装与部署
GeoServer安装与配置 目录 1、GeoServer介绍................................................................................... 错误!未定义书签。 2、java运行环境 ..................................................................................... 错误!未定义书签。 3、GeoServer安装................................................................................... 错误!未定义书签。 4、Udig安装 ............................................................................................ 错误!未定义书签。 5、启动GeoServer ................................................................................... 错误!未定义书签。 6、GeoServer配置与发布(最简发布)............................................... 错误!未定义书签。 7、修改发布图层的样式......................................................................... 错误!未定义书签。 8、发布图层组......................................................................................... 错误!未定义书签。 9、GeoServer与Oracle环境搭建 .......................................................... 错误!未定义书签。 10、缓存设置(还没弄)....................................................................... 错误!未定义书签。 1、GeoServer介绍 GeoServer 是OpenGIS Web 服务器规范的J2EE 实现的社区开源项目,利用GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过GeoServer 可以比较容易的在用户之间迅速共享空间地理信息. 搭建GeoServer环境需要安装GeoServer、Java JDK 。 GeoServer兼容WMS 和WFS 特性(有关WMS 和WFS内容详见文档“OGC标准”);支持PostGIS 、Shapefile 、ArcSDE 、Oracle 、VPF 、MySQL 、MapInfo ;支持上百种投影;能够将网络地图输出为jpeg 、gif 、png 、SVG 、KML 等格式;能够运行在任何基于J2EE/Servlet 容器之上;嵌入MapBuilder 支持AJAX 的地图客户端OpenLayers;除此之外还包括许多其他的特性。 关于GeoServer更多信息可以访问百度百科了解:或官网了解:display/GEOS/Welcome 。 2、java运行环境 GeoServer是一个java应用程序,因此需要安装java运行环境。 从java官网下载 点击安装jdk。 3、GeoServer安装 GeoServer既可以以window服务形式安装,也可以作为应用软件来安装。 1、从官网display/GEOS/Stable下载最新geoServer版本双击安装
Windows下GeoServer的安装与配置
Windows下GeoServer的安装 郭伟伟2010-4-18 网上看了很多资料,对GeoServer的安装大多采用Windows installer的方式,结果是出了很多问题。很多人问GeoServer的安装问题,把出错的一堆代码丢过来,这些问题本来都不该出现的,可由于系统环境或者其他问题总是会引起这样那样的问题。包括我第一次安装的时候也是出了不少问题,后来在导师的指点下很顺利地安装完成。看到这么多GeoServer的新手总是为此烦恼,特写此文章,避免大家在后来的工作中走弯路。 GeoServer官网的下载Download栏目下面有好几个版本可供选择,包括稳定版、最新版和老版本,选择你所需要的下载。在这里我打算以GeoServer1.7.5做示范,所以选择Older Releases,然后再选择GeoServer 1.7.5,打开这个页面你会看到GeoServer1.7.5、相关文档以及插件的下载。在这里要注意了,很多新手一看Windows Console Installer就激动了,下下来参照说明手册一路安装,结果就出现了开头描述的那么多问题。其实呢,手册中有很多细节问题可能被你忽略,这些细节将会导致这样那样的问题。所以,最方便也最合理的方式是自己安装Servlet 容器(这里我们选用Tomcat,而GeoServer自带的是Jetty就不好用),然后自己再部署GeoServer的压缩包。
思路清楚了我们也就明白了,这里需要下载Web Archive(GeoServer的压缩包,Servlet容器会自动展开)。同时我们也需要下载Tomcat6.0.20,以及JDK1.6.0。 下载好所有的东西后,我们首先安装JDK。 1安装与配置JDK 1.1安装JDK与JRE 首先运行下载的jdk-6-windows-i586.exe(根据你下载的版本不同,名字可能不同)。开始安装前先阅读协议,然后“接受”进入下一步,如下图: 接下来是选择JDK的安装目录,一般选择默认的即可,若你要更改目录也可以,但记得在后面的环境变量配置时配置正确的目录,如下图所示,点击“下一步”。
geoserver与OpenLayers配置入门
geoserver与OpenLayers配置入门 作者:lizongbo发表于:13:10. 星期六, 一月5th, 2008 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明。https://www.360docs.net/doc/8f451808.html,/archives/2008/01/05/61.html geoserver与OpenLayers配置入门 Word文档在:https://www.360docs.net/doc/8f451808.html,/docs/gis/geoserver_OpenLayers_Config.doc 因工作需要,这几天早对webgis进行摸索,总结如下: 2008年1月 目录 1 准备工作 4 1.1 需要用到的程序和资料 4 2 地图格式转换方式(一) 5 3 地图格式转换方式(二) 5 3.1 解压地图 5 3.2 打开地图 5 3.3 导出图层 6 3.4 转换MIF格式为SHP格式 6 4 GEOSERVER安装配置 6 4.1 GEOSERVER安装 6 4.2 配置地图 6 4.2.1 登录geoserver 7 4.2.2 配置数据7 4.2.3 新建数据集8 4.2.4 新建Feature Type 10 4.2.5 应用保存配置12 4.2.6 访问地图15 5 OPENLAYERS配置16 5.1 测试页面16 5.2 部署示例21 5.3 查看效果21 5.4 加上GOOGLEMAP图层21 5.4.1 申请Google 地图API 的key 21 5.4.1.1 将域名映射到本地21
5.4.2 编辑html 22 5.4.3 查看效果22 6 GEOSERVER高级设置23 6.1 自定义图层的STYLE 23 6.2 查看图层的字段信息26 6.3 在TOMCAT上部署GEOSERVER 27 6.4 自定义名称空间28 7 参考资料31 1 准备工作 相关资料文件下载 1.1 需要用到的程序和资料 1. JDK 1.6 : https://www.360docs.net/doc/8f451808.html,/software/java_se/jdk-6u3-windows-i586-p.exe 安装好JDK1.6 2. MapInfo Professional 6.4 SCP中文版或者8.5 SCP英文版 安装好Mapinfo 3. geoserver 1.5.4 或者1.6.0 Rc2 https://www.360docs.net/doc/8f451808.html,/sourceforge/geoserver/geoserver-1.5.4a.bin.zip https://www.360docs.net/doc/8f451808.html,/sourceforge/geoserver/geoserver-1.5.4a.src.zip https://www.360docs.net/doc/8f451808.html,/sourceforge/geoserver/geoserver-1.5.4a.war.zip https://www.360docs.net/doc/8f451808.html,/sourceforge/geoserver/geoserver-1.6.0-RC2-war.zip https://www.360docs.net/doc/8f451808.html,/sourceforge/geoserver/geoserver-1.6.0-RC2-pyramid-p lugin.zip https://www.360docs.net/doc/8f451808.html,/sourceforge/geoserver/geoserver-1.6.0-RC2-mysql-plu gin.zip 来源:https://www.360docs.net/doc/8f451808.html,/display/GEOS/Download 4. Openalyers 2.5 https://www.360docs.net/doc/8f451808.html,/download/OpenLayers-2.5.zip 来源:https://www.360docs.net/doc/8f451808.html,/
GeoServer基础教程
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 JDK GeoServer是基于Java的软件,运行的时候需要JDK的支持,如果你的系统中没有安装配置好JDK,请按照这篇博文(Windows下JDK下载及安装与配置)首先安装配置好JDK。如果已经安装配置好的直接进入下一步。 二、下载安装GeoServer 前往https://www.360docs.net/doc/8f451808.html,/display/GEOS/Stable下载最新稳定版的GeoServer,可以看到下载的时候根据系统的不同可以选择不同的安装文件: 对于windows,我们有两种选择,一个是使用二进制文件(binary),另一个是使用安装包进行安装。在这里,我推荐使用二进制文件,只需下载解压就能使用。当然,如果你使用windows installer也是一样的。 点击上图中的binary下载二进制文件的压缩包,解压后即可使用。 三、GeoServer基本操作 运行 切换到程序文件夹下的bin目录 双击startup.bat,开启服务。注意在使用过程中,这个窗口不能关闭。
GeoServer教程
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.6 Tomcat和Java jdk都可以通过其官方网站下载到,详细请查看本文末的资源表。如本人电脑中就是将JDK安装在D盘下的,详细如下图:
如果是使用最新版本的GeoServer 2.0.2版本的就不需要安装Tomcat,GeoServer 2.0.2已经内置了HTTP服务器。 二、下载、安装GeoServer GeoServer 是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更多信息可以访问百度百科了解: https://www.360docs.net/doc/8f451808.html,/view/871332.htm或官网了解: https://www.360docs.net/doc/8f451808.html,/display/GEOS/Welcome。 安装GeoServer非常简单,由于GeoServer是Java编写的开源项目,故GeoServer 的运行需要有Java JDK的支持,也就是上面一步所安装Java JDK,在安装GeoServer的同时就必须提供Java JDK的jre才能完成GeoServer的安装。
GeoServer 学习手册
GeoServer Eclipse 搭建 矢量数据库搭建 安装数据库 sudo apt-get install postgresql postgresql-contrib postgis postgresql-9.1-postgis 安装完毕,我们需要更改postgres用户的密码,否则我们就没法使用这个数据库服务器。以postgres 这个系统用户的身份运行psql命令,在终端中输入如下: sudo su postgres -c psql template1 这时候会出现新的提示符,输入下面两个命令,用新密码替换<***password***>: ALTER USER postgres WITH PASSWORD ' <***password***> '; b)创建用户及数据库 postgres# CREATE USER zuefir WITH PASSWORD 'xxxx'; postgres# CREATE DATABASE osm; postgres# GRANT ALL PRIVILEGES ON DATABASE osm to zuefir; c)为数据库添加空间扩展 CREATE EXTENSION postgis; -- Enable Topology CREATE EXTENSION postgis_topology; -- fuzzy matching needed for Tiger CREATE EXTENSION fuzzystrmatch; -- 地理编码 CREATE EXTENSION postgis_tiger_geocoder; -- 用于存储属性tags,key-value CREATE EXTENSION hstore; 修改PostgreSQL数据库的默认用户postgres的密码 2.PostgreSQL登录(使用psql客户端登录) root@server2-virtual-machine:~# sudo -u postgres psql //其中,sudo -u postgres 是使用postgres 用户登录的意思 //PostgreSQL数据默认会创建一个postgres的数据库用户作为数据库的管理员,密码是随机的,所以这里 //设定为'postgres' 3.修改PostgreSQL登录密码:
geoserver中文开发手册
geoserver中文开发手册一.目录 目录 写在前面 一介绍 二工具 Java Maven Subversion 三源代码 源代码 提交 库结构 分支结构 四快速入门 取出源代码 由Maven构建 由Maven生成Eclipse工程文件 导入模块进Eclipse 在Eclipse中运行GeoServer 访问GeoServer首页 五 Maven指南 六 Eclipse指南 七编程指南 八释放指南 九释放测试检查列表 十 CITE测试指南
十一政策与步骤 二.介绍、工具、源代码三章 一介绍 空。 二工具 在GeoServer开发者环境搭建以前,需要安装以下工具: Java GeoServer开发需要JDK1.5及其以上版本,可从Sun Microsystems获取。 注:除了可以使用Sun提供的JDK以外,也可以使用其它的,但这里我们推荐使用Sun的。 Maven Geoserver使用Maven工具构建。当前推荐版本是2.1.0,可从Apache获取。虽然2.1.0是推荐的,但2.0.8以上版本同样可用。 Subversion Geoserver源代码由subversion库完成存储和版本管理。对于不同平台有多种subversion客户端可获取。更多细节请访问:https://www.360docs.net/doc/8f451808.html,/getting.html。 三源代码 源代码 GeoServer源代码存放在: https://www.360docs.net/doc/8f451808.html,/geoserver。 使用以下方式取出开发版/trunk版本 svn co https://www.360docs.net/doc/8f451808.html,/geoserver/trunk geoserver 使用以下方式取出稳定版/stable版本: svn co https://www.360docs.net/doc/8f451808.html,/geoserver/branches/1.7.x geoserver 警告:Geoserver库包含大量空间数据。从上取出这些数据对于低带宽用户来说相对就很慢或者很昂贵,这种情况下,用户可以通过以下方式仅获取源代码: svn co https://www.360docs.net/doc/8f451808.html,/geoserver/trunk/src 提交 通过以下步骤提交到代码库: 1. 安装subversion配置文件,请看后面备注。 2. 注册获取提交权限。 3. 将库切换到”https”协议,例如:
geoserver配置及openlayers应用
geoserver与OpenLayers配置
目录 1准备工作 (3) 1.1需要用到的程序和资料 (3) 2地图格式转换方式(一) (4) 3地图格式转换方式(二) ................................................................................. 错误!未定义书签。 3.1解压地图 ............................................................................................... 错误!未定义书签。 3.2打开地图 ............................................................................................... 错误!未定义书签。 3.3导出图层 ............................................................................................... 错误!未定义书签。 3.4转换MIF格式为SHP格式 .................................................................... 错误!未定义书签。4GEOSERVER安装配置. (4) 4.1G EO S ERVER安装 (4) 4.2配置地图 (4) 4.2.1登录geoserver (4) 4.2.2配置数据 (5) 4.2.3新建数据集 (6) 4.2.4新建Feature Type (8) 4.2.5应用保存配置 (9) 4.2.6访问地图 (12) 5OPENLAYERS配置 (13) 5.1测试页面 (13) 5.2部署示例 (18) 5.3查看效果 (18) 5.4加上GOOGLEMAP图层 (18) 5.4.1申请Google 地图API 的key (18) 5.4.1.1将域名映射到本地 (18) 5.4.2编辑html (19) 5.4.3查看效果 (19) 6GEOSERVER高级设置 (20) 6.1自定义图层的S TYLE (20) 6.2查看图层的字段信息 (23) 6.3在T OMCA T上部署G EO S ERVER (24) 6.4自定义名称空间 (25) 7参考资料 (28)
GeoServer基础教程
G e o S e r v e r基础教程(一):环境搭建篇GeoServer的是一个基于Java的软件,它允许用户查看和编辑地理空间数据,使用开放地理空间联盟(OGC)提出的开放标准,为地图创建和数据分享提供了强大的便利性。 GeoServer是OpenGISWeb服务器规范的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服务器,我们实际上只需安装后两者: 一、安装JavaJDK GeoServer是基于Java的软件,运行的时候需要JDK的支持,如果你的系统中没有安装配置好JDK,请按照这篇博文()首先安装配置好JDK。 如果已经安装配置好的直接进入下一步。
geoserver中文开发手册(完整资料).doc
【最新整理,下载后即可编辑】 geoserver中文开发手册一.目录 目录 写在前面 一介绍 二工具 Java Maven Subversion 三源代码 源代码 提交 库结构 分支结构 四快速入门 取出源代码 由Maven构建 由Maven生成Eclipse工程文件 导入模块进Eclipse 在Eclipse中运行GeoServer 访问GeoServer首页 五 Maven指南
六 Eclipse指南 七编程指南 八释放指南 九释放测试检查列表 十 CITE测试指南 十一政策与步骤 二.介绍、工具、源代码三章 一介绍 空。 二工具 在GeoServer开发者环境搭建以前,需要安装以下工具: Java GeoServer开发需要JDK1.5及其以上版本,可从Sun Microsystems获取。 注:除了可以使用Sun提供的JDK以外,也可以使用其它的,但这里我们推荐使用Sun的。 Maven Geoserver使用Maven工具构建。当前推荐版本是2.1.0,可从Apache获取。虽然2.1.0是推荐的,但2.0.8以上版本同样可用。 Subversion Geoserver源代码由subversion库完成存储和版本管理。对于不同平台有多种subversion客户端可获取。更多细节请访问:https://www.360docs.net/doc/8f451808.html,/getting.html 。三源代码 源代码 GeoServer源代码存放在: https://www.360docs.net/doc/8f451808.html,/geoserver。
使用以下方式取出开发版/trunk版本 svn co https://www.360docs.net/doc/8f451808.html,/geoserver/trunk geoserver 使用以下方式取出稳定版/stable版本: svn co https://www.360docs.net/doc/8f451808.html,/geoserver/branches/1.7.x geoserver 警告:Geoserver库包含大量空间数据。从上取出这些数据对于低带宽用户来说相对就很慢或者很昂贵,这种情况下,用户可以通过以下方式仅获取源代码: svn co https://www.360docs.net/doc/8f451808.html,/geoserver/trunk/src 提交 通过以下步骤提交到代码库: 1. 安装subversion配置文件,请看后面备注。 2. 注册获取提交权限。 3. 将库切换到”https”协议,例如: [root of checkout]% svn switch https://https://www.360docs.net/doc/8f451808.html,/geoserver/trunk 库结构 https://www.360docs.net/doc/8f451808.html,/geoserver/ branches/ spike/ tags/ trunk/ branches包含以前所有稳定的开发分支,1.6.x,1.7.x,etc… spike包含实验版本和原型 tags包含以前所有释放版本 trunk为当前开发分支。
geoserver配置及openlayers应用
geoserver与OpenLayers配置 chenchangyun@https://www.360docs.net/doc/8f451808.html, 2010年8月
目录 1准备工作 (3) 1.1需要用到的程序和资料 (3) 2地图格式转换方式(一) (4) 3地图格式转换方式(二) ................................................................................. 错误!未定义书签。 3.1解压地图 ............................................................................................... 错误!未定义书签。 3.2打开地图 ............................................................................................... 错误!未定义书签。 3.3导出图层 ............................................................................................... 错误!未定义书签。 3.4转换MIF格式为SHP格式 .................................................................... 错误!未定义书签。4GEOSERVER安装配置. (4) 4.1G EO S ERVER安装 (4) 4.2配置地图 (4) 4.2.1登录geoserver (4) 4.2.2配置数据 (5) 4.2.3新建数据集 (6) 4.2.4新建Feature Type (8) 4.2.5应用保存配置 (9) 4.2.6访问地图 (12) 5OPENLAYERS配置 (13) 5.1测试页面 (13) 5.2部署示例 (18) 5.3查看效果 (18) 5.4加上GOOGLEMAP图层 (18) 5.4.1申请Google 地图API 的key (18) 5.4.1.1将域名映射到本地 (18) 5.4.2编辑html (19) 5.4.3查看效果 (19) 6GEOSERVER高级设置 (20) 6.1自定义图层的S TYLE (20) 6.2查看图层的字段信息 (23) 6.3在T OMCA T上部署G EO S ERVER (24) 6.4自定义名称空间 (25) 7参考资料 (28)