缓冲区分析中 value值很小但距离很大

0 投票
351 浏览
编辑SuperMap.REST.BufferDistance中value值设的很小,但是显示的区域很大。默认单位不是米吗??

为什么会这样,求大神指点。
最新提问 7月 26, 2017 分类:  351次浏览 | 用户: 好好聊天 才疏学浅 (15 分)

1个回答

0 投票
 
已采纳

SuperMap.REST.BufferSetting
类有参数说明,DatasetBufferAnalyst默认单位米,且可设置单位;GeometryBufferAnalyst不能设置单位,默认为地图的投影系的单位(如3857为米,4326为度)。

最新回答 7月 26, 2017 用户: 毛瑞 名扬四海 (1,768 分)
采纳于 7月 26, 2017 用户:好好聊天
现在使用GeometryBufferAnalyst,投影是度为单位,想转行成米有什么好的办法吗??

1.粗略计算,赤道经度一度 111.2 km,其他地方经度一度 111.2*cos纬度 km
2.较精确计算,WGS84椭球体使用 destinationVincenty 方法先获取到间隔指定距离(单位米)的两点,再通过两点距离公式(根号(x1-x2)^2+(y1-y2)^2)计算两点经纬度距离。

大神,查询过滤条件参数类(FilterParameter)中图层名(name)实现和变量匹配该怎么写?直接调用或者‘“+a+”’都不可以。。。
自己拼接字符串,图层名要写对,可以从iDesktop 打开地图右键图层属性或iServer地图服务layers资源下查看地图名(不能使用图层标题)
怎么拼接。。。

例如:queryParam =new SuperMap.REST.FilterParameter({name:"Company@Changchun.2"});

用 var a = "Company@Changchun.2";

queryParam =new SuperMap.REST.FilterParameter({name:"a"});或 者queryParam =new SuperMap.REST.FilterParameter({name:"'"+a+"'"});

或者 var a = "Company", b ="Changchun.2";

queryParam =new SuperMap.REST.FilterParameter({name:"a@b"});

都不成功
var a="123",b="abc";
"a@b"="a@b";
a+"@"+b="123@abc";
谢谢大神
...