搜档网
当前位置:搜档网 › geoserver与OpenLayers配置

geoserver与OpenLayers配置

geoserver与OpenLayers配置
geoserver与OpenLayers配置

geoserver与OpenLayers配置

chenchangyun@https://www.sodocs.net/doc/1413830070.html,

2010年8月

目录

1准备工作 (4)

1.1需要用到的程序和资料 (4)

2地图格式转换方式(一) (5)

3地图格式转换方式(二) ................................................................................. 错误!未定义书签。

3.1解压地图 ............................................................................................... 错误!未定义书签。

3.2打开地图 ............................................................................................... 错误!未定义书签。

3.3导出图层 ............................................................................................... 错误!未定义书签。

3.4转换MIF格式为SHP格式 .................................................................... 错误!未定义书签。4GEOSERVER安装配置. (5)

4.1G EO S ERVER安装 (5)

4.2配置地图 (5)

4.2.1登录geoserver (5)

4.2.2配置数据 (6)

4.2.3新建数据集 (7)

4.2.4新建Feature Type (9)

4.2.5应用保存配置 (10)

4.2.6访问地图 (13)

5OPENLAYERS配置 (14)

5.1测试页面 (14)

5.2部署示例 (19)

5.3查看效果 (19)

5.4加上GOOGLEMAP图层 (19)

5.4.1申请Google 地图API 的key (19)

5.4.1.1将域名映射到本地 (19)

5.4.2编辑html (20)

5.4.3查看效果 (20)

6GEOSERVER高级设置 (21)

6.1自定义图层的S TYLE (21)

6.2查看图层的字段信息 (24)

6.3在T OMCA T上部署G EO S ERVER (25)

6.4自定义名称空间 (26)

7参考资料 (29)

1准备工作

相关资料文件下载

1.1 需要用到的程序和资料

1.JDK 1.6 :

https://www.sodocs.net/doc/1413830070.html,/software/java_se/jdk-6u3-windows-i586-p.exe

安装好JDK1.6

2.MapInfo Professional 6.4 SCP中文版或者8.5 /9.5/10.0英文版

安装好Mapinfo

3.geoserver 1.5.4 或者1.6.0 Rc2或者2.0.2

https://www.sodocs.net/doc/1413830070.html,/sourceforge/geoserver/geoserver-1.5.4a.bin.zip

https://www.sodocs.net/doc/1413830070.html,/sourceforge/geoserver/geoserver-1.5.4a.src.zip

https://www.sodocs.net/doc/1413830070.html,/sourceforge/geoserver/geoserver-1.5.4a.war.zip

https://www.sodocs.net/doc/1413830070.html,/sourceforge/geoserver/geoserver-1.6.0-RC2-war.zip

https://www.sodocs.net/doc/1413830070.html,/sourceforge/geoserver/geoserver-1.6.0-RC2-pyramid-plugin.zip https://www.sodocs.net/doc/1413830070.html,/sourceforge/geoserver/geoserver-1.6.0-RC2-mysql-plugin.zip 来源:https://www.sodocs.net/doc/1413830070.html,/display/GEOS/Download

4.Openalyers 2.5

https://www.sodocs.net/doc/1413830070.html,/download/OpenLayers-2.5.zip

来源:https://www.sodocs.net/doc/1413830070.html,/

5.地图一份

来源:各个现场提供的mapinfo地图或者ESRI公司的shapfile文件

6.地图格式转换工具【选用】

https://www.sodocs.net/doc/1413830070.html,/Download/download/2006/datatransfer.rar

来源:https://www.sodocs.net/doc/1413830070.html,/Download/Showsoft.asp?Type=1&ID=216

7.Apache Tomcat 6.0.14【选用】

https://www.sodocs.net/doc/1413830070.html,/tomcat/tomcat-6/v6.0.14/bin/apache-tomcat-6.0.14.zip https://www.sodocs.net/doc/1413830070.html,/tomcat/tomcat-6/v6.0.14/src/apache-tomcat-6.0.14-src.zip 来源:https://www.sodocs.net/doc/1413830070.html,/

2地图格式转换方式(一)

Mapinfo 8.5中,主菜单--> Tools -->Universal Translator--> Universal Translator Source file 中选择要被转换的所有tab文件,类型为mapinfo;

Target file 选择shapfile文件格式,选中文件存放的路径

3GeoServer安装配置

GeoServer1.5和最新的2.0.2操作基本类似,现以1.5为来讲解。

3.1 GeoServer安装

解压geoserver-1.5.4a.bin.zip到E:\gis\geoserver,

运行E:\gis\geoserver\bin\startup.bat

3.2 配置地图

打开浏览器,访问:http://localhost:8080/geoserver/

3.2.1登录geoserver

