我在PostgreSQL中有一个表,其中包含某些地方的纬度和经度。我正在使用flask-sqlalchemy来查询postgres数据库。像这样:
query = db.session.query(Places).all # Place is the Modal class
现在我在数据库中插入值,如下所示:
user = Places(request.json['key'], request.json['place_name'],
request.json['latitude'], request.json['longitude'])
db.session.add(user)
我的主键是user.key
,以避免重复记录。但我也想避免插入那些lat / long足够接近已经存在于数据库中的记录。
例如:db 28.704661, 77.101484
中存在以下lat / long现在我不希望db允许插入足够接近此lat / long的值。
所以,当我尝试插入这个28.704420, 77.101167
时,它会给我一个错误。
我要做的一件事是检查小数点后的三位小数,不允许输入少于六位小数。但是在本页的答案Accuracy of lat long上给出的是赤道附近的1位变化可以变化长达111公里等等。我认为可以找到更好的方法。