将 lat/long 转换为美国州
Convert lat/long to US State
我可以访问 lat/long 坐标列表,我想知道(大致)这些坐标所在的美国州。我可以处理精度损失,但我不能依赖在外部库或 API 上。我还可以在我的代码中添加位置数据库。
这样做的合理方法是什么?
我考虑了 3 种可能性:
- 用中心的单个点表示每个状态,然后进行最近邻搜索
- 用位于州内城市的点表示每个州,然后进行最近邻搜索(有更多的点)
- 用一个简单的边界框表示每个状态,然后使用某种算法查询我的点属于哪个边界框
你认为最好的是什么?我倾向于考虑解决方案 3,但我找不到美国各州的粗略“边界框”列表
- 不行,考虑
- 很有可能至少在某些州不起作用。考虑towns/cities更多聚集到中间的状态,反对towns/cities聚集到边缘的状态。
- 不会工作(这些应该是 90 度角,完美的正方形,但是用鼠标绘图很难:))
如果你想做到这一点,即使是模糊准确,你将需要一些形状数据来定义状态之间的边界。然后你需要一个算法来确定一个点是否在不规则多边形内
见List of the United States (US) state boundaries / borders as latitude/longitude pairs for geofence?
我进行了一些搜索,并找到了适合您使用边界框数据集寻找的解决方案。
Whosebug 上的回答:
数据集:LINK
要使用(实现)的算法:LINK
所以是的,正确的实现方法是使用给定数据集的解决方案 3。
希望对您有所帮助:)
我可以访问 lat/long 坐标列表,我想知道(大致)这些坐标所在的美国州。我可以处理精度损失,但我不能依赖在外部库或 API 上。我还可以在我的代码中添加位置数据库。
这样做的合理方法是什么? 我考虑了 3 种可能性:
- 用中心的单个点表示每个状态,然后进行最近邻搜索
- 用位于州内城市的点表示每个州,然后进行最近邻搜索(有更多的点)
- 用一个简单的边界框表示每个状态,然后使用某种算法查询我的点属于哪个边界框
你认为最好的是什么?我倾向于考虑解决方案 3,但我找不到美国各州的粗略“边界框”列表
- 不行,考虑
- 很有可能至少在某些州不起作用。考虑towns/cities更多聚集到中间的状态,反对towns/cities聚集到边缘的状态。
- 不会工作(这些应该是 90 度角,完美的正方形,但是用鼠标绘图很难:))
如果你想做到这一点,即使是模糊准确,你将需要一些形状数据来定义状态之间的边界。然后你需要一个算法来确定一个点是否在不规则多边形内
见List of the United States (US) state boundaries / borders as latitude/longitude pairs for geofence?
我进行了一些搜索,并找到了适合您使用边界框数据集寻找的解决方案。
Whosebug 上的回答:
数据集:LINK
要使用(实现)的算法:LINK
所以是的,正确的实现方法是使用给定数据集的解决方案 3。
希望对您有所帮助:)