8

我正在尝试获取用户的坐标并获取该地区最近的大学的简短列表。

所以我最初的想法是用大量的大学和坐标来填充我自己的 MySQL,这样我就可以使用搜索算法将最近的少数大学与我数据库中的数据进行匹配。

实现起来现实吗?为了找到所有大学的列表,我查看了:this question,当我访问该站点时,文件似乎被导出为 .uid?我不确定如何处理这个问题。另外,如果我有大学列表,如何获得它们的坐标?地理编码器会工作吗?如果可能的话,我还想要一份高中名单,但现在先忽略它。

你怎么看?我错过了什么吗?有没有更有效的方法来获取离用户最近的大学列表?

4

4 回答 4

3

如果您有所有大学的列表及其地址,您可以使用 Google 地理编码 API https://developers.google.com/maps/documentation/geocoding/来检索坐标。您可以编写一个脚本,用信息填充数据库表。

编辑:

我找到了这个网站:http ://www.a2zcolleges.com/address_phone/addressindex.htm ,也许它可能会有所帮助。

于 2012-10-09T08:21:25.440 回答
0

您是否尝试过查看Google Maps API?也许您可以搜索大学,然后解析结果。

看起来你可以做一个地方搜索,然后使用大学地方类型

于 2012-10-09T08:21:58.893 回答
0

您能否仅了解大学所在城市的纬度/经度,或者这是用于本地搜索,其中 +/- 1 英里或 2 英里很重要?Maxmind 提供了一个免费的城市坐标数据库,您可以根据城市的大学列表进行交叉引用

Maxmind世界城市

编辑

这是美国邮政编码长/纬度坐标列表,您可以使用我在上面的评论中发布的大学地址 csv 数据库链接进行交叉引用。如果您需要国际邮政编码,他们在 maxmind 邮政编码部分有几个很好的链接

美国邮政编码

于 2012-10-09T08:26:43.283 回答
0

我相信 Google Geocoding API 有使用限制。我已经通过两种方式批量检索了大学的地理坐标。第一个很复杂,只为后人提及。

(1) 这种方式使用了一个非常迂回的过程,涉及到 OpenRefine ( http://openrefine.org/)——以前的 Google Refine。它需要在您的计算机(Windows、Mac、Linux)上运行 Java。但是因为这很复杂,所以我要说的是你需要:

  • (a) 在 OpenRefine 中添加 dbpedia.org 协调服务;
  • (b) 使用模式 dbo:university 对您的大学列表进行核对;
  • (c) 从协调后的列中检索 dbpedia url;
  • (d) 将 url 转换为 .json 版本;
  • (e) 使用 .json URL 运行“获取 url”;
  • (f) 使用内置的 GREL 函数(或 Jython)解析坐标的结果。

你可以看到它是多么的迂回,但它适合我,因为我每天都使用 OpenRefine。

(2) 不太迂回的路线是使用您的大学列表直接在 dbpedia.org 上运行 SPARQL 查询。然而,SPARQL 是一种后天习得的品味,可能会让人混淆语法。在做对之前,我必须做大量的阅读和偶然测试。

现在,为了把这完全联系起来,dbpedia.org 是 wikipedia.org 的结构化等价物。你可能会对此嗤之以鼻,但对于大学/大学入学申请,一些基本信息通常非常准确——包括地理坐标、确定日期、位置、网站等。

于 2015-08-06T07:54:11.123 回答