我有一个openlayers地图在我的项目中,我想添加WMS瓷砖到它。这是我的代码:
const map = new ol.Map({
layers: [
new ol.layer.Tile({
name: 'wmstiles',
source: new ol.source.TileWMS({
url: 'https://ssl-geowms.lillemetropole.fr/dynmapr/dynmapr.php',
serverType: 'geoserver',
version:"1.1.1",
params: {
LAYERS: 'PLU%2Fplu',
VERSION: '1.1.1',
TRANSPARENT: false,
HEIGHT: 256,
WIDTH: 256
},
pixelRatio: 1,
projection: 'EPSG:2154'
}),
visible: false
})
],
view: new ol.View({
center: ol.proj.fromLonLat([3.1666, 50.6167]),
zoom: 13,
maxZoom: 20,
})
});
如您所见,我正在尝试将坐标投影到EPSG:2154
(法国),以便将它们发送到WMS服务器。但我的地图是空白的,因为openlayers并没有生成具有良好投影的调用。
它给我带来了这个:https://ssl-geowms.lillemetropole.fr/dynmapr/dynmapr.php?SERVICE=WMS
而不是类似的内容(从另一个不使用openlayers的网站生成):https://ssl-geowms.lillemetropole.fr/dynmapr/dynmapr.php?in=PLU/plu
如您所见,它不是重新投影到EPSG:2154
,而是在EPSG:3857
中。还有其他问题,如高度和宽度,但这是另一回事。如果我将边界框从工作链接复制/粘贴到第一个链接,它将工作。
您的代码适用于我(在添加IN参数后)。您是否定义了投影(如果使用OpenLayers 5,则已注册)?我添加了一个半透明的OSM层来检查重投影是否正确对齐。您不需要指定平铺大小,OpenLayers将根据默认平铺网格和其他参数自动设置该大小。
proj4.defs('EPSG:2154', '+proj=lcc +lat_1=49 +lat_2=44 +lat_0=46.5 +lon_0=3 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ');
if (ol.proj.proj4 && ol.proj.proj4.register) { ol.proj.proj4.register(proj4); }
const map = new ol.Map({
layers: [
new ol.layer.Tile({
name: 'wmstiles',
source: new ol.source.TileWMS({
url: 'https://ssl-geowms.lillemetropole.fr/dynmapr/dynmapr.php',
serverType: 'geoserver',
version:"1.1.1",
params: {
IN: "PLU/plu",
LAYERS: 'PLU%2Fplu',
VERSION: '1.1.1',
TRANSPARENT: false,
},
pixelRatio: 1,
projection: 'EPSG:2154',
}),
visible: true,
}),
new ol.layer.Tile({
source: new ol.source.OSM(),
opacity: 0.5
}),
],
target: 'map',
view: new ol.View({
center: ol.proj.fromLonLat([3.1666, 50.6167]),
zoom: 13,
maxZoom: 20,
})
});
<link rel="stylesheet" href="https://cdn.rawgit.com/openlayers/openlayers.github.io/master/en/v5.3.0/css/ol.css" type="text/css">
<script src="https://cdn.rawgit.com/openlayers/openlayers.github.io/master/en/v5.3.0/build/ol.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.4.4/proj4.js"></script>
<div id="map" class="map"></div>
我正在开发一个基于OpenLayers、Geoserver、Java和JavaScript的网络应用程序。 用户需要在地图上选择一个区域,该部分必须作为图像下载。我尝试使用Ajax访问WMS- http://localhost:8080/geoserver/wms?request=GetMap 结果,我得到了除基础底图之外的所有必需图层。也有办法得到底图吗? 是否有其他方法满足此要求?
我有两个服务网址像WFS和仓储管理系统下面: http://neii.bom.gov.au/services/solarclim/wms/data/monClim_dirNorExp1Hou.nc?service=WMS http://services.land.vic.gov.au/catalogue/publicproxy/guest/dv_geoserver/datavic/wfs?SERV
基于ARM平台开发的 仓储安防监控系统. camera : 摄像头视频采集,JPEG压缩,YUVT转换. serial : 串口,GPRS. Lcd : 绘制字体,绘制图片,绘制摄像录像,触摸屏事件监控. lib : 数据结构库,线程池. gui : button控件,触摸屏事件监听. image : 图像C文件. init : 初始化启动程序. resource: 资源文件. socket :
Fabric Fabric 是一个用来简化系统管理任务的第三方库。当 Chef 和 Puppet 更倾向于管理服务器和系统库的时候,Fabric 则更关注于应用级别的任务管理,比如应用部署。 安装 Fabric: $ pip install fabric 下面的代码为我们创建了两个可以使用的任务:memory_usage 和 deploy,前面的任务会输出每一个服务器设备的内存使用率;后面的任
设备和磁盘 在Linux下你的磁盘和USB设备都被看作设备。要读写它们你得先把这些设备挂载到一个文件夹(被称为挂载点)里。在Slitaz里你可以使用图形界面工具mountbox挂载设备,也可以用命令行挂载。要挂载第一个硬盘的第一个主要分区到/mnt/disk: # mkdir -p /mnt/disk # mount /dev/hda1 /mnt/disk 要挂载USB设备或者CDROM,建议使用
系统管理 函数 描述 uname 得到内核的名称和信息 getpwuid 通过uid获得相应的结构体passwd getpwnam 通过用户名获得相应的结构体passwd getspnam 通过用户名获得结构体spwd(内包含密码) getgrgid 通过gid获得相应的结构体group getgrnam 通过组名获得相应的结构体group getenv 获取系统环境变量的值