【问题标题】:Creating accurate line buffer in ESRI Javascript API在 ESRI Javascript API 中创建准确的行缓冲区
【发布时间】:2014-10-21 23:56:19
【问题描述】:

我正在使用 ESRI JavaScript API v3.8。 (我知道 3.11 已经发布 - 还不能升级。)

我要做的是从用户选择的任意线(或点)创建用户提供的大小的几何缓冲区。部分相关代码如下:

var params = new esri.tasks.BufferParameters();
params.distances = [values.distance]; //the input distance                  
params.geometries = [gr.geometry]; //the input geometry
params.unit = esri.tasks.GeometryService.UNIT_FOOT;
params.outSpatialReference = mapView.map.spatialReference; //always 3857
params.bufferSpatialReference = gr.geometry.spatialReference; //always 3857

esri.config.defaults.io.corsEnabledServers.push('mydomain.com');
esri.config.defaults.io.proxyUrl = 'https://serverdomain.com/proxy';

var gsvc = new esri.tasks.GeometryService('https://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer');                   

gsvc.simplify(params.geometries, function(geometries){
    params.geometries = geometries;                     
    gsvc.buffer(params, function(geometries){
        //add output geometry to the map and perform spatial query with it                                                  
    }, function(err){
        //handle error
    });                 

}, function(err){
    //handle error
});

问题是,如果我使用 500(英尺)的输入距离,然后使用 ESRI 的测量工具测量到 self._queryGeometry 上输入几何图形中心线的距离,创建的多边形的实际宽度是中心线两侧大约 370 英尺。

由于我的测试对象位于伊利诺伊州,因此我已设法使用伊利诺伊州平面空间参考更准确地进行此操作,但逻辑需要在任何地方工作。

当我尝试做测地线缓冲区的各种化身时,输入距离单位似乎被忽略了,使用输入距离值 500,我得到一个跨越整个世界的缓冲区!要么是这样,要么结果是完全一样的,这取决于事情是如何设置的。

我认为我需要做一个测地线缓冲区,但我完全不知道如何以几何服务真正关注我发送的单位的方式进行。

任何想法将不胜感激。如果我遗漏了什么,请告诉我。

【问题讨论】:

    标签: javascript geometry buffer esri arcgis-js-api


    【解决方案1】:

    听起来某处可能存在空间参考问题。如果地图是这样,您可以尝试将几何图形重新投影到 3857 中,我会检查从缓冲区返回的几何图形并简化以确保它看起来像您期望的那样。我遇到了几何服务区域和长度返回稍微不正确的几何图形的问题,在我的情况下,它最终成为空间参考不正确的问题。另外,我知道你说你不能升级,但是 3.13 已经发布,可以在本地进行几何选项,而不需要代理或任何网络请求,如果可能的话,值得一试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-05
      • 1970-01-01
      • 2020-09-04
      • 1970-01-01
      • 1970-01-01
      • 2015-05-15
      • 2015-08-25
      • 1970-01-01
      相关资源
      最近更新 更多