Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何转换';怪异';ESRI将XYZ格式平铺到XYZ_Javascript_Openlayers_Esri_Tile_Xyz - Fatal编程技术网

Javascript 如何转换';怪异';ESRI将XYZ格式平铺到XYZ

Javascript 如何转换';怪异';ESRI将XYZ格式平铺到XYZ,javascript,openlayers,esri,tile,xyz,Javascript,Openlayers,Esri,Tile,Xyz,我需要访问Esri REST服务,它具有奇怪的XYZ格式。例如: 在正常的XYZ服务中,z是14,在相同高度的特定服务中,z是8 有人知道如何转换它们并在OpenLayers上使用“怪异”的吗 这是“正常”服务: …../15/17122/11081.png 这就是“奇怪”的一个: …../8/458/170 它们大致位于同一位置,高度相同。这是EPSG:25832投影的自定义平铺网格。 在OpenLayers中设置网格所需的设置只能在origin中找到,并且需要分辨率,但包括范围将防止请求超出

我需要访问Esri REST服务,它具有奇怪的XYZ格式。例如:

在正常的XYZ服务中,z是14,在相同高度的特定服务中,z是8

有人知道如何转换它们并在OpenLayers上使用“怪异”的吗

这是“正常”服务:

…../15/17122/11081.png

这就是“奇怪”的一个:

…../8/458/170


它们大致位于同一位置,高度相同。

这是EPSG:25832投影的自定义平铺网格。 在OpenLayers中设置网格所需的设置只能在
origin
中找到,并且需要
分辨率
,但包括范围将防止请求超出范围的瓷砖-
fullExtent
xmax
看起来有点太小,切断了国家的最东部边缘,因此,我在0级的基础上创建了一个范围,即3个瓷砖宽


html,body,.map{
保证金:0;
填充:0;
宽度:100%;
身高:100%;
}
项目4.defs(“EPSG:25832”,“+proj=utm+zone=32+ellps=GRS80+towgs84=0,0,0,0,0+units=m+no_defs”);
ol.proj.proj4.寄存器(proj4);
风险值来源=[2331846120719];
var分辨率=[
1222.9948985513972,
611.4974492756991,
305.7487246378482,
152.87436231920458,
76.43718115960229,
38.21859057966118,
19.109295289886575,
9.5546476449433,
4.7773238224716374
];
//var范围=[280300523580091230063060];
变量范围=[origin[0],origin[1]-3*256*分辨率[0],origin[0]+3*256*分辨率[0],origin[1];
var map=新ol.map({
目标:“地图”,
图层:[
新ol.layer.Tile({
source:new ol.source.OSM(),
}),
新ol.layer.Tile({
来源:new ol.source.XYZ({
url:“https://karte.breitbandmessung.de/servertmp/rest/services/Mobilfunkversorgung/MonitoringPortal_DT_4G/Mapserver/tile/{z} /{y}/{x}“,
投影:“EPSG:25832”,
tileGrid:新的ol.tileGrid.tileGrid({
来源:来源,,
范围:范围,,
决议:决议,
tileSize:[256,256],
}),
}),
不透明度:0.5,
}),
],
视图:新ol.view({
投影:“EPSG:25832”,
})
});
map.getView().fit(范围);

它是EPSG:25832投影的自定义平铺网格。 在OpenLayers中设置网格所需的设置只能在
origin
中找到,并且需要
分辨率
,但包括范围将防止请求超出范围的瓷砖-
fullExtent
xmax
看起来有点太小,切断了国家的最东部边缘,因此,我在0级的基础上创建了一个范围,即3个瓷砖宽


html,body,.map{
保证金:0;
填充:0;
宽度:100%;
身高:100%;
}
项目4.defs(“EPSG:25832”,“+proj=utm+zone=32+ellps=GRS80+towgs84=0,0,0,0,0+units=m+no_defs”);
ol.proj.proj4.寄存器(proj4);
风险值来源=[2331846120719];
var分辨率=[
1222.9948985513972,
611.4974492756991,
305.7487246378482,
152.87436231920458,
76.43718115960229,
38.21859057966118,
19.109295289886575,
9.5546476449433,
4.7773238224716374
];
//var范围=[280300523580091230063060];
变量范围=[origin[0],origin[1]-3*256*分辨率[0],origin[0]+3*256*分辨率[0],origin[1];
var map=新ol.map({
目标:“地图”,
图层:[
新ol.layer.Tile({
source:new ol.source.OSM(),
}),
新ol.layer.Tile({
来源:new ol.source.XYZ({
url:“https://karte.breitbandmessung.de/servertmp/rest/services/Mobilfunkversorgung/MonitoringPortal_DT_4G/Mapserver/tile/{z} /{y}/{x}“,
投影:“EPSG:25832”,
tileGrid:新的ol.tileGrid.tileGrid({
来源:来源,,
范围:范围,,
决议:决议,
tileSize:[256,256],
}),
}),
不透明度:0.5,
}),
],
视图:新ol.view({
投影:“EPSG:25832”,
})
});
map.getView().fit(范围);

您是否有该服务的链接?它的范围可能有限,或者使用自定义投影,需要自定义平铺网格。@Mike Yeah。这是服务,这是它嵌入的地图:。。。我需要将覆盖图嵌入到自定义OpenLayers地图中您是否有指向该服务的链接?它的范围可能有限,或者使用自定义投影,需要自定义平铺网格。@Mike Yeah。这是服务,这是它嵌入的地图:。。。我需要将覆盖图嵌入到自定义OpenLayers地图上