另一种方法是将数据添加到PostGIS表中的多个记录中
Nicklas,谢谢你回答我之前的问题 请原谅我的无知,请原谅我问了一些可能很简单的问题,但数据库不是我的专业领域 select语句提供了每个percinct中的崩溃数: 从nycpp P,nyccrash C中选择P.PRECINT,计数(C),其中_st_包含(P.the_geom,C.crashpoint)组,按P.PRECINT顺序按P.PRECINT排序 我只想将计数添加到我的nycpp表中。保存计数的变量是崩溃数 再次感谢您的帮助 克里斯你好 我假设辖区是nycpp中唯一的id,那么您可以尝试:另一种方法是将数据添加到PostGIS表中的多个记录中,gis,postgis,Gis,Postgis,Nicklas,谢谢你回答我之前的问题 请原谅我的无知,请原谅我问了一些可能很简单的问题,但数据库不是我的专业领域 select语句提供了每个percinct中的崩溃数: 从nycpp P,nyccrash C中选择P.PRECINT,计数(C),其中_st_包含(P.the_geom,C.crashpoint)组,按P.PRECINT顺序按P.PRECINT排序 我只想将计数添加到我的nycpp表中。保存计数的变量是崩溃数 再次感谢您的帮助 克里斯你好 我假设辖区是nycpp中唯一的id,那么
update nycpp set number_of crashes=a.n_crashes from
(SELECT P.precinct, count(C) as n_crashes FROM nycpp P, nyccrash C
WHERE _st_contains(P.the_geom, C.crashpoint)
GROUP BY P.precinct
ORDER BY P.precinct) a
where nycpp.precinct=a.precinct;
但是为什么要使用_st_contains而不是st_contains呢
下划线版本不会使用您的空间索引,但在运行下划线版本之前,st_contains将执行第一个indexscan查找相交边界框的操作
因此,您可能绝对希望使用st_contains而不是contains。如果您的表足够大,需要索引:在这个查询中,空间索引对表和辖区索引都很重要。在创建索引后,不要忘记分析表以使其正常工作
顺便说一句,如果你对答案感到满意,我认为你应该将问题标记为已回答,这样其他人就不必尝试回答
嗯
尼古拉斯你好
我假设辖区是nycpp中唯一的id,那么您可以尝试:
update nycpp set number_of crashes=a.n_crashes from
(SELECT P.precinct, count(C) as n_crashes FROM nycpp P, nyccrash C
WHERE _st_contains(P.the_geom, C.crashpoint)
GROUP BY P.precinct
ORDER BY P.precinct) a
where nycpp.precinct=a.precinct;
但是为什么要使用_st_contains而不是st_contains呢
下划线版本不会使用您的空间索引,但在运行下划线版本之前,st_contains将执行第一个indexscan查找相交边界框的操作
因此,您可能绝对希望使用st_contains而不是contains。如果您的表足够大,需要索引:在这个查询中,空间索引对表和辖区索引都很重要。在创建索引后,不要忘记分析表以使其正常工作
顺便说一句,如果你对答案感到满意,我认为你应该将问题标记为已回答,这样其他人就不必尝试回答
嗯
尼古拉斯尼古拉斯。。。教授没有提到圣母玛利亚和圣母玛利亚之间有区别。。。老兄!!在查看您的回复并阅读更新后,我能够完成数据库的设置!!谢谢你的帮助!!我真的学到了很多。。。现在在openlayersNicklas中显示数据。。。教授没有提到圣母玛利亚和圣母玛利亚之间有区别。。。老兄!!在查看您的回复并阅读更新后,我能够完成数据库的设置!!谢谢你的帮助!!我真的学到了很多。。。现在开始在openlayers中显示数据