2013-04-10 78 views
1

我很难理解shapefile的概念。我已经下载了形状文件,到目前为止我已经理解我必须使用像geotool这样的工具(我正在使用Java)将这些文件转储到mysql中。我的疑问是,如果我有经度和纬度,我怎么能得到这些经度长期下降的城市名称?我不想使用谷歌反向地理编码。 我在这方面的知识是非常有限的,所以如果我的问题不清楚,你帮我开门,我会清除更多... 的任何链接将helpul .. 感谢如何从java中的shapefile中获取城市名称

回答

0

可以存储一些结构来存储城市覆盖的纬度,经度范围。您可以将它建模为矩形或圆形的x,y坐标。然后做个像

if(city.contains(latitude, longitude) 
+0

其实它的其他地方。我想要这些矩形的形状,一些如何,在MySQL中,并做一个查询,如“选择城市名称,其中拉特= **和长= **”。这就是为什么我认为这些形状文件对这些很有用。我应该下载它们并插入数据库,然后我应该能够找出城市名称。我不确定这是否可能... – umesh 2013-04-10 10:32:51

+0

我认为这是一样的。一旦你从数据库中获得纬度/经度,你应该检查另一个包含城市覆盖的纬度/经度的数据库。或者,您可以即时计算后者,以防存储地球上每个城市的纬度/经度太多。我假设,你可以用一些图书馆来获得世界城市以及它们的经纬度对,然后说出在城市内部20公里范围内的每一处经纬度。 – Abraham 2013-04-10 13:34:00

0

您可以通过查看GeoTools的Shapefile Datastore读取和操作数据集开始测试。

现在,为了“获取城市名称”,除非您提供有关您正在使用的数据的一些信息,否则很难知道您的意思。

+0

我有一些美国国家的形状文件,我想注入他们到MySQL和当我有一个长期的搜索,通过使用MySQL数据我想找出在哪个城市这拉特长期下跌...欣赏耐心等待! – umesh 2013-04-10 10:34:17

+0

你解决了这个问题吗? – Boj 2013-11-06 01:16:25

相关问题