计算两点之间的距离,包括国家边界信息
Posted
技术标签:
【中文标题】计算两点之间的距离,包括国家边界信息【英文标题】:Calculate distance between two points including country borders info 【发布时间】:2014-05-20 11:33:00 【问题描述】:我正在尝试找到任何可以计算 A 点和 B 点之间距离的解决方案,但包括有关国家边界的信息。我检查了 Google Maps 和 Bing Maps API——它们都不提供此类功能。
有什么建议吗?提前谢谢你
【问题讨论】:
边界与计算距离有什么关系?我看不出政治如何改变 Haversine 公式:bigdatanerd.wordpress.com/2011/11/03/… 这与政治无关。我需要这些信息来计算旅行价格,一个国家/地区的每公里价格可能与其他国家/地区的每公里价格不同。我不是在说关于增值税)) 现在您必须弄清楚如何计算边界和路径之间的交点,并将路径积分/总和分成两部分。我什么都没有给你。 这可以帮助Google Maps API - detect when crossing state lines and calculate distance travelled in each state 【参考方案1】:首先,您可以创建一个国家边界数据库。国界很容易在网上找到。这是一个来源:http://www.diva-gis.org/Data
您可以在此处使用 Shp2Sql 工具将这些上传到 SQL 2008/2012 或 Azure(快速版免费):http://www.sharpgis.net/page/Shape2SQL.aspx
然后使用 Bing 地图,您可以计算路线并获取路线点。您可以使用路线点创建 LineString 对象并针对国家/地区数据进行交叉测试,以获取该线路通过的所有国家/地区边界。然后,您可以遍历每个生成的国家并将线裁剪到该国的边界。使用裁剪线,您可以测量它的长度。所有这些都可以使用 SQL 中的空间工具来完成。这里有一些有用的链接。
http://msdn.microsoft.com/en-us/library/ff701713.aspx
http://technet.microsoft.com/en-us/library/bb933901.aspx
http://technet.microsoft.com/en-us/library/bb933962.aspx
http://technet.microsoft.com/en-us/library/bb933895.aspx
【讨论】:
以上是关于计算两点之间的距离,包括国家边界信息的主要内容,如果未能解决你的问题,请参考以下文章