加载只定义投影坐标系的数据防止变形

来源:互联网 发布:淘宝自动核对地址 编辑:程序博客网 时间:2024/06/05 06:02

在web地图开发中,由于后台的数据定义为地理坐标系WGS84(wkid:4326),而前台加载时一般会投影为wkid:102100(wkid:3857),这时就会存在变形,所以为了使得不会发生变形,就需要一开始将后台的数据坐标系设定为投影坐标系,但是投影坐标系的坐标是以米为单位,所以,需要知道投影坐标的具体范围!

当然,WGS84经纬度与WGS_1984_Web_Mercator_Auxiliary_Sphere坐标有数学关系,通过view的click事件的属性mapPoint的longitude,latitude,x,y,可以先确定大致的范围.

比如中国的大致范围:[11000000,4000000,13000000,3000000](左,上,右,下),单位米

然后,我们在ArcMap中自定义一个投影坐标系为WGS_1984_Web_Mercator_Auxiliary_Sphere:WKID: 3857,Feature Extent为上述范围的shapefile,然后全图绘制一些要素!


然后将相关的shapefile文件放到geoserver的data文件夹下进行服务发布:


默认计算对应WGS84的经纬度,与实际情况相符!

于是,利用arcgis api for js 进行访问加载:

关键代码:

      var layer = new WMSLayer({
        url: "http://localhost:8080/geoserver/newfile/wms?service=WMS&version=1.1.0&request=GetMap&layers=newfile:New_Shapefile(3)"

      });



关于投影系的说明:

wkid:3857与wkid:102100的联系:

地理坐标系:GCS_WGS_1984:WKID: 4326 权限: EPSG

投影坐标系:WGS_1984_Web_Mercator_Auxiliary_Sphere:WKID: 3857 权限: EPSG ,如果是ESRI内部使用的话,WKID就变成102100。




阅读全文
0 0
原创粉丝点击