点“配置”,在登录界面输入用户名'admin',密码'geoserver'

3.2.2配置数据

登录成功之后,再点“配置”。在配置界面,点“数据”。

在数据配置界面,点“数据库”。

3.2.3新建数据集

在Feature数据集配置界面,点“新建”

在新建界面,Feature 数据描述类型,选择Shaperfile,Feature数据集ID,输入“szmap_bingguanjiudian”,点“新建”

(此时,由于地图信息还没部署,因此,先将shape格式的数据文件复制到E:\gis\geoserver\data_dir\data\szmapnew。)

在数据文件配置界面中,url填写为:file:data/szmapnew/bingguanjiudian_custom_point.shp (表示对应E:\gis\geoserver\data_dir\data\szmapnew\bingguanjiudian_custom_point.shp) Charset填写为:GBK,点“提交”。

3.2.4新建Feature Type

文件加载成功,进入Feature Type编辑界面,样式选择point,SRS填写为4326,点生成.

再点“提交”。(千万不要勾上启用缓存,我就是勾上它,结果导致创建的FeaTure Type无法保存,走了弯路)

3.2.5应用保存配置然后先点左上角的“应用”,

再点“保存”。

重复上述步骤可配置多个图层。

数据集的信息保存在

E:\gis\geoserver\data_dir\ catalog.xml

featureTypes信息保存在E:\gis\geoserver\data_dir\featureTypes

catalog.xml内容节选为:

(文件重新加载保存之后,原有的注释说明不见了。)

3.2.6访问地图

回到首页欢迎界面,点“Mapbuilder 客户端”

找到topp:bingguanjiudian_custom_point,点Openlayers。

把地图缩放比例拉到最小,然后点其中一个标注点,网页下面会显示出查询到的信息。

4Openlayers配置

4.1 测试页面

编写测试页面,内容如下:

OpenLayers map preview

Untiled

Tiled

Click on the map to get feature infos

4.2 部署示例

将该页面保存到E:\gis\geoserver\webapps\geoserver\5.htm

4.3 查看效果

访问http://localhost:8080/geoserver/5.htm拖动图层,并可点击数据

4.4 加上googlemap图层

4.4.1申请Google 地图API 的key

https://www.sodocs.net/doc/1413830070.html,/intl/zh-CN/apis/maps/signup.html

申请的url填写为:https://www.sodocs.net/doc/1413830070.html,:8080/

4.4.1.1 将域名映射到本地

编辑hosts文件,将https://www.sodocs.net/doc/1413830070.html,映射为127.0.0.1.否则在本地加载不了google map.

4.4.2编辑html

参考E:\gis\tools\OpenLayers\examples\google.html

增加google map的js引用

增加图层

var googlesatellite = new https://www.sodocs.net/doc/1413830070.html,yer.Google( "Google Satellite" , {type: G_SATELLITE_MAP, 'maxZoomLevel':18} );

map.addLayers([googlesatellite]);

var googlebybrid = new https://www.sodocs.net/doc/1413830070.html,yer.Google( "Google Hybrid" , {type: G_HYBRID_MAP });

map.addLayers([googlebybrid]);

var GMapsStreets = new https://www.sodocs.net/doc/1413830070.html,yer.Google( "Google Steets" , {type: G_NORMAL_MAP, 'maxZoomLevel':18} );

map.addLayers([GMapsStreets]);

4.4.3查看效果

从图上可以看出mapinfo地图数据和google的卫星照片没有对齐。

OpenLayers体系结构

OpenLayers体系结构 由于OpenLayers是采用JavaScript实现的,不存在包的概念,但是它可以通过命名空间来实现类似包的功能。另外,JavaScript不存在继承的感念,也不存在私有、公有、保护等概念,OpenLayers中所谓的继承其实就是将基类中的所有属性和方法复制到子类中去。OpenLayers的命名空间如下: 一、OpenLayers命名空间:

如上图所示,OpenLayers是整个webgis系统的最外层命名空间,所有的地理信息系统相关web程序都在此命名空间下,在此命名空间下又创建了其他的命名空间来管理相关功能的程序。在这个命名空间下定义了一些基础类和基类来构建整个框架。 1、class OpenLayers.Map Map类实例化的对象为地图容器,可以向地图容器里面添加图层和控件。 属性

2、class OpenLayers.Marker OpenLayers命名空间下的Marker类可以被实例化为marker对象,用于标注地图上的位置,marker对象是由LonLat 对象和Icon对象组合而成的。markers一般被添加到一个叫做https://www.sodocs.net/doc/1413830070.html,yer.Markers的特殊图层中。 需要注意的是,如果你在一个marker中使用了一个icon,也就是说,你不能在其他的marker中在使用它——一旦你使用了这个icon,你应该clone()这个icon然后在另外的marker中使用这个icon。 3、class OpenLayers.Popup Popup类实例化一个弹出窗口,通常被添加到地图容器中。 构造函数

OpenLayers二维地图使用教程

OpenLayers 1 OpenLayers简介 OpenLayers是由MetaCarta公司开发的,用于WebGIS客户端的JavaScript包。它实现访问地理空间数据的方法都符合行业标准,比如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 除了可以在浏览器中帮助开发者实现地图浏览的基本效果,比如放大(Zoom In)、缩小(Zoom Out)、平移(Pan)等常用操作之外,还可以进行选取面、选取线、要素选择、图层叠加等不同的操作,甚至可以对已有的OpenLayers 操作和数据支持类型进行扩充,为其赋予更多的功能。例如,它可以为OpenLayers 添加网络处理服务WPS 的操作接口,从而利用已有的空间分析处理服务来对加载的地理空间数据进行计算。同时,在OpenLayers提供的类库当中,它还使用了类库Prototype.js 和Rico 中的部分组件,为地图浏览操作客户端增加Ajax效果。 2 Openlayers基本使用方法 Openlayers是使用Javascript编写的脚本,与网页设计技术密切相关,因此在使用之前需要掌握一定得相关知识,例如html、css、javascript等。编辑工具推荐使用:EditPlus。 1)下载并拷贝源代码即相关文件 到Openlayers官方网站https://www.sodocs.net/doc/1413830070.html,下载源代码压缩包,解压后可以看到其中的一些目录和文件。需要拷贝的文件和目录有:根目录下的【OpenLayer.js】文件、根目录下的【lib】目录、根目录下的【img】目录、根目录下的【theme】目录。将这4项内容拷贝到你网站的Scripts目录下(当然,这个只是例子,自己的网站程序目录结构自己说了算,只要保证OpenLayers.js,/lib,/img,/theme在同一目录中即可)。

openlayers经典例子

Openlayers经典例子 案例地址 (2) 一. Popup (2) 二、图层叠加 (3) 三、编辑功能 (5) 四、鹰眼 (7) 五、书签及样式 (7) 六、改变显示内容 (9) 七、SLD (9) 八、动画效果 (10) 九、获得属性 (11) 十、局部放大 (12) 十一、记录上次操作历史 (12) 十二、鼠标滚轮 (13) 十三、鼠标坐标 (13) 十四、标签 (14) 十五、全屏 (14) 十六、显示缩放比例 (15)

案例地址 https://www.sodocs.net/doc/1413830070.html,/releases/OpenLayers-2.10/examples/ https://www.sodocs.net/doc/1413830070.html,/dev/examples/ 一.Popup https://www.sodocs.net/doc/1413830070.html,/dev/examples/sundials.html https://www.sodocs.net/doc/1413830070.html,/dev/examples/sundials-spherical-mercator.html

https://www.sodocs.net/doc/1413830070.html,/dev/examples/select-feature-openpopup.html 二、图层叠加 https://www.sodocs.net/doc/1413830070.html,/dev/examples/layerswitcher.html

https://www.sodocs.net/doc/1413830070.html,/dev/examples/wmts-getfeatureinfo.html https://www.sodocs.net/doc/1413830070.html,/dev/examples/wmts-capabilities.html

配置openLayers的缩放级别

OpenLayers Map可以在不同的比例尺或解析度下显示他的每一个layer map对象含有缩放级别的引用,即ZoomLevels,而且允许他的每一个layer去自定义他们自己的缩放级别,使之看起来合适 可以通过在构造函数中设置options属性来配置openlayers layer的缩放级别 == 正常图层== 对于基于https://www.sodocs.net/doc/1413830070.html,yer的正常layer,和能够在任何解析度下显示的layer,存在多种不同的方式去配置缩放级别和他们各自的比例尺和解析度 “解析度数组”: 要是转化缩放级别成为解析度,需要一个{{{resolutions}}}数组,他是这个图层所支持的不同解析度的列表,缩放级别就仅仅是一个解析度数组的索引,解析度数组始于0终于缩放级别-1 比如: 一个图层的解析度为[a,b,c],那么缩放级别的0就是a ,1就是b。。。 === 配置解析度数组的方式=== 可选项: {{{scales}}} - ''Array'' -- 预先设置比例尺值的数组 {{{resolutions}}} - ''Array'' -- 预先设置解析度值的数组 {{{minScale}}} - ''float'' --layer能够显示的最小比例尺 {{{maxScale}}} - ''float'' --layer能够显示的最大比例尺 {{{maxResolution}}} - ''float'' --layer能够显示的最大解析度 {{{minResolution}}} - ''float'' -- layer能够显示的最小解析度 {{{minExtent}}} - ''!OpenLayers.Bounds'' --layer能显示出的最小范围 {{{maxExtent}}} - ''!OpenLayers.Bounds'' -- layer能显示出的最大范围{{{numZoomLevels}}} - ''int'' -- 缩放级别的总数 {{{units}}} - ''String'' - layer显示的单位,作用于比例尺-解析度换算 Example Declarations: {{{ var options = { scales: [50000000, 30000000, 10000000, 5000000], resolutions: [1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125], minScale: 50000000, maxResolution: "auto", maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90), maxResolution: 0.17578125, maxScale: 10000000, minResolution: "auto", minExtent: new OpenLayers.Bounds(-1, -1, 1, 1), minResolution: 0.0439453125, numZoomLevels: 5, units: "degrees" }; map = new OpenLayers.Map( $('map') , options); }}}

Openlayers教程

OpenLayers教程 1开始使用openlayers 1.1设置 先到它的官方网站https://www.sodocs.net/doc/1413830070.html,下载他的压缩包,解压。 拷贝目录下的OpenLayer.js、根目录下的lib目录、根目录下的img目录到你网站的Scripts目录下(当然,这个只是例子,您网站的目录结构您自己说得算,只要保证OpenLayers.js,/lib,/img在同一目录中即可)。然后,创建一个****.html作为查看地图的页面。 2试验openlayers 环境:geoserver1.7 Openlayers2.4 Dreamviever8 2.1第一个地图窗口 目标:用openlayers加载geoserver wms。 步骤: (1)空白html文件 (2)插入div-map (3)为div付风格 以上为未加载地图的静态页面 代码为: 效果为: (4)插入openlayers代码引用 (5)写js代码,主要是init() 第一个地图窗口就完成了 注1.js中defer的作用是页面加载完成后,执行脚本。

注2.222 2.2控制地图与div的占据区域 目标:让地图默认占满展现区 方法: 设置map的options,由其中两个因素决定:maxExtent-最大地图边界;maxResolution-最大解析度。 当maxExtent设置为地图的最大边界后,maxResolution设置为auto,那地图就占满DIV。 var options = { controls: [], maxExtent: bounds, maxResolution: "auto", projection: "EPSG:4326", numZoomLevels: 7, units: 'degrees' }; map = new OpenLayers.Map('map',options); 2.3地图控制-尺度缩放 目标:填加尺度缩放控件 步骤: (1)map初始化赋参数 var options = { controls: [], //scales: [50000000, 30000000, 10000000, 5000000], maxExtent: bounds, maxResolution: "auto", projection: "EPSG:4326", numZoomLevels: 7, (表示有几个缩放级别) units: 'degrees' }; map = new OpenLayers.Map('map',options); (2)填加控件,代码 map.addControl(new OpenLayers.Control.PanZoomBar({ position: new OpenLayers.Pixel(2, 15)(右边距,上边距) })); 思考:级别的计算,个人推测由(maxResolution- minResolution)/ numZoomLevels,但是默认值是书面日后再细究。

geoserver

●利用具有地理空间位置信息的数据制作地图。其中将地图定义为地理数据可视的表现。 这个规范定义了三个操作: ?GetCapabitities 返回服务级元数据,它是对服务信息内容和要求参数的一种描述; ?GetMap 返回一个地图影像,其地理空间参考和大小参数是明确定义了的; ?GetFeatureInfo(可选)返回显示在地图上的某些特殊要素的信息 WFS: Web Feature Service(Web要素服务) ●Web 地图服务返回的是图层级的地图影像, ●Web要素服务(WFS)返回的是要素级的GML编码,并提供对要素的增加、修改、删 除等事务操作,是对Web地图服务的进一步深入。OGC Web要素服务允许客户端从多个Web要素服务中取得使用地理标记语言(GML)编码的地理空间数据,定义了五个操作: ?GetCapabilites 返回Web要素服务性能描述文档(用XML描述); ?DescribeFeatureType 返回描述可以提供服务的任何要素结构的XML文档; ?GetFeature 一个获取要素实例的请求提供服务; ?Transaction 为事务请求提供服务; ?LockFeature 处理在一个事务期间对一个或多个要素类型实例上锁的请求。 WFS-T: Web Map Service-Transactional. 允许用户以可传输的块编辑地理数据。 WCS:Web Coverage Service(Web覆盖服务) Web 覆盖服务(WCS)面向空间影像数据,它将包含地理位置值的地理空间数据作为“覆盖(Coverage)”在网上相互交换。 ●网络覆盖服务由三种操作组成:GetCapabilities,GetCoverage和DescribeCoverageType: ?GetCapabilities 操作返回描述服务和数据集的XML文档。 ?GetCoverage操作是在GetCapabilities确定什么样的查询可以执行、什么样的数据能 够获取之后执行的,它使用通用的覆盖格式返回地理位置的值或属性。 ?DescribeCoverageType 操作允许客户端请求由具体的WCS服务器提供的任一覆盖层 的完全描述。 GML: Geography Markup Language. 一种用于描述地理数据的XML。OGC——Open Geospatial Consortium——开放地理信息联盟 总之,GeoServer 是您需要显示地图在网页的那些工具的当中一个,用户可以缩放并且移动。可以与一些客户端联合使用,比如:MapBuilder (for web pages), UDig, GVSig,等等。对标准的使用允许信息从GeoServer 到其它地理信息可以很容易地被结合。

Openlayers3加载国家天地图WMTS服务示例

Openlayers3加载国家天地图WMTS服务示例。 1.部分代码: var projection = ol.proj.get('EPSG:4326'); var projectionExtent = projection.getExtent(); var size = ol.extent.getWidth(projectionExtent) / 256; var resolutions = new Array(14); var matrixIds = new Array(14); for (var z = 0; z <=14; ++z) { resolutions[z] = size / Math.pow(2, z); matrixIds[z] = z; } var map = new ol.Map({ logo:false, layers: [ new https://www.sodocs.net/doc/1413830070.html,yer.Tile({ name:"baseVec", source: new ol.source.WMTS({ url: 'http://t{0-6}https://www.sodocs.net/doc/1413830070.html,/vec_c/wmts', layer: 'vec', format: 'tiles', tileGrid: new ol.tilegrid.WMTS({ origin: ol.extent.getTopLeft(projectionExtent),

resolutions: resolutions, matrixIds: matrixIds, }), matrixSet:"c", style: 'default' }) }) ], target: 'map', controls: ol.control.defaults({ attributionOptions: /** @type {olx.control.AttributionOptions} */ ({ collapsible: false }) }), view: new ol.View({ center:[121.00228,29.14696] , projection:ol.proj.get("EPSG:4326"), zoom: 14 }) }); 2.效果图

Openlayers使用地图数据

Openlayers使用地图数据 [摘要]针对小型应用程序使用地图数据量小的问题,采用基础图层并对影像数据进行数字化。 [关键词] openlayers 地图数据瓦片数据 openlayers是由metacarta公司开发的,用于webgis客户端的javascript包。它实现访问地理空间数据的方法都符合行业标准,比如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等。也可以用简单的图片作为源。在做gis项目时一个地图能使得应用程序变得更漂亮,对于一些小型的应用程序就不必

geoserver与OpenLayers配置入门

geoserver与OpenLayers配置入门 作者:lizongbo发表于:13:10. 星期六, 一月5th, 2008 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明。https://www.sodocs.net/doc/1413830070.html,/archives/2008/01/05/61.html geoserver与OpenLayers配置入门 Word文档在:https://www.sodocs.net/doc/1413830070.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.sodocs.net/doc/1413830070.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.sodocs.net/doc/1413830070.html,/sourceforge/geoserver/geoserver-1.5.4a.bin.zip https://www.sodocs.net/doc/1413830070.html,/sourceforge/geoserver/geoserver-1.5.4a.src.zip https://www.sodocs.net/doc/1413830070.html,/sourceforge/geoserver/geoserver-1.5.4a.war.zip https://www.sodocs.net/doc/1413830070.html,/sourceforge/geoserver/geoserver-1.6.0-RC2-war.zip https://www.sodocs.net/doc/1413830070.html,/sourceforge/geoserver/geoserver-1.6.0-RC2-pyramid-p lugin.zip https://www.sodocs.net/doc/1413830070.html,/sourceforge/geoserver/geoserver-1.6.0-RC2-mysql-plu gin.zip 来源:https://www.sodocs.net/doc/1413830070.html,/display/GEOS/Download 4. Openalyers 2.5 https://www.sodocs.net/doc/1413830070.html,/download/OpenLayers-2.5.zip 来源:https://www.sodocs.net/doc/1413830070.html,/

OpenLayers API接口文档

OpenLayers API 由于OpenLayers是采用JavaScript实现的,不存在包的概念,但是它可以通过命名空间来实现类似包的功能。另外,JavaScript不存在继承的概念,也不存在私有、公有、保护等概念,OpenLayers中所谓的继承其实就是将基类中的所有属性和方法复制到子类中去。OpenLayers的命名空间如下: 一、OpenLayers命名空间:

如上图所示,OpenLayers是整个webgis系统的最外层命名空间,所有的地理信息系统相关web程序都在此命名空间下,在此命名空间下又创建了其他的命名空间来管理相关功能的类。在这个命名空间下定义了一些基础类和基类来构建整个框架。 1、class OpenLayers.Map Map类将div DOM元素实例化的对象为地图容器,可以向地图容器中添加图层和控件。 属性

2、class OpenLayers.Map2 基于OpenLayers.Map封装,将自有地图图层和常用控件都已经加载在地图当中,用户无需关心地图数据源等问题,简化了用户的地图调用。实例化该类后即可创建一个可查看和使用的地图对象,其方法和属性与OpenLayers.Map一致,见OpenLayers.Map类。 2、class OpenLayers.Marker OpenLayers命名空间下的Marker类可以被实例化为marker对象,用于标注地图上的位置,marker对象是由LonLat 对象和Icon对象组合而成的。markers一般被添加到一个叫做https://www.sodocs.net/doc/1413830070.html,yer.Markers的特殊图层中。 需要注意的是,如果你在一个marker中使用了一个icon,也就是说,你不能在其他的marker中在使用它——一旦你使用了这个icon,你应该clone()这个icon然后在另外的marker中使用这个icon。 3、class OpenLayers.Popup Popup类实例化一个弹出窗口,通常被添加到地图容器中。 构造函数

实验报告六

徐州工程学院 管理学院实验报告 实验课程名称:物流信息技术 实验地点:南主楼机房 2014 年 5 月至 2014 年 5月 专业物流工程 班级 11物流1班 学生姓名吴燕 学号 20111514105 指导老师周渠

实验报告 实验项目:GIS,GPS 实验学时: 4 实验日期:2014年5月 实验要求:了解GIS组成,GPS技术、应用。 实验内容: 一、GIS 地理信息系统(GIS,Geographic Information System)是一门综合性学科,结合地理学与地图学以及遥感和计算机科学,已经广泛的应用在不同的领域,是用于输入、存储、查询、分析和显示地理数据的计算机系统,随着GIS的发展,也有称GIS为“地理信息科学”(Geographic Information Science),近年来,也有称GIS为"地理信息服务"(Geographic Information service)。GIS是一种基于计算机的工具,它可以对空间信息进行分析和处理(简而言之,是对地球上存在的现象和发生的事件进行成图和分析)。 GIS 技术把地图这种独特的视觉化效果和地理分析功能与一般的数据库操作(例如查询和统计分析等)集成在一起。GIS与其他信息系统最大的区别是对空间信息的存储管理分析,从而使其在广泛的公众和个人企事业单位中解释事件、预测结果、规划战略等中具有实用价值。 二、GIS组成 人员,是GIS中最重要的组成部分。开发人员必须定义GIS中被执行的各种任务,开发处理程序。熟练的操作人员通常可以克服GIS软件功能的不足,但是相反的情况就不成立。最好的软件也无法弥补操作人员对GIS的一无所知所带来的负作用。[1] 数据,精确的可用的数据可以影响到查询和分析的结果。 硬件,硬件的性能影响到软件对数据的处理速度,使用是否方便及可能的输出方式。 软件,不仅包含GIS软件,还包括各种数据库,绘图、统计、影像处理及其它程序。 过程,GIS 要求明确定义,一致的方法来生成正确的可验证的结果。 GIS属于信息系统的一类,不同在于它能运作和处理地理参照数据。地理参照数据描述地球表面(包括大气层和较浅的地表下空间)空间要素的位置和属性,在GIS中的两种地理数据成分:空间数据,与空间要素几何特性有关;属性数据,提供空间要素的信息。 地理信息系统(GIS)与全球定位系统(GPS)、遥感系统(RS)合称3S系统。 三、特点 公共的地理定位基础;

openlayers

1开始使用openlayers 1.1设置 先到它的官方网站https://www.sodocs.net/doc/1413830070.html,下载他的压缩包,解压。 拷贝目录下的OpenLayer.js、根目录下的lib目录、根目录下的img目录到你网站的Scripts目录下(当然,这个只是例子,您网站的目录结构您自己说得算,只要保证OpenLayers.js,/lib,/img在同一目录中即可)。然后,创建一个****.html作为查看地图的页面。 2试验openlayers 环境:geoserver1.7 Openlayers2.4 Dreamviever8 2.1第一个地图窗口 目标:用openlayers加载geoserver wms。 步骤: (1)空白html文件 (2)插入div-map (3)为div付风格 以上为未加载地图的静态页面 代码为: 效果为: (4)插入openlayers代码引用 (5)写js代码,主要是init() 第一个地图窗口就完成了 注1.js中defer的作用是页面加载完成后,执行脚本。 注2.222 2.2控制地图与div的占据区域

目标:让地图默认占满展现区 方法: 设置map的options,由其中两个因素决定:maxExtent-最大地图边界;maxResolution-最大解析度。 当maxExtent设置为地图的最大边界后,maxResolution设置为auto,那地图就占满DIV。 var options = { controls: [], maxExtent: bounds, maxResolution: "auto", projection: "EPSG:4326", numZoomLevels: 7, units: 'degrees' }; map = new OpenLayers.Map('map',options); 2.3地图控制-尺度缩放 目标:填加尺度缩放控件 步骤: (1)map初始化赋参数 var options = { controls: [], //scales: [50000000, 30000000, 10000000, 5000000], maxExtent: bounds, maxResolution: "auto", projection: "EPSG:4326", numZoomLevels: 7, (表示有几个缩放级别) units: 'degrees' }; map = new OpenLayers.Map('map',options); (2)填加控件,代码 map.addControl(new OpenLayers.Control.PanZoomBar({ position: new OpenLayers.Pixel(2, 15)(右边距,上边距) })); 思考:级别的计算,个人推测由(maxResolution- minResolution)/ numZoomLevels,但是默认值是书面日后再细究。 2.4地图控制-鼠标坐标拾取

OpenLayers 类分析(一)

OpenLayers类分析(一) 分析人:观海(QQ:531622) 背景:在开发使用OpenLayers库的过程中,只有对其类实现方法有深入了解,应用才能得心应手。所以,经过源码研读,整理出如下笔记,希望对大家有帮助。 1、OpenLayers.Control类说明 1.1、OpenLayers.Events监听事件处理 OpenLayers.Events 用于管理显示div 上的事件处理机制。其监听事件处理的类结构如下图所示: Events内部维持一个事件监听函数listener构成的队列,由register和unregister来管理。当事件触发时,由triggerEvent 来完成遍历队列分派事件。 attachToElement用于绑定事件接收函数到对应的 div 上。 Events类直接用于 Control 类、 Map 类和Layer类中的 div 事件管理。

1.2、OpenLayers.Control 监听事件应用解析 在 OpenLayers.Control 中内含一个 OpenLayers.Events 类来管理监听事 件。当初始化设置 Control 中的div 值时,OpenLayers.Events 会自动绑定handleBrowserEvent 函数来接收浏览器 div 上的各种事件。当事件发生时,通过triggerEvent ,将事件发到每个监听函数 listener 中。 OpenLayers.Control 类中的 activate 和 deactivate 是 Events 中的register 和 unregister 的封装,使用户都可以通过 Control 类来操作,不必关心底层运作。 OpenLayers.MousePosition 类,事件监听解析 MousePosition 类,在active 函数中,将事件监听函数注册进 OpenLayer.Map 中的 events 事件处理类中。直接监听来自 Map 的 div 中的事件消息,并处理。 1.3、OpenLayers.Control 回调事件处理 如果想对 div 收到的事件作扩展处理(预处理),可以用 OpenLayers.Handler 工具。

geoserver地图配置文档

(一)准备工作 1、下载JDK(java development kit) 2、下载Apache 3、下载Tomcat 4、下载geoserver 5、下载PostgreSQL 6、下载Postgis 7、下载Pgrouting 8、下载Openlayers https://www.sodocs.net/doc/1413830070.html,/wiki/HowToDownload 9、下载Tilecache2.10,python-2.5.1,mod_python-3[1].3.1.win32-py2.5-Apache2.2,链接分 别为https://www.sodocs.net/doc/1413830070.html,/ ,http:// https://www.sodocs.net/doc/1413830070.html,/,https://www.sodocs.net/doc/1413830070.html,/。注意版本要匹配。 (二)geoserver安装 1、安装Sun Java 2 SDK(java se development kit) Geoserver的安装需要JDK支持,因此应预先安装JDK, 1)安装JDK到指定目录。 2)安装完成后配置环境变量:“我的电脑”->“属性”, “高级”选项卡->“环境变量”; 在“系统变量”中JAVA_HOME变量名D:\Program Files\Java\jdk1.7.0(以本机为例)。 2、安装Apache服务器 1)安装Apache到指定目录,默认使用80端口。 2)安装完成后,在浏览器中输入http://localhost或者http://127.0.0.1/,检测apache 安装是否正确。如果Apache Server无法正常启动,检查端口是否被占用。端口查 看方法是“开始”->“运行”->“cmd”命令->“netstat –a –n”命令。若端口被占 用,修改apache的conf文件夹中的httpd.conf文件,将端口改为其他值。修改前 应关闭服务,修改保存后重启服务。

使用openlayers调用本地瓦片数据方案

使用openlayers调用本地瓦片数据方案 身边经常有一些朋友在与GIS项目的时候抱怨没有地图数据,而实际上他们在做具体的应用的时候常常仅仅是需要一个地图来使得应用程序变得更漂亮。以前自己也遇到过一些这些问题,在08年公司做兼职的时候,就行开发一个离线的GIS数据包,这些的话,对于一些小型的应用程序就不用花大笔的钱去购买地图数据。 对于以上的问题,大家常常采用的是两种解决方案:一种解决方案就是直接使用一些第三方数据服务,例如Google maps 或者是MapABC的API来实现自己的功能,这种方法开发比较简单,很容易上手,但是一个重要问题就是给一些不能上网的客户来说,这样的开发方式就不适合了;另外一种方式就是让客户购买地图数据去支持应用程序,这样的方式用户需要花一些钱去购买地图数据(我以前在做项目的过程中,由于地图数据量不是很大,所以也可以用一些基础图层,然后再加上一些影像数据进行数字化)。其实上述的两种方式是目前大多数应用程序解决地图数据的主要方法,下面本片文章介绍第三种方式来实现(特在此申明,文章中提出的方法仅仅是提供交流和学习使用,如果使用商业用途用户自行负责)。 如果想从本地访问瓦片数据的话,首先需要解决的问题是从一些公共地图服务中获取瓦片数据。在这里将使用工具https://www.sodocs.net/doc/1413830070.html,/?page_id=66下载地图的瓦片数据。瓦片数据下载到本地之后,可以看到瓦片的数据命名 “m_14_13519_6253.png”,其中m后面的14代表的目前的缩放级别,“13519”代表的是瓦片数据的横坐标,“6253”代表的是瓦片数据的纵坐标。对于Google maps用的是墨卡托投影方式,将地图投影成了一个40075016.685578488 m的正方形坐标的形式,然后根据缩放级别将这个正方形分割成不不同粒度的小正方形,这种分割的形式采用的是四叉树索引的方式进行。具体的分割如下图所示。

OpenLayers学习心得

OpenLays学习笔记 目录 (一)项目介绍 (2) (二)源代码总体结构分析 (5) (三)BaseTypes :定义底层类与定制JS内置类 (9) (四)BaseTypes: OpenLayers中定制JavaScript内置类 (14) (五)空间数据的组织与实现 (19) (六)OpenLayers 数据解析—以GML为例 (22) (七)数据渲染分析 (26) (八)地图表现 (29) (九)地图表现 (34) (十)OpenLayers中的控件 (37) (十一)OpenLayers事件机制分析 (42) (十二)体系结构 (45)

OpenLayers项目分析 (一)项目介绍 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的解析器。

WebGIS各种术语定义以及介绍

1、jQuery(function(){})与(function(){})(jQuery)的区别 1、jQuery(function(){});======jQuery(document).ready(function(){});表示在DOM加载完毕后执行了ready()方法; 2、(function(){})(jQuery);实际上是执行()(para)匿名方法,只不过传递了jQuery对象; 3、总结: 3.1、jQuery(function(){}),用于存放操作DOM对象的代码,执行其中代码时对象已经存在。不可用于存放开发插件的代码,因为jQuery对象没有得到传递,外部通过jQuery.method也调用不了其中的方法(函数). 3.2、(function(){})(jQuery),用于存放开发插件的代码,执行其中代码时DOM不一定存在,所以直接自动执行DOM操作的代码需要小心使用。 2、jQuery中的extend方法通过不同的参数实现了几种不同的继承方法: 1. extend(src), 扩展jQuery静态方法. 也就是说,将src对象的属性和方法逐一复制给jQuery $.extend({ test:function(){alert('test函数')}

}) 2. extend(dest,src1,src2,src 3...srcN) ,合并多个对象. 为jQuery.extend(css1,css2)为例,css1,css2各有一些属性(方法照样会如此处理,这里只讲属性). extend函数会把css2有而css2没有的属性加到css1中,如果css2的某个属性与css1的某个属性名称享用,就会用css2的属性去覆盖css1的同名属性。css1就是最后的整和对象。或者也可以用: var newcss = jquery.extend(css1,css2) newcss就是合并的新对象。 var newcss = jquery.extend({},css1,css2) newcss就是合并的新对象.而且没有破坏css1的结构。 //用法: jQuery.extend(obj1,obj2,obj3,..) ar Css1={size: "10px",style: "oblique"} var Css2={size: "12px",style: "oblique",weight: "bolder"} $.jQuery.extend(Css1,Css2) //结果:Css1的size属性被覆盖,而且继承了Css2的weight属性 // Css1 = {size: "12px",style: "oblique",weight: "bolder"}7 3.extend(boolean,dest,src1,src2...),深度镶套对象 新的extend()允许你更深度的合并镶套对象。下面的例子是一个很好的证明。 // 以前的.extend() jQuery.extend( { name: “John”, location: { city: “Boston” } },

相关主题