c# – 给定坐标,如何获得10英里半径内的所有邮政编码?
发布时间:2020-12-15 03:59:06 所属栏目:百科 来源:网络整理
导读:我有一个位置(纬度和经度).如何获取在我所在位置的10英里范围内部分或全部的邮政编码清单? 该解决方案可以是对一个众所周知的Web服务(google maps,bing maps等)或本地数据库解决方案(客户端具有sql server 2005)或算法的调用. 我看到有些similar question,
我有一个位置(纬度和经度).如何获取在我所在位置的10英里范围内部分或全部的邮政编码清单?
该解决方案可以是对一个众所周知的Web服务(google maps,bing maps等)或本地数据库解决方案(客户端具有sql server 2005)或算法的调用. 我看到有些similar question,但是所有的答案在很大程度上涉及使用SQL Server 2008地理功能,这是不可用的. 解决方法
首先,您需要一个所有邮政编码及其对应纬度和经度的数据库.在澳大利亚,只有几千个(信息很容易获得),但是我认为这在美国可能比较困难.
其次,给你知道你在哪里,你知道你要找的半径,你可以查找那个半径范围内的所有邮政编码.用PHP编写的简单说明如下:(抱歉不在C#中) function distanceFromTo($latitude1,$longitude1,$latitude2,$longitude2,$km){ $latitude1 = deg2rad($latitude1); $longitude1 = deg2rad($longitude1); $latitude2 = deg2rad($latitude2); $longitude2 = deg2rad($longitude2); $delta_latitude = $latitude2 - $latitude1; $delta_longitude = $longitude2 - $longitude1; $temp = pow(sin($delta_latitude/2.0),2) + cos($latitude1) * cos($latitude2) * pow(sin($delta_longitude/2.0),2); $earth_radius = 3956; $distance = $earth_radius * 2 * atan2(sqrt($temp),sqrt(1-$temp)); if ($km) $distance = $distance * 1.609344; return $distance; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c# – List需要很长时间才能使用Nhibernate Criteria实例化
- Jekyll无法提供服务(Ruby不兼容的库版本)
- c# – 手动实例化的SessionState提供程序的问题
- NandFlash简介
- ruby-on-rails – 每个Rails应用程序有一台Redis服务器?
- 修改JSONObject源码使JSON官方的java扩展支持对汉字进行asc
- iphone – 无法从Info.plist读取
- 【学神】 1-20正则表达式以及sed、awk的使用
- net.sf.json.JSONException: java.lang.reflect.Invocation
- .net – 如何将现有的Xml字符串添加到XElement中