社区
数据结构与算法
帖子详情
已知多个地理坐标,如何计算这多个点组成的多边形的面积?
tfp
2010-01-11 03:06:22
已知多个地理坐标,如何计算这多个点组成的多边形的面积?
目的是要测算出农场的面积公顷
http://local.wasp.uwa.edu.au/~pbourke/geometry/polyarea/
参考算法
可支付报酬,感谢关注
...全文
3582
45
打赏
收藏
已知多个地理坐标,如何计算这多个点组成的多边形的面积?
已知多个地理坐标,如何计算这多个点组成的多边形的面积? 目的是要测算出农场的面积公顷 http://local.wasp.uwa.edu.au/~pbourke/geometry/polyarea/ 参考算法 可支付报酬,感谢关注
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
45 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
天下第一好大人
2010-01-18
打赏
举报
回复
[Quote=引用 43 楼 tfp 的回复:]
那这个程序怎么验收测试呢?
[/Quote]
看你的用户是什么群体了,如果是政府机构,自然可以找土地局要农场的面积(手工测量的),然后你放出一个beta版给用户,如果误差太大就分析原因,修改。主要是和用户之间的交流。
以上纯属个人看法。
xuelong_zl
2010-01-18
打赏
举报
回复
汗,学习一下
tfp
2010-01-15
打赏
举报
回复
那这个程序怎么验收测试呢?
tristan0602
2010-01-14
打赏
举报
回复
给的引文中的第一个公式应该就好用吧。每三个顶点构成一个三角形,每个三角形的面积和为:
两条边向量的叉乘。求和,即为公式1
天下第一好大人
2010-01-14
打赏
举报
回复
[Quote=引用 41 楼 tfp 的回复:]
晕噢,如果差不多得话,那感觉有点悬
哪里可以搞到官方数据,测试用用,我有点纳闷,怎么算出每个行政区得面积得,还有国土面积???
[/Quote]
国家有专门的测绘局,国土面积不可能精确。
我觉得大尺度就要用卫星遥感影像,中等尺度就用航拍,小尺度就要人工用测距尺之类的手工测量。
指导原则就是误差在可接受的范围内。
一般地理数据都是保密的,如果商业化的话,一些gis公司也有。
tfp
2010-01-14
打赏
举报
回复
晕噢,如果差不多得话,那感觉有点悬
哪里可以搞到官方数据,测试用用,我有点纳闷,怎么算出每个行政区得面积得,还有国土面积???
天下第一好大人
2010-01-13
打赏
举报
回复
我们农场那就是人工测量的,测量人员连几何都不太懂。
你这个需求到底是多大规模,误差能容许到多少?我觉得即使上万公顷,用前面的平面去近似也够了。
至于测试,我觉得没有必要,因为前面提出的方法都是严格符合几何的,误差就在于地球的球形和地面的不平整。
[Quote=引用 38 楼 tfp 的回复:]
还有个问题,怎么测试呢? 总不见得拿个皮尺去量这些点,然后在计算面积吧??
[/Quote]
tfp
2010-01-13
打赏
举报
回复
还有个问题,怎么测试呢? 总不见得拿个皮尺去量这些点,然后在计算面积吧??
xingzhe2001
2010-01-12
打赏
举报
回复
[Quote=引用 28 楼 tfp 的回复:]
还涉及把地理坐标转成平面坐标, 这个领域不太熟悉,所以来这拜托各位领域专家
[/Quote]
地理坐标是3维的?经纬度?经纬度的话肯定要转化为千米吧
tfp
2010-01-12
打赏
举报
回复
还涉及把地理坐标转成平面坐标, 这个领域不太熟悉,所以来这拜托各位领域专家
donkey301
2010-01-12
打赏
举报
回复
[Quote=引用 24 楼 tfp 的回复:]
引用 20 楼 donkey301 的回复:
引用 13 楼 tfp 的回复:
LS的靠谱,能否帮我下,你的这个用什么c,能跨平台么?
别管我的具体代码,你只要知道怎么算的,很容易就能写出一个类似的,14楼的联接你可以参考一下。
重复造笼子啊???
你帮我写了,才是资源最优化呀
有酬,请速q我!
[/Quote]
16楼已经给你写完代码了,你直接可以用。
michael122
2010-01-12
打赏
举报
回复
3楼正解,而且复杂度也低
第一种方法实际上是积分
第二种更直观一些
两种方法都需要考虑面积的正负号
alphaxiang
2010-01-12
打赏
举报
回复
http://local.wasp.uwa.edu.au/~pbourke/geometry/polyarea/
原理:连接所有多边形定点与原点,根据三角形面积公式:S=a*b*Sin(C)/2
则三角形OPiPi+1的面积为:OPi*OPi+1 OPi,OPi+1为向量。积为向量外积Pi,Pi+1为顺时针时结果为正,否则结果为负
则逆时针绕多边形一周所有相邻向量积之和恰好为多边形面积。
xingzhe2001
2010-01-12
打赏
举报
回复
可不可以这样,找个参照物,比如一般电线杆的距离是100米,那么你根据这个可以计算一个纬度/经度是多长
xingzhe2001
2010-01-12
打赏
举报
回复
精确的不好弄了,要考虑地形的实际情况了,在高原肯定比在平原算得面积大
tfp
2010-01-12
打赏
举报
回复
so... 哪个可以用呢?
这代码要用在土地丈量上,最好给个标准专业的算法,别把农场面积少算了啊,
谢过啦
天下第一好大人
2010-01-12
打赏
举报
回复
lz说不用三维
那计算时只能近似成球面转换长度,然后近似成平面计算面积了
事实上高高洼洼必然会影响面积
[Quote=引用 33 楼 mysword 的回复:]
哪有那么简单,地球不是完美的圆球
引用 32 楼 xingzhe2001 的回复:
那很好转阿,首先算出当地一个经度是多少千米,一个纬度是多少千米,然后坐标就出来了。
计算方法:
比如一个点的经纬度是(J,W),地球半径R
首先根据纬度算出纬圈的周长 C = 2*Pi*R*cos(W);
所以一个经度的千米就是 C/360
一个纬度的千米是2*Pi*R/360.
[/Quote]
gnefuil
2010-01-12
打赏
举报
回复
哪有那么简单,地球不是完美的圆球
[Quote=引用 32 楼 xingzhe2001 的回复:]
那很好转阿,首先算出当地一个经度是多少千米,一个纬度是多少千米,然后坐标就出来了。
计算方法:
比如一个点的经纬度是(J,W),地球半径R
首先根据纬度算出纬圈的周长 C = 2*Pi*R*cos(W);
所以一个经度的千米就是 C/360
一个纬度的千米是2*Pi*R/360.
[/Quote]
xingzhe2001
2010-01-12
打赏
举报
回复
那很好转阿,首先算出当地一个经度是多少千米,一个纬度是多少千米,然后坐标就出来了。
计算方法:
比如一个点的经纬度是(J,W),地球半径R
首先根据纬度算出纬圈的周长 C = 2*Pi*R*cos(W);
所以一个经度的千米就是 C/360
一个纬度的千米是2*Pi*R/360.
tfp
2010-01-12
打赏
举报
回复
用gps设备测出多个点的经度纬度, A,B,C,D,E,.. 然后求出这几个点组成的地区的面积公顷
三纬。。。 应该不用吧?
加载更多回复(24)
经纬度坐标下的球面
多边形
面积
计算
公式
经纬度坐标下的球面
多边形
面积
计算
公式
通过坐标
点
位,
计算
多边形
面积
多边形
面积
本文使用三角形
面积
累计法
计算
多边形
面积
,就是将
多边形
按照一个顶
点
,分割成
多个
三角形,
计算
三角形的
面积
,累加,得到
多边形
的
面积
。 当然,这个算法也有一些缺
点
,当这个
多边形
比较奇怪的时候,不能将
多边形
按照一个顶
点
分割成
多个
三角形
面积
之和,比如: 本文先按照常规的
多边形
进行处理,特殊情况之后再分析。 栗子 由于基本的测量
点
位坐标都是dat文本格式的,本文采用读取txt/dat格式的文本
点
位数据,更符合测量的操作。 data的数据如下所示: 这里简单以五个
点
组成
的五边形为例,保存到path中。 d
已知
多边形
各顶
点
坐标如何
计算
多边形
面积
多边形
的
面积
可通过分割成很
多个
三角形
面积
之和来求得! 通过
多边形
各顶
点
坐标可以求得各边长,再采用海伦公式,
计算
分割后的小三角形的
面积
。 海伦公式如下: 假设在平面内,有一个三角形,边长分别为a、b、c,三角形的
面积
S可由以下公式求得: S=sqrt(p(p-a)(p-b)(p-c)) 公式中的p为半周长: p=(a+b+c)/2
计算
任意
多边形
的
面积
(
已知
各顶
点
的坐标)
如何
计算
一个
多边形
的
面积
,首先想到的是划分成
多个
小的三角形,因为三角形我们比较熟悉,而且三角形
计算
面积
的方法也很多三角形:1. 半周长 P=(a+b+c)/22.
面积
S=aHa/2=absin(C)/2=sqrt(P(P-a)(P-b)(P-c))3. 中线 Ma=sqrt(2(b^2+c^2)-a^2)/2=sqrt(b^2+c^2+2bccos(A))/24. 角平分线 Ta=sqrt(b...
已知
多边形
的各
点
坐标,求
多边形
的
面积
输入数据包含
多个
测试实例,每个测试实例占一行,每行的开始是一个整数n(3 <= n <= 100),它表示可以的边数(当然也是顶
点
数),然后是按照逆时针顺序指定的n个顶端的坐标(x1,y1,x2,y2 … xn,yn),为了简化问题,这里的所有坐标都用整数表示。输入数据中所有的整数都在32位整数范围内,n = 0表示数据的结束,不做处理。对于每个测试实例,请输出对应的
多个
面积
,结果精确...
数据结构与算法
33,027
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章