PostGIS  3.4.0dev-r@@SVN_REVISION@@

◆ lwgeom_is_empty()

static int lwgeom_is_empty ( const LWGEOM geom)
inlinestatic

Return true or false depending on whether a geometry is an "empty" geometry (no vertices members)

Definition at line 203 of file lwinline.h.

204 {
205  switch (geom->type)
206  {
207  case POINTTYPE:
208  return lwpoint_is_empty((LWPOINT *)geom);
209  break;
210  case LINETYPE:
211  return lwline_is_empty((LWLINE *)geom);
212  break;
213  case CIRCSTRINGTYPE:
214  return lwcircstring_is_empty((LWCIRCSTRING *)geom);
215  break;
216  case POLYGONTYPE:
217  return lwpoly_is_empty((LWPOLY *)geom);
218  break;
219  case TRIANGLETYPE:
220  return lwtriangle_is_empty((LWTRIANGLE *)geom);
221  break;
222  case MULTIPOINTTYPE:
223  case MULTILINETYPE:
224  case MULTIPOLYGONTYPE:
225  case COMPOUNDTYPE:
226  case CURVEPOLYTYPE:
227  case MULTICURVETYPE:
228  case MULTISURFACETYPE:
230  case TINTYPE:
231  case COLLECTIONTYPE:
232  return lwcollection_is_empty((LWCOLLECTION *)geom);
233  break;
234  default:
235  return LW_FALSE;
236  break;
237  }
238 }
#define LW_FALSE
Definition: liblwgeom.h:94
#define COLLECTIONTYPE
Definition: liblwgeom.h:108
#define COMPOUNDTYPE
Definition: liblwgeom.h:110
#define CURVEPOLYTYPE
Definition: liblwgeom.h:111
#define MULTILINETYPE
Definition: liblwgeom.h:106
#define MULTISURFACETYPE
Definition: liblwgeom.h:113
#define LINETYPE
Definition: liblwgeom.h:103
#define MULTIPOINTTYPE
Definition: liblwgeom.h:105
#define POINTTYPE
LWTYPE numbers, used internally by PostGIS.
Definition: liblwgeom.h:102
#define TINTYPE
Definition: liblwgeom.h:116
#define MULTIPOLYGONTYPE
Definition: liblwgeom.h:107
#define POLYGONTYPE
Definition: liblwgeom.h:104
#define POLYHEDRALSURFACETYPE
Definition: liblwgeom.h:114
#define CIRCSTRINGTYPE
Definition: liblwgeom.h:109
#define MULTICURVETYPE
Definition: liblwgeom.h:112
#define TRIANGLETYPE
Definition: liblwgeom.h:115
static int lwcircstring_is_empty(const LWCIRCSTRING *circ)
Definition: lwinline.h:165
static int lwpoly_is_empty(const LWPOLY *poly)
Definition: lwinline.h:171
static int lwcollection_is_empty(const LWCOLLECTION *col)
Definition: lwinline.h:185
static int lwline_is_empty(const LWLINE *line)
Definition: lwinline.h:159
static int lwtriangle_is_empty(const LWTRIANGLE *triangle)
Definition: lwinline.h:177
static int lwpoint_is_empty(const LWPOINT *point)
Definition: lwinline.h:153
uint8_t type
Definition: liblwgeom.h:462

References CIRCSTRINGTYPE, COLLECTIONTYPE, COMPOUNDTYPE, CURVEPOLYTYPE, LINETYPE, LW_FALSE, lwcircstring_is_empty(), lwcollection_is_empty(), lwline_is_empty(), lwpoint_is_empty(), lwpoly_is_empty(), lwtriangle_is_empty(), MULTICURVETYPE, MULTILINETYPE, MULTIPOINTTYPE, MULTIPOLYGONTYPE, MULTISURFACETYPE, POINTTYPE, POLYGONTYPE, POLYHEDRALSURFACETYPE, TINTYPE, TRIANGLETYPE, and LWGEOM::type.

Referenced by add_lwgeom_to_stack(), asgeojson_collection(), asgeojson_line_coords(), asgeojson_multiline(), asgeojson_multipoint(), asgeojson_multipolygon(), asgeojson_point_coords(), asgeojson_poly_coords(), assvg_collection(), assvg_point(), BOX3D_construct(), coverage_window_calculation(), cu_wkb_empty_point_check(), do_median_test(), geography_area(), geography_azimuth(), geography_closestpoint(), geography_coveredby(), geography_covers(), geography_distance_knn(), geography_distance_uncached(), geography_dwithin_uncached(), geography_length(), geography_perimeter(), geography_project(), geography_project_geography(), geography_shortestline(), geometry_project_direction(), geometry_project_geometry(), geometry_to_path(), geometry_to_polygon(), geos_envelope_surrogate(), gserialized1_from_lwgeom(), gserialized2_from_lwgeom(), gserialized_list_union(), lw_dist2d_recursive(), lw_dist3d_recursive(), lwcollection_extract_recursive(), lwcollection_is_empty(), lwcollection_offsetcurve(), lwcompound_add_lwgeom(), lwcompound_get_lwpoint(), lwcompound_length_2d(), lwcurvepoly_area(), LWGEOM2GEOS(), LWGEOM2SFCGAL(), lwgeom_add_bbox(), lwgeom_add_bbox_deep(), lwgeom_area_sphere(), lwgeom_area_spheroid(), lwgeom_as_multi(), lwgeom_boundary(), lwgeom_buildarea(), lwgeom_calculate_circ_tree(), lwgeom_calculate_mbc(), lwgeom_centroid(), lwgeom_check_geodetic(), lwgeom_clip_by_rect(), lwgeom_clip_to_ordinate_range(), LWGEOM_closestpoint(), LWGEOM_closestpoint3d(), lwgeom_cluster_kmeans(), lwgeom_count_rings(), lwgeom_count_vertices(), lwgeom_difference_prec(), lwgeom_distance_spheroid(), LWGEOM_dump(), LWGEOM_dumppoints(), LWGEOM_dumpsegments(), LWGEOM_dwithin(), LWGEOM_envelope(), LWGEOM_expand(), LWGEOM_exteriorring_polygon(), lwgeom_grid_in_place(), lwgeom_homogenize(), LWGEOM_inside_circle_point(), LWGEOM_interiorringn_polygon(), lwgeom_interpolate_point(), lwgeom_intersection_prec(), lwgeom_is_closed(), lwgeom_is_simple(), LWGEOM_length_ellipsoid_linestring(), lwgeom_length_spheroid(), LWGEOM_line_substring(), lwgeom_linemerge_directed(), LWGEOM_longestline2d(), LWGEOM_longestline3d(), lwgeom_nudge_geodetic(), LWGEOM_numgeometries_collection(), LWGEOM_numinteriorrings_polygon(), lwgeom_pointonsurface(), lwgeom_reduceprecision(), lwgeom_remove_repeated_points_in_place(), LWGEOM_segmentize2d(), lwgeom_segmentize_sphere(), LWGEOM_shortestline2d(), LWGEOM_shortestline3d(), lwgeom_simplify(), LWGEOM_simplify2d(), lwgeom_simplify_in_place(), lwgeom_startpoint(), lwgeom_subdivide_prec(), lwgeom_subdivide_recursive(), lwgeom_swap_ordinates(), lwgeom_symdifference_prec(), LWGEOM_to_BOX2D(), lwgeom_to_gml2(), lwgeom_to_gml3(), lwgeom_to_kml2(), lwgeom_to_marc21(), lwgeom_to_svg(), lwgeom_to_wkb_buf(), lwgeom_to_wkb_size(), lwgeom_to_x3d3(), lwgeom_transform(), lwgeom_unaryunion_prec(), lwgeom_union_prec(), lwgeom_wrapx(), lwgeom_write_to_buffer(), lwline_from_lwgeom_array(), lwline_from_lwmpoint(), lwline_to_wkb_buf(), lwline_to_wkb_size(), lwmline_locate_along(), lwmline_measured_from_lwmline(), lwmpoint_extract_points_4d(), lwmpoly_to_points(), lwmulti_to_twkb_buf(), lwpoint_to_latlon(), lwpoint_to_wkb_buf(), lwpoint_to_wkb_size(), lwpoly_covers_lwline(), lwpoly_covers_lwpoly(), lwpoly_covers_point2d(), lwpoly_pt_outside_hack(), lwpoly_to_points(), lwpoly_to_wkb_buf(), lwpoly_to_wkb_size(), lwt_GetEdgeByPoint(), lwt_GetFaceEdges(), lwtriangle_to_wkb_buf(), lwtriangle_to_wkb_size(), mvt_geom(), mvt_unsafe_clip_by_box(), RASTER_asRaster(), RASTER_clip(), RASTER_nearestValue(), RASTER_setPixelValuesGeomval(), ShpLoaderGenerateShapeRow(), ST_CleanGeometry(), ST_Hexagon(), ST_OffsetCurve(), ST_Scale(), ST_Square(), test_lwgeom_clip_by_rect(), test_lwgeom_is_empty(), topologypreservesimplify(), union_dbscan_general(), union_dbscan_minpoints_1(), wkt_parser_collection_finalize(), and wkt_parser_compound_new().

Here is the call graph for this function: