Java 将lat/long转换为美国州
我可以访问一个lat/long坐标列表,我想知道(大概)这些坐标所在的美国州。我可以避免精度损失,但我不能依赖外部库或API。我还可以在代码中添加位置数据库 这样做的合理方式是什么? 我考虑了三种可能性:Java 将lat/long转换为美国州,java,geolocation,Java,Geolocation,我可以访问一个lat/long坐标列表,我想知道(大概)这些坐标所在的美国州。我可以避免精度损失,但我不能依赖外部库或API。我还可以在代码中添加位置数据库 这样做的合理方式是什么? 我考虑了三种可能性: 以每个状态中心的一个点表示每个状态,然后进行最近邻搜索 通过位于该州城市的点表示每个州,然后执行最近邻搜索(具有更多点) 用一个简单的边界框表示每个状态,然后使用一些算法查询我的点属于哪个边界框 你认为什么是最好的?我倾向于考虑解决方案3,但我找不到美国各州粗略的“边界框”列表 想想看,这是行
请参见我进行了一些搜索,找到了一个合适的解决方案,用于使用边界框数据集查找内容 关于StackOverflow的答复: 数据集: 要使用(实现)的算法: 因此,正确的实现方法是使用解决方案3和给定的数据集
希望有帮助:)你不能使用外部库,因为这是学校的作业?@NomadMaker不,我真的不能为此拉大外部依赖关系。谢谢!我一直在努力找出这个数据集,非常感谢!请记住,由于数据集不能达到100%精度,因此总会出现一些精度错误!事实上,前两种方法非常不准确,但它们也相当快(至少是方法1)。我将试着集中讨论方法3