ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Help
  • Sign Out
ArcGIS Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS Desktop

A complete professional GIS

ArcGIS Enterprise

GIS in your enterprise

ArcGIS Developers

Tools to build location-aware apps

ArcGIS Solutions

Free template maps and apps for your industry

ArcGIS Marketplace

Get apps and data for your organization

  • Documentation
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

ArcMap

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • Extensions

ST_ConvexHull

  • Definition
  • Syntax
  • Return type
  • Example

Definition

ST_ConvexHull returns the convex hull of an ST_Geometry object.

Syntax

Oracle and PostgreSQL

sde.st_convexhull (geometry1 sde.st_geometry)

SQLite

st_convexhull (geometry1 geometryblob)

Return type

Oracle and PostgreSQL

ST_Geometry

SQLite

Geometryblob

Example

These examples create the sample_geometries table that has three columns: id, spatial type, and geometry. Spatial type, a varchar(18), stores the name of the geometry subclass that is stored in the geometry column. Three features are inserted into the table: a line, a polygon, and a multipoint feature.

The SELECT statement executed against the table returns the convex hull of each subclass geometry.

Oracle

--Create table and insert three sample geometries.
CREATE TABLE sample_geometries (
 id integer,
 spatial_type varchar(18),
 geometry sde.st_geometry
);

INSERT INTO sample_geometries (id, spatial_type, geometry) VALUES (
 1,
 'ST_LineString',
 sde.st_geometry ('linestring (20 20, 30 30, 20 40, 30 50)', 4326)
);

INSERT INTO sample_geometries (id, spatial_type, geometry) VALUES (
 2,
 'ST_Polygon',
 sde.st_geometry ('polygon ((30 30, 25 35, 15 50, 35 80, 40 85, 80 90, 70 75, 65 70, 55 50, 75 40, 60 30, 30 30))', 4326)
);

INSERT INTO sample_geometries (id, spatial_type, geometry) VALUES (
 3, 
 'ST_MultiPoint',
 sde.st_geometry ('multipoint (20 20, 30 30, 20 40, 30 50)', 4326)
);
--Find the convex hull of each geometry subtype.
SELECT id, spatial_type, sde.st_astext (sde.st_convexhull (geometry)) CONVEXHULL
 FROM  SAMPLE_GEOMETRIES;

ID    SPATIAL_TYPE       CONVEXHULL

 1    ST_LineString      POLYGON ((20.00000000 40.00000000, 
                           20.00000000 20.00000000, 30.00000000 
                           30.00000000, 30.00000000 50.00000000, 
                           20.00000000 40.00000000)) 

 2    ST_Polygon         POLYGON ((15.00000000 50.00000000, 
                           25.00000000 35.00000000, 30.00000000 
                           30.00000000, 60.00000000 30.00000000,
                           75.00000000 40.00000000, 80.00000000 
                           90.00000000, 40.00000000 85.00000000,
                           35.00000000 80.00000000, 15.00000000 
                           50.00000000))

 3    ST_MultiPoint      POLYGON ((20.00000000 40.00000000, 
                           20.00000000 20.00000000, 30.00000000 
                           30.00000000, 30.00000000 50.00000000, 
                           20.00000000 40.00000000))

PostgreSQL

--Create table and insert three sample geometries.
CREATE TABLE sample_geometries (
 id integer,
 spatial_type varchar(18),
 geometry sde.st_geometry
);

INSERT INTO sample_geometries (id, spatial_type, geometry) VALUES (
 1,
 'ST_LineString',
 sde.st_geometry ('linestring (20 20, 30 30, 20 40, 30 50)', 4326)
);

INSERT INTO sample_geometries (id, spatial_type, geometry) VALUES (
 2,
 'ST_Polygon',
 sde.st_geometry ('polygon ((30 30, 25 35, 15 50, 35 80, 40 85, 80 90, 70 75, 65 70, 55 50, 75 40, 60 30, 30 30))', 4326)
);

INSERT INTO sample_geometries (id, spatial_type, geometry) VALUES (
 3, 
 'ST_MultiPoint',
 sde.st_geometry ('multipoint (20 20, 30 30, 20 40, 30 50)', 4326)
);
--Find the convex hull of each geometry subtype.
SELECT id, spatial_type, st_astext (sde.st_convexhull (geometry)) 
 AS CONVEXHULL
 FROM sample_geometries;

id    spatial_type       convexhull

 1    ST_LineString      POLYGON (( 20 40, 20 20, 30 30, 30 50, 
                           20 40)) 

 2    ST_Polygon         POLYGON (( 15 50, 25 35, 30 30, 60 30,
                           75 40, 80 90, 40 85, 35 80, 15 50))

 3    ST_MultiPoint      POLYGON (( 20 40, 20 20, 30 30, 30 50, 
                           20 40))

SQLite

--Create table and insert three sample geometries.
CREATE TABLE sample_geometries (
 id integer primary key autoincrement not null,
 spatial_type varchar(18)
);

SELECT AddGeometryColumn(
 NULL,
 'sample_geometries',
 'geometry',
 4326,
 'geometry',
 'xy',
 'null'
);

INSERT INTO sample_geometries (spatial_type, geometry) VALUES (
 'ST_LineString',
 st_geometry ('linestring (20 20, 30 30, 20 40, 30 50)', 4326)
);

INSERT INTO sample_geometries (spatial_type, geometry) VALUES (
 'ST_Polygon',
 st_geometry ('polygon ((30 30, 25 35, 15 50, 35 80, 40 85, 80 90, 70 75, 65 70, 55 50, 75 40, 60 30, 30 30))', 4326)
);

INSERT INTO sample_geometries (spatial_type, geometry) VALUES (
 'ST_MultiPoint',
 st_geometry ('multipoint (20 20, 30 30, 20 40, 30 50)', 4326)
);
--Find the convex hull of each geometry subtype.
SELECT id, spatial_type, st_astext (st_convexhull (geometry)) 
 AS CONVEXHULL
 FROM sample_geometries;

id    spatial_type       CONVEXHULL

 1    ST_LineString      POLYGON ((20.00000000 40.00000000, 
                           20.00000000 20.00000000, 30.00000000 
                           30.00000000, 30.00000000 50.00000000, 
                           20.00000000 40.00000000)) 

 2    ST_Polygon         POLYGON ((15.00000000 50.00000000, 
                           25.00000000 35.00000000, 30.00000000 
                           30.00000000, 60.00000000 30.00000000,
                           75.00000000 40.00000000, 80.00000000 
                           90.00000000, 40.00000000 85.00000000,
                           35.00000000 80.00000000, 15.00000000 
                           50.00000000))

 3    ST_MultiPoint      POLYGON ((20.00000000 40.00000000, 
                           20.00000000 20.00000000, 30.00000000 
                           30.00000000, 30.00000000 50.00000000, 
                           20.00000000 40.00000000))

Related topics

  • Load the SQLite ST_Geometry library

ArcGIS Desktop

  • Home
  • Documentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

About Esri

  • About Us
  • Careers
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Tell us what you think.
Copyright © 2021 Esri. | Privacy | Legal