【问题标题】:Difference between Geometry and Geometry collections几何和几何集合之间的区别
【发布时间】:2020-10-03 23:39:46
【问题描述】:

谁能解释一下两者的区别 $table->geometry('positions');$table->geometryCollection('positions'); 在 laravel 中。

【问题讨论】:

    标签: sql laravel eloquent


    【解决方案1】:

    我假设您的数据库是 MySQL。那么请将其作为标签添加到您的帖子中。

    根据手册: https://dev.mysql.com/doc/refman/5.7/en/spatial-type-overview.html

    一些空间数据类型保存单个几何值:

    几何学

    GEOMETRY 可以存储任何类型的几何值。其他单值类型(POINT、LINESTRING 和 POLYGON)将它们的值限制为特定的几何类型。

    其他空间数据类型包含值的集合:

    几何集合

    GEOMETRYCOLLECTION 可以存储任何类型的对象的集合。其他集合类型(MULTIPOINT、MULTILINESTRING 和 MULTIPOLYGON)将集合成员限制为具有特定几何类型的成员。

    不同之处在于最后一个可以在单个列中包含多个实体(坐标/点)。例如,如果您想保存一个需要 4 个点的正方形,这将非常有用。

    第一个实际示例是位置(它是一组坐标 (lat+lng))。

    很遗憾,我无法为您提供有关如何在 Laravel 中使用它们的更多信息。但是在原始 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));
    

    【讨论】:

      猜你喜欢
      • 2019-07-07
      • 2023-03-15
      • 2011-04-27
      • 1970-01-01
      • 2015-02-10
      • 2018-01-25
      • 2017-05-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多