首页 / 浏览问题 / WebGIS / 问题详情
iserver发布的wms111服务在ol中加载有偏移
22EXP 2023年09月06日

数据坐标系

发布后信息

ol加载代码

加载图片

请问这是什么问题啊?

1个回答

您好,您底图用的什么数据呢,底图是4490坐标系吗?业务数据和底图数据的坐标系要保持一致才可以正常叠加
1,000EXP 2023年09月06日
您发布的是矢量地图数据,不是瓦片格式,先不用设置resolutions,您是以XYZ方式加载的天地图,天地图XYZ 方式加载的瓦片服务默认使用的是 Web Mercator 投影坐标系,也称为 EPSG:3857 或 WGS84 Web Mercator,您用4490的地图数据叠加上去是会发生偏移,可以把地图数据投影转换为3857坐标系之后再和天地图叠加。
只能转换地图数据投影吗?还有其他解决办法吗?

还可以通过定义地图投影的方式来进行坐标系转换,参考代码如下:

proj4.defs("EPSG:4490", "+proj=longlat +ellps=GRS80 +no_defs");
var crs = new ol.proj.Projection({
  code: 'EPSG:4490',
  extent: [-180, -90, 180, 90],
  units: 'degrees'
});
var view = new ol.View({
  center: [0, 0],
  zoom: 0,
  projection: crs
});
var map = new ol.Map({
  target: 'map',
  view: view
});
var tiandituTileLayer = new ol.layer.Tile({
  source: new ol.source.XYZ({
    url: 'http://t0.tianditu.gov.cn/DataServer?T=vec_c&x={x}&y={y}&l={z}&tk=你的密钥',
    projection: crs,
    tileGrid: new ol.tilegrid.createXYZ({
      extent: crs.getExtent(),
      tileSize: [256, 256],
      minZoom: 0,
      maxZoom: 18
    }),
    wrapX: true
  })
});
map.addLayer(tiandituTileLayer);

你好,我前面加载地图之前注册了4490坐标系,天地图使用4490之后坐标偏移更离谱
同样的中心坐标,视图从右下变成左上了crying

您好,

1、需要确认所加载的地图的中心点坐标与坐标系相匹配,范围、比例尺信息设置正确才能避免偏移;

2、方便提供更多的代码和相关细节吗,以便更好地为您解决问题。
...