小编AzI*_*z00的帖子

转换ArcGis地理坐标Lat Long wkid:4326到投影坐标wkid:102000/3857

使用JS ArcGis API时,是否可以在lat中创建一个点,并且像这样长

var testPoint = new Point(-98, 38);
Run Code Online (Sandbox Code Playgroud)

或这个

var testPoint = new Point(-98, 38, new SpatialReference({ wkid: 4326 }));
Run Code Online (Sandbox Code Playgroud)

并将其转换为不同的SR,以便其x和y自动更改?例如,wkid 102000/3857?

背景:(也许你可以找到一个解决方法)

我正在使用heatmap.js在ArcGis地图上绘制heatmapLayers.我找到了一些示例,这个API提取数据的方式是使用data以下格式的变量:

var data = [
  {
    attributes: {},
    geometry: {
      spatialReference: { wkid: ****},
      type: "point",
      x: -40,
      y: 50
    }
  },
  {another point....}
];
Run Code Online (Sandbox Code Playgroud)

API本身对data变量进行一些解析,然后使用此方法

screenGeometry = esri.geometry.toScreenGeometry(this._map.extent, this._map.width, this._map.height, parsedData.data[xParsed][yParsed].dataPoint);
Run Code Online (Sandbox Code Playgroud)

parsedData.data[xParsed][yParsed].dataPoint在最终绘制热图之前转换解析的point().

主要的问题是无论我传递到什么wkid(之前的代码中的****),它都将它解释为wkid:102000,这就是我之前想要自己进行坐标转换的原因.

我想esri.geometry.toScreenGeometry实际进行转换应该是任务,但正如我所说,它忽略了wkid.

先谢谢,

javascript esri arcgis heatmap arcgis-js-api

4
推荐指数
1
解决办法
4355
查看次数

编译错误:预期:=

在 Sub DateDiff 中实现 Sub TabPaint 时出现错误

Public Sub TabPaint(ss As Integer, cc As Integer)
  With Sheets(ss).Tab
      .Color = cc
      .TintAndShade = 0
  End With
End Sub


Public Sub DateDiff(date1 As String, date2 As String, shn As Integer)
    If DateDiff("d", date1, date2, vbMonday, vbFirstJan1) < 0 Then
        TabPaint (shn, 255)
    Else
        TabPaint(shn,5287936)
    End If
End Sub
Run Code Online (Sandbox Code Playgroud)

excel vba

2
推荐指数
1
解决办法
3584
查看次数

标签 统计

arcgis ×1

arcgis-js-api ×1

esri ×1

excel ×1

heatmap ×1

javascript ×1

vba ×1