如何使用C#/ SQL Server 2008空间“平均”两个或更多地理线串
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何使用C#/ SQL Server 2008空间“平均”两个或更多地理线串,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1525字,纯文字阅读大概需要3分钟。
内容图文
假设我从一项关于特定候鸟行为的研究中得到了一组结果.这只鸟已被标记,GPS接收器记录了它在五年内每年所遵循的迁移路径.
结果存储在SQL Server表中,该表包含每年路径的一个地理线串.
你将如何定义代表五年期间“平均”路径的线串?
请注意,每个样本线串可能包含不同数量的点.它们也不会以完全相同的点开始和结束.
到目前为止,我得到的最好方法是使用插值来确定沿每个线串的特定设定比例的点.因此,例如,起点,四分之一路,沿着每条路线的中途等.
然后计算所有路线上这些位置的平均纬度/经度,并从这些平均点构建新的地理线串.
我查看了一些计算几何书籍,看看是否有更好的已知算法或技术来做到这一点,但似乎没有任何相关性.我不敢相信这不是其他人之前没有做过的事情……
我不需要确切的代码 – 只是建议任何更好的一般方法.我也不需要“超精确”.作为旁注,我理想地喜欢这种方法也适用于两个或多个多边形.
谢谢你的任何建议!
解决方法:
我现在无法发布任何示例代码,因为我现在在iPhone上工作,但我确实有一个建议(不知道它的好坏)…
对于每一行,确定沿线的每个顶点的位置(百分比).
获取这些值后,每行使用所有OTHER行的百分比值沿每行计算新顶点.
此时,每条线应包含相同数量的顶点,并且每条线的第N个顶点直接对应于每隔一条线的第N个顶点.
现在只需为每一行平均顶点0以获得“平均”线的顶点0.重复每行的vertex1等.
这应该适用于线条和多边形.
请注意,如果可以确定每条线的精度值,也可以使用加权平均算法.在过去,我尝试平均两条线时使用了这种方法.我们有能力允许每一行加权,通常是50:50,但可以一直到100:0或0:100,具体取决于来源的准确性.
我回过头来重读你的问题,看到你已经谈过插值了.在计算插值点(固定间隔点)的平均值之前,你谈到这样做的方式似乎可以平滑或概括线.通过我的方法,您将首先致密每行,然后计算平均值.看起来这可能更准确,但也许不是.
内容总结
以上是互联网集市为您收集整理的如何使用C#/ SQL Server 2008空间“平均”两个或更多地理线串全部内容,希望文章能够帮你解决如何使用C#/ SQL Server 2008空间“平均”两个或更多地理线串所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。