如何在一个点的半径内显示邮政编码的结果

Posted

技术标签:

【中文标题】如何在一个点的半径内显示邮政编码的结果【英文标题】:how to show results of postcodes within a radius of a point 【发布时间】:2019-03-30 18:05:21 【问题描述】:

你好,有另一个问题大声笑,我有一个有几列的表; 2 其中经纬度等是犯罪类型,我需要做的是计算出从某个点到x米的范围内发生了多少犯罪

我需要找到从 E:307998m, N:188746m 到这一点 250m, 500m 和 1km 发生的犯罪数量

我们将不胜感激,甚至只是朝着正确的方向推动 谢谢

【问题讨论】:

使用 GIS 软件,如 ArcGIS(大美元)或 OSGeo(免费)。 点评accessforums.net/showthread.php?t=50761 请看meta.***.com/questions/334822/… 也可以看看这个“更官方”的页面:***.com/help/on-topic。见#3。 【参考方案1】:

多么有趣的问题。以下可能会有所帮助。

您可以使用毕达哥拉斯定理来计算点(在本例中为 [100,100])与任何事件的距离,然后计算距离小于阈值且类型正确的总和。

 # select * from test;
┌─────┬─────┬──────┐
│  x  │  y  │ type │
├─────┼─────┼──────┤
│ 100 │ 100 │    1 │
│ 104 │ 100 │    1 │
│ 110 │ 100 │    1 │
│ 110 │ 102 │    1 │
│  50 │ 102 │    2 │
│  50 │ 150 │    2 │
│  50 │ 152 │    3 │
│ 150 │ 152 │    1 │
│  40 │ 152 │    1 │
│ 150 │ 150 │    2 │
└─────┴─────┴──────┘
(10 rows)
 select count(*) from test where sqrt((x-100)*(x-100)+(y-100)*(y-100))<30 and type = 1;
┌───────┐
│ count │
├───────┤
│     4 │
└───────┘
(1 row)





【讨论】:

是的,很有趣……也是学生独立思考的机会。请看meta.***.com/questions/334822/… 谢谢,太好了,只需将 sqrt 更改为 sqr

以上是关于如何在一个点的半径内显示邮政编码的结果的主要内容,如果未能解决你的问题,请参考以下文章

如何在另一个点的半径内生成随机纬度和经度?

如何获取所有在某处半径内以及我正在寻找的半径内的数据?

允许用户在半径内找到其他用户

如何返回邮政编码列表的## 英里半径内的所有实例

SQL查询位置半径内的总点数

如何在特定半径内的地图上显示点