几何体和几何体集合之间的差异

uemypmqf  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(599)

有人能解释一下 $table->geometry('positions'); 以及 $table->geometryCollection('positions'); 在拉雷维尔。

t98cgbkg

t98cgbkg1#

我假设你的数据库是mysql。请把它作为标签添加到你的帖子里。
根据手册:https://dev.mysql.com/doc/refman/5.7/en/spatial-type-overview.html
某些空间数据类型包含单个几何体值:
几何学
几何图形可以存储任何类型的几何图形值。其他单值类型(point、linestring和polygon)将其值限制为特定的几何图形类型。

其他空间数据类型包含值集合:
几何集合
geometrycollection可以存储任何类型的对象集合。其他集合类型(multipoint、multilinestring和multipolygon)将集合成员限制为具有特定几何体类型的成员。
不同之处在于,最后一个可以在一列中容纳多个实体(坐标/点)。例如,如果要保存一个需要4个点的正方形形状,这一点很有用。
第一种方法的一个实际例子是位置(即一组坐标(lat+lng))。
很遗憾,我不能给你太多的信息,如何在拉威尔使用它们。但是,在原始sql中,基本上是这样的:

-- Add data to a GEOMETRY column
SET @g = 'POINT(1 1)';
INSERT INTO geo VALUES (ST_GeomFromText(@g));
-- Add data to a GEOMETRYCOLLECTION column
SET @g = 'GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(0 0,1 1,2 2,3 3,4 4))';
INSERT INTO geocol VALUES (ST_GeomFromText(@g));

相关问题