Method: RGeo::Geos::CAPIGeometryMethods#valid?

Defined in:
ext/geos_c_impl/geometry.c

#valid?Boolean

Returns:

  • (Boolean)


1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
# File 'ext/geos_c_impl/geometry.c', line 1056

static VALUE
method_geometry_is_valid(VALUE self)
{
  VALUE result;
  RGeo_GeometryData* self_data;
  const GEOSGeometry* self_geom;
  char val;

  result = Qnil;
  self_data = RGEO_GEOMETRY_DATA_PTR(self);
  self_geom = self_data->geom;
  if (self_geom) {
    val = GEOSisValid(self_geom);
    if (val == 0) {
      result = Qfalse;
    } else if (val == 1) {
      result = Qtrue;
    }
  }
  return result;
}