微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vb.net – 是否有将纬度和经度更改为单个数字的公式?

你能否告诉我是否有一个公式可以将纬度和经度改为一个数字?

我计划将此用于软件中的数据库表,该软件提供交付路由.表格行将包含该号码以及邮政地址.数据库表将按升序排序,因此软件可以确定卡车需要前往哪个地址,第二个等等.

请您回复显示VB或VB.Net语法,以便了解它是如何工作的?

例如,我会使用以下数字作为纬度和经度:
Lat = 40.71412890
长= -73.96140740

附加信息:

我正在使用Basic4Android开发Android应用程序. basic4android使用VB或VB.Net语法和sqlite作为数据库.

此应用程序的一部分将具有路线规划.我想将此数字用作sqlite表中的第一列,其他列将用于该地址.如果我在应用程序中进行查询,按数字升序对行进行排序,我将能够确定哪个邮政地址彼此最接近,这样我就可以花更少的时间去挨家挨户.

例如,如果数字是:
194580,199300,178221

我可以去邮政地址178221,然后到194580,最后到199300,在分拣后,我不需要花很长时间去城里做我的分娩.

作为一种替代方案,如果有一种简单的方法可以调用Web服务,如果我向网站发送邮件地址,则可能会返回具有单个号码的json响应,我会很高兴. basic4android确实有可以向网站发送请求的http服务.

解决方法

纬度和经度都可以表示为4字节整数,使得坐标具有3cm的精度,这对于大多数应用来说是足够的.

从纬度和经度创建一个长8字节值的步骤:

1)将lat和lon转换为int by:int iLat = lat * 1E7;
2)使用8字节长的值来存储4字节int.
   将上4字节设置为纬度,将4字节设置为经度.

现在你有一个8字节的长度代表世界上一个高达3厘米精度的点.

还有其他更好的解决方案,例如在近处保留类似数字的解决方案,但这些解决方案更复杂.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