Questions tagged «postgresql»

PostgreSQL是一个开放源代码的对象关系数据库系统。

1
如何从Postgis DB中的现有表(应用新模式)创建表?
我有一个已启用地理空间的表格;包含世界边界。我想将其分解为不同的模式(全球,欧洲等)。我的想法是使用看起来像这样的东西: CREATE TABLE europe.borders AS (SELECT * FROM wo_borders WHERE admin_lvl2='eu' ); //just an example! 从现有表创建表并考虑新模式并使其在地理空间上启用,这是正确的做法?我是否必须使用默认的postgis模板预先创建新表?

1
如何使用Postgis执行邻近搜索?
我下载了Geonames数据库(cities1000),并编写了一个小的Ruby程序,将其导入到我的表(geo_cities)中。然后,我添加了名为的地理列geog。 然后,我使用以下命令将所有经纬度数字转换为geog列: update public.geo_cities set geog = st_GeogFromText('SRID=4326;POINT(' || longitude || ' ' || latitude || ')'); 事情看起来很好。现在我要做的是找到布拉格100英里范围内的所有城市。 所以我可以像这样获得布拉格: select * from geo_cities where asciiname = 'Prague' and countrycode = 'CZ'; 我仍在学习GIS和Postgres,所以有人可以通过简单查询来帮助我吗?

4
如何解决PostGIS ST_Intersects中的性能问题?
我是Postgis的新手,查询性能有问题。 这是我的查询: SELECT DISTINCT ON (userid) userid ,ST_AsText(position), timestamp FROM table1 WHERE ST_Intersects ( ST_GeomFromText('a multiypolygon geom goes here',4326),position) ORDER BY userid, timestamp desc 问题是我的multipolygon包含非常大的多边形(word文档中有600页长!),执行时间超过2个小时! 有没有一种方法可以优化我的查询或使用另一种方法? 请您的帮助,万分感谢!

4
重命名postGIS表并更新GeoServer?
我想重命名我的postGIS表之一。但是,当我通过应用一个简单的 ALTER TABLE old_name RENAME TO new_name; 据我了解,空间数据不会使用新名称进行更新。首先,可以通过运行函数来修复这些引用: SELECT probe_geometry_columns() 之后桌子本身还可以吗?还是应该采取其他措施?其次,如何更新GeoServer以便找到该新表?到目前为止,如果我运行上述命令,然后在GeoServer上编辑图层信息以指向新名称...,我仍然会收到错误消息(GeoServer仍尝试使用旧名称查找它)。确实,在GeoServer上应该在哪里更改图层名称?

1
PostGIS中的多层相交
我需要编写PL / pgSQL存储过程来计算多层的相交。例如,对于三层A,B,C,此函数应返回ABC几何: 函数将需要相交的图层的id作为输入。谁能给我建议以构建此功能?我对此的想法是,我需要先相交,然后相交,然后相交的结果与第三层相交,等等。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.