Skip to content

Instantly share code, notes, and snippets.

@yutannihilation
Last active April 23, 2025 03:17
Show Gist options
  • Save yutannihilation/1ad2abeba17d4e2d7acb55aa956d6eae to your computer and use it in GitHub Desktop.
Save yutannihilation/1ad2abeba17d4e2d7acb55aa956d6eae to your computer and use it in GitHub Desktop.

DuckDB v1.2.2 で増えた spatial extension の関数

DuckDB v1.2.1 の関数を書き出す。

INSTALL spatial;

LOAD spatial;

COPY (
        SELECT DISTINCT
                function_name,
                function_type,
                tags.category,
        FROM duckdb_functions()
        WHERE tags.ext = 'spatial'
)
TO 'tmp.csv';

DuckDB v1.2.2 で以下を実行

CREATE TABLE v121 AS FROM 'tmp.csv';

INSTALL spatial;
LOAD spatial;
CREATE TABLE v122 AS (
        SELECT DISTINCT
                function_name,
                function_type,
                tags.category,
        FROM duckdb_functions()
        WHERE tags.ext = 'spatial'
);

.mode markdown

SELECT
    v122.*,
    if(v121.function_name IS NULL, '🆕', '') as "new"
FROM
    v122
    LEFT JOIN v121 USING (function_name)
ORDER BY
    v122.category,
    v122.function_name;

結果

function_name function_type category new
ST_Boundary scalar construction
ST_Buffer scalar construction
ST_BuildArea scalar construction 🆕
ST_Centroid scalar construction
ST_Collect scalar construction
ST_CollectionExtract scalar construction
ST_ConcaveHull scalar construction
ST_ConvexHull scalar construction
ST_CoverageInvalidEdges scalar construction 🆕
ST_CoverageInvalidEdges_Agg aggregate construction 🆕
ST_CoverageSimplify scalar construction 🆕
ST_CoverageSimplify_Agg aggregate construction 🆕
ST_CoverageUnion scalar construction 🆕
ST_CoverageUnion_Agg aggregate construction 🆕
ST_Difference scalar construction
ST_Dump scalar construction
ST_Envelope scalar construction
ST_Envelope_Agg aggregate construction
ST_Extent_Agg aggregate construction
ST_FlipCoordinates scalar construction
ST_Force2D scalar construction
ST_Force3DM scalar construction
ST_Force3DZ scalar construction
ST_Force4D scalar construction
ST_GeomFromHEXEWKB scalar construction
ST_GeomFromHEXWKB scalar construction
ST_Intersection scalar construction
ST_Intersection_Agg aggregate construction
ST_LineMerge scalar construction
ST_MakeEnvelope scalar construction
ST_MakeLine scalar construction
ST_MakePolygon scalar construction
ST_MakeValid scalar construction
ST_MaximumInscribedCircle scalar construction 🆕
ST_MinimumRotatedRectangle scalar construction
ST_Multi scalar construction
ST_Node scalar construction 🆕
ST_Normalize scalar construction
ST_Point scalar construction
ST_Point2D scalar construction
ST_Point3D scalar construction
ST_Point4D scalar construction
ST_PointN scalar construction
ST_PointOnSurface scalar construction
ST_Points scalar construction
ST_Polygonize scalar construction 🆕
ST_ReducePrecision scalar construction
ST_RemoveRepeatedPoints scalar construction
ST_Reverse scalar construction
ST_Simplify scalar construction
ST_SimplifyPreserveTopology scalar construction
ST_Union scalar construction
ST_Union_Agg aggregate construction
ST_VoronoiDiagram scalar construction
ST_AsGeoJSON scalar conversion
ST_AsHEXWKB scalar conversion
ST_AsSVG scalar conversion
ST_AsText scalar conversion
ST_AsWKB scalar conversion
ST_GeomFromGeoJSON scalar conversion
ST_GeomFromText scalar conversion
ST_GeomFromWKB scalar conversion
ST_LineString2DFromWKB scalar conversion
ST_Point2DFromWKB scalar conversion
ST_Polygon2DFromWKB scalar conversion
ST_Transform scalar conversion
ST_Distance scalar measurement
ST_ShortestLine scalar measurement
ST_Area scalar property
ST_Dimension scalar property
ST_Distance_Sphere scalar property
ST_EndPoint scalar property
ST_Extent scalar property
ST_Extent_Approx scalar property
ST_ExteriorRing scalar property
ST_GeometryType scalar property
ST_HasM scalar property
ST_HasZ scalar property
ST_Hilbert scalar property
ST_IsClosed scalar property
ST_IsEmpty scalar property
ST_IsRing scalar property
ST_IsSimple scalar property
ST_IsValid scalar property
ST_Length scalar property
ST_M scalar property
ST_MMax scalar property
ST_MMin scalar property
ST_NGeometries scalar property
ST_NInteriorRings scalar property
ST_NPoints scalar property
ST_NumGeometries scalar property
ST_NumInteriorRings scalar property
ST_NumPoints scalar property
ST_Perimeter scalar property
ST_QuadKey scalar property
ST_StartPoint scalar property
ST_X scalar property
ST_XMax scalar property
ST_XMin scalar property
ST_Y scalar property
ST_YMax scalar property
ST_YMin scalar property
ST_Z scalar property
ST_ZMFlag scalar property
ST_ZMax scalar property
ST_ZMin scalar property
ST_LineInterpolatePoint scalar referencing
ST_LineInterpolatePoints scalar referencing
ST_LineSubstring scalar referencing
ST_Contains scalar relation
ST_ContainsProperly scalar relation
ST_CoveredBy scalar relation
ST_Covers scalar relation
ST_Crosses scalar relation
ST_DWithin scalar relation
ST_Disjoint scalar relation
ST_Equals scalar relation
ST_Intersects scalar relation
ST_Intersects_Extent scalar relation
ST_Overlaps scalar relation
ST_Touches scalar relation
ST_Within scalar relation
ST_Area_Spheroid scalar spheroid
ST_DWithin_Spheroid scalar spheroid
ST_Distance_Spheroid scalar spheroid
ST_Length_Spheroid scalar spheroid
ST_Perimeter_Spheroid scalar spheroid
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment