OpenLayers开发:调用矢量图层

本文详细介绍了如何使用OpenLayers调用和显示矢量数据,包括从GML、KML文件及WFS服务加载矢量图层。通过示例代码展示了创建地图实例、添加图层、读取数据并将其转换为矢量图层的过程。
摘要由CSDN通过智能技术生成

       除栅格数据外,GIS系统中另一类重要的数据类型便是矢量数据。OpenLayers中提供了多种操作矢量数据的方式,可以处理不同数据源、不同协议(HTTP、WFS)、不同格式(GML、KML、GeoJSON、GeoRSS等)的矢量数据。涉及的主要操作类包括OpenLayers.Layer.Vector、OpenLayers.Feature.Vector、OpenLayers.Feature、OpenLayers.Geometry、OpenLayers.Protocol等。

调用GML图层

GeographyMarkup Language (GML)是一个已经被广泛采纳了的OGC标准,采用XML语法来描述地理要素。下面的方法可以从GML文件创建矢量图层。

1.创建HTML文件,引入OpenLayers开发包,插入如下代码:

<!-- Map DOM element -->

<div id="gml"style="width: 100%; height: 100%;"></div>

2. 接下来,创建地图实例对象,添加图层和相应控件。这里展示了OpenStreetMap的调用方法,实际应用中应按照前面所讨论的方法调用自己的地图。在使用不同的地图作为底图的过程中,应注意区分投影与否,以及不同投影、不同坐标系等空间参考。

<!-- The magic comes here-->

<scripttype="text/javascript">

//Create the map using the specified DOM element

varmap = new OpenLayers.Map("gml");

varlayer = new OpenLayers.Layer.OSM("OpenStreetMap");

map.addLayer(layer);

map.addControl(newOpenLayers.Control.LayerSwitcher());

map.setCenter(newOpenLayers.LonLat(0,0), 2);

3.读取GML文件,并转换为矢量图层添加至map中:

map.addLayer(newOpenLayers.Layer.Vector("Europe (GML)", {

protocol:new OpenLayers.Protocol.HTTP({

//指向特定GML文件的URL

url:"http://.../.../....gml",

format:new OpenLayers.Format.GML()

}),

strategies:[new OpenLayers.Strategy.Fixed()]

}));

</script>


调用KML图层

KeyholeMarkup Language (KML)是另一种描述地理要素的矢量格式,源自于GoogleMaps,现在也已经变成了OGC的一种标准。

1.创建HTML文件,引入OpenLayers开发包,插入如下代码:

<!-- Map DOM element -->

<div id="kml"style="width: 100%; height: 100%;"></div>

2. 接下来,创建地图实例对象,添加图层和相应控件。

<!-- The magic comes here-->

<scripttype="text/javascript">

//Create the map using the specified DOM element

varmap =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值