在PostgreSQL中,我有一个几何表。我想要取几何图形的并集,可能是从0到更多的几何图形。有一个名为ST_Collect()的PostGIS函数可以收集几何图形,所以我有这个SQL: SELECT PostGIS.ST_Collect( ARRAY(SELECT mk.geom FROM mydatatable mk WHERE mk.id in ('002', '003', '007'))); 是否可以在名为ST_Contain()的PostGIS函数中使用此集合?如果是,如何使用它?或者我需要使用多个ST_Union?
我正在为postgis数据库而苦苦挣扎。 我有一个来自公共模式的备份。我创建了一个扩展名为postgis的新数据库。我现在可以将数据恢复到我的postgis数据库中,这很好用。我可以将该公共模式重命名为新模式。这也适用于: ALTER SCHEMA public RENAME TO new_schema 但现在我需要在现有数据库中执行此操作。因此,我的公共模式中包含数据,这些数据可能不会被泄露。我尝试了一个新的数据库来使用ALTER SCHEMA完成此任务。因此,我将其导入到一个空的公共模式中,并对其进行了修改,然后导出了new_schema。这似乎是有效的,但是几何图形给了我一个错误,并且
Geoserver 2.5中的WFS实现出现了严重问题。
我将数据集加载到Server和PostGIS中。数据集由几个点组成,位于本机EPSG:3857中。
Geometry_Columns表是为Geoserver连接设置的,在Geoserver设置中一切似乎都很好。
但是,尝试通过OpenLayers访问WFS:
WFS1.0.0\ GET _
WFS1.0.0取经修正的PostGIS > OK
WFS1.0.0> OK
WFS1.0.0> POST > PostGIS > OK
WFS 1.0.0取回BBOX \ SQL Server >失败
WFS 1
在循环操作中将geopandas dataframe写入PostGIS时,我得到了以下错误(完整代码包含在最后) psycopg2.errors.InvalidParameterValue: Column has Z dimension but geometry does not 相关代码:gdf.to_postgis(name=tbl, con=engine, schema=gdb_name, if_exists='replace') 如何从列中删除z维度?一些逻辑,比如: if geom has no z dimension and column has z dimens
我试图在Laravel项目中使用一些postgis函数来存储一些地理信息。
使用传单和它的传单绘制插件,用户可以在地图上发现考古遗址的位置。但问题是,他可以把它定位为一个点,如果它是一个小的,精确的位置,或者在一个多边形内,他画在地图上,如果它更大或不精确。在地图上绘制的图层给了我一个geojson,我想用Postgis将它转换成一个几何对象。
因此,对于我的"posha_sites“表,我需要一个几何类型,它可以存储任意的内容,在我看来,GeometryCollection类型就是为此创建的,所以当我将几何列添加到表中时,这里是迁移的up函数。
public function up(
在两个节点上使用集群数据库(stado)中的Postgresql,我想测试这个查询:
select id,position,timestamp from table t1 WHERE id!=0 AND ST_Intersects ((Select ST_Buffer_Meters(ST_SetSRID(ST_MakePoint(61.4019,15.218205), 4326) ,1160006)),position) AND timestamp Between '2013-10-01' and '2013-12-30';
当我在命令行或psql (在协调器上
我需要将位置存储为lat长点,我尝试使用avg(Pg_column_size)对postgresql点类型和postgis几何点的大小进行比较:
select
avg(pg_column_size(latlong_geomitry)) as postgis_average_size,
avg(pg_column_size(latlong_point)) as point_average_size
from points;
同样的条目:
后几何点存储大小为29字节
postgresql点存储大小仅为16字节。
我更喜欢使用postgis几何点,但是我不明白为什么存储相同数
如下表grid_cell_data所示,我有geometryOfCellRepresentativeToTreatment和geometryOfCellRepresentativeToBuffer列,它们包含几何学。
我想同时应用ST_AsMVTGeom和ST_AsMVT,如PostGIS文档中所述,ST_AsMVT采用几何列。但是,当我执行以下代码时:
SELECT ST_AsMVT(grid_cell_data.geometryOfCellRepresentativeToTreatment)
AS geom
FROM grid_cell_data
我得到以下错误:
pgis_asmvt
新的PostGIS/PostgreSQL.任何帮助都将不胜感激!
我在postgres数据库中有两个表,别名为gas和ev。我正在尝试选择一个特定的加油站(gas.site_id=11949),并在1000米半径内找到所有电动汽车/替代燃料充电站。但是,当我运行下面的代码时,PostGIS会返回许多ev站点,这些站点都是在地图中相互叠加在一起的(见屏幕快照)。
有人知道为什么会这样吗?如何让PostGIS可视化指定加油站半径1000米范围内的点?
with myplace as (
SELECT gas.geom
from nj_gas gas
where gas.site_i
我有一个gps轨道,我把它导入了postgis。轨道在一个循环中运行了大约8个小时,因此生成的表只包含一个记录,尽管它在QGIS中显示了几行。我想把曲目分成几张唱片,每圈一张唱片。到目前为止,我使用了st_intersection & st_intersects,使用了一个看起来像甜甜圈(带间隙)的多边形,在它的末端切线。
下面是用于获取边界多边形内的跟踪线的脚本(来自):
CREATE TABLE test
AS (SELECT st_intersection(brte.st_union, trk.geom_32651)
FROM buffer35 AS brte,
我安装了postgis,我仍然有问题:
函数st_distancespheroid(几何学,几何)不存在
WITH data AS (
SELECT a.*,
CAST(ST_DistanceSpheroid(geometry(location), st_geomfromtext('POINT(' || $7::decimal || ' ' || $8::decimal || ')', 4326))as numeric) / 1000 AS distance
FROM agent AS a
WHERE (
PostgreSQL9.5+ postgis 2.2在windows上。我首先创建了一个表格:
CREATE TABLE points (
id SERIAL,
ad CHAR(40),
name VARCHAR(200)
);
然后,添加一个几何字段“geom”:
select addgeometrycolumn('points', 'geom', 4326, 'POINT', 2);
并在其上创建gist索引:
CREATE INDEX points_index_geom ON points USING GIST (geo