https://stackoverflow.com/a/4682656/7924630这是一个非常有用的答案,帮助我解决这个问题
function polygonArea(X, Y, numPoints) {
let area = 0; // Accumulates area in the loop
let j = numPoints-1; // The last vertex is the 'previous' one to the first
for (i=0; i<numPoints; i++) {
area = area + (X[j]+X[i]) * (Y[j]-Y[i]);
j = i; //j is previous vertex to i
}
return area/2;
}
let xpoints = [];
let ypoints = [];
let lat_dist = (6371009 * Math.PI) / 180;
var i;
for (i = 0; i < points.length; i++) {
let cartoPoint = Cesium.Cartographic.fromCartesian(points[i]);
let lng = cartoPoint.longitude;
let lat = cartoPoint.latitude;
xpoints[i] = lng * lat_dist * Math.cos(lat);
ypoints[i] = lat * lat_dist;
};
surfaceArea = polygonArea(xpoints, ypoints, xpoints.length);
出于某种原因,这返回的区域值很小,我不明白为什么。例如,我在一个矩形区域上测试了这个。面积应该约为45平方米,但它返回0.0137平方米。我尝试了其他的实现,但没有找到任何对本机JavaScript有用的东西。
你对多边形面积使用鞋带公式,这里它给出了球面多边形的近似值。最后添加math/abs
,独立得到横移方向的结果,并注意赤道和第0经线坐标符号的变化。
但是由于这个问题,计算是不正确的:
cesium.cartographic.FromCartesian
函数返回以弧度表示的结果坐标
let lat_dist = 6371009;
我正在尝试使用臭氧监测仪器(OMI)的数据文件,并将该来源的数据与监测类似数据的地面仪器进行比较。 最终,我想知道它们是否在一个特定的多边形内。然而,要做到这一点,我需要创建我想象的多边形。 我有以下变量 latmat和lonmat当然都比两个指数大得多,但我尽量保持这些简单。这些值分别表示四角卫星像素的纬度和经度点。 最重要的是,我在表格中也有数据 我如何着手创建一个地理数据框架与地理平台,识别
问题内容: 我的桌子有经度和纬度 所以我想要的是我要从页面传递两个经度和纬度。如何使用存储过程查找最近的地方?我没有太多帮助,所以我必须在这里询问 尝试过使用这个 但是我必须将其与表值进行匹配,所以我该如何实现呢? 问题答案: 您可以在SQL中使用与上面显示的查询类似的查询,其中和是要搜索的变量值。该和是从你的表的列名。顺便说一句,这称为Haversine公式,该常数用于获取以KM为单位的距离,而
问题内容: 我搜索了有关如何计算地球多边形表面积的解释和算法。我发现了这个,这 说我已经凸出了船体点 从第二个链接开始,第一个答案使用Python库,而第二个答案的方法即使我们假设地球是球形,也不会给出非常精确的区域(我是对的)吗?如果我们假设地球是球形,我可以采取什么方法来计算面积(便宜些)? 另外,我寻找了不同的库(geotools.org等),但是在它们有关面积计算的文档中找不到。 问题答案
我正在试用google places api。 我可以搜索酒店或我想要的任何东西,并可以将这些位置保存在我的数据库中,包含google places API提供的任何信息。我的计划是,任何用户都可以保存其实际位置。在下一步中,用户应该看到,其他用户都在附近。 我怎么能这样做?有什么方法可以用谷歌地图的经纬度计算吗? 希望你能理解我的好英语: D
问题内容: 我很难缠一些三角学。我正在尝试根据起始纬度,对数,距离和方位来推论目标纬度和经度。 幸运的是,我找到了一个令人惊叹的网站,该网站准确地描述了我需要的功能:http : //www.movable- type.co.uk/scripts/latlong.html “给定目标点的距离并与起点保持距离”我尝试了java程序,但对我不起作用。我按照网站所述部署它。这是我的代码: 但它显示的输出
echarts地图不能根据多个经纬度标出区域范围,类似画多边形吗? 官方有个画多边形的示例,但是要配合百度地图才行。 直接在echarts地图上画多边形,按照官方文档进行配置了,但是没效果。不知道是哪里出了问题,还是说不支持这个功能?