如何在Postgresql中从经纬度中查找城市名称?
我有一个数据库,其中存储了各种属性的纬度和经度。我想知道,这些房产属于哪个城市(所有房产都在美国) 谈到Postgresql,首先需要获取美国城市边界形状文件的数据。可能的地点是如何在Postgresql中从经纬度中查找城市名称?,sql,postgresql,analytics,postgis,Sql,Postgresql,Analytics,Postgis,我有一个数据库,其中存储了各种属性的纬度和经度。我想知道,这些房产属于哪个城市(所有房产都在美国) 谈到Postgresql,首先需要获取美国城市边界形状文件的数据。可能的地点是 https://www.census.gov/geo/maps-data/data/tiger.html https://www.census.gov/geo/maps-data/data/tiger-cart-boundary.html https://catalog.data.gov/dataset?tags=
https://www.census.gov/geo/maps-data/data/tiger.html
https://www.census.gov/geo/maps-data/data/tiger-cart-boundary.html
https://catalog.data.gov/dataset?tags=cities
然后将数据导入postgres。我假设您的属性数据已经存储在postgres中。确保城市边界的SRID几何体类型为4326。如果没有,可以使用ST_变换函数轻松地进行转换
最后,要检查某个特定的lat/long属于哪个城市,需要将lat/long转换为点几何图形,并对照城市数据进行检查。e、 g应该是这样的事情
SELECT c.city_name FROM cities_boundaries AS c, properties AS p
WHERE ST_CONTAINS(c.geom, ST_SetSRID(ST_MakePoint(p.longitude, p.latitude), 4326))
请试用google MAP API如何将google MAP API集成到我的SQL查询中?首先,使用SQL查询获取lat或long。然后在此API中传递lat或long)我的目标是使用SQL完成整个过程(如果可能的话),而不使用任何其他脚本语言。因此,我的问题是,如何使用SQL进行API调用?如果在Postgis中加载tiger扩展(不使用Google Maps),则只能使用SQL进行调用。按照本页和本页上的说明进行操作: