## @ignore Geo::OGRc ## @class Geo::OGR ## @ignore TIEHASH ## @ignore CLEAR ## @ignore FIRSTKEY ## @ignore NEXTKEY ## @ignore FETCH ## @ignore STORE ## @ignore this ## @ignore BuildPolygonFromEdges ## @ignore ForceToMultiLineString ## @ignore ForceToMultiPoint ## @ignore ForceToMultiPolygon ## @ignore ForceToPolygon ## @ignore GeneralCmdLineProcessor ## @ignore GeometryTypeToName ## @ignore GetFieldTypeName ## @ignore UseExceptions() ## @ignore DontUseExceptions() ## @fn @GeometryTypes() # @return a list of all geometry types. ## @ignore CreateGeometryFromWkb ## @ignore CreateGeometryFromWkt ## @ignore CreateGeometryFromGML ## @ignore CreateGeometryFromJson ## @ignore ApproximateArcAngles ## @fn @Drivers() # @return a list of Geo::OGR::Driver objects, one for each OGR format. ## @fn $GetDriverCount() # @return the number of all available drivers. ## @fn $GetOpenDSCount() # @return the number of all open data sources. ## @fn SetGenerate_DB2_V72_BYTE_ORDER($Generate_DB2_V72_BYTE_ORDER) # Needed only on IBM DB2. ## @ignore RegisterAll() # Called in initialization. ## @fn Geo::OGR::DataSource GetOpenDS($number) # @param number The number of the requested data source. # @return a new Geo::OGR::DataSource object. ## @fn Geo::OGR::DataSource Open($name, $update = 0) # @param name The data source string (directory, filename, etc.). # @param update Whether to open the data source in update mode. # @return a new Geo::OGR::DataSource object. ## @fn Geo::OGR::DataSource OpenShared($name, $update = 0) # @param name The data source string (directory, filename, etc.). # @param update Whether to open the data source in update mode. # @return a new Geo::OGR::DataSource object. ## @fn Geo::OGR::Driver GetDriverByName($name) # @param name # @return a new Geo::OGR::Driver object. ## @fn Geo::OGR::Driver Driver($driver) # Create a driver object for the internal OGR driver. # @note a.k.a. GetDriver # @param driver the index or the name of the driver # @return a new Geo::OGR::Driver object ## @ignore NullFID ## @ignore wkb25Bit ## @ignore wkb25DBit ## @ignore wkbUnknown ## @ignore wkbPoint ## @ignore wkbLineString ## @ignore wkbPolygon ## @ignore wkbMultiPoint ## @ignore wkbMultiLineString ## @ignore wkbMultiPolygon ## @ignore wkbGeometryCollection ## @ignore wkbNone ## @ignore wkbLinearRing ## @ignore wkbPoint25D ## @ignore wkbLineString25D ## @ignore wkbPolygon25D ## @ignore wkbMultiPoint25D ## @ignore wkbMultiLineString25D ## @ignore wkbMultiPolygon25D ## @ignore wkbGeometryCollection25D ## @ignore OFTInteger ## @ignore OFTIntegerList ## @ignore OFTReal ## @ignore OFTRealList ## @ignore OFTString ## @ignore OFTStringList ## @ignore OFTWideString ## @ignore OFTWideStringList ## @ignore OFTBinary ## @ignore OFTDate ## @ignore OFTTime ## @ignore OFTDateTime ## @ignore OJUndefined ## @ignore OJLeft ## @ignore OJRight ## @ignore wkbXDR ## @ignore wkbNDR ## @ignore OLCRandomRead ## @ignore OLCSequentialWrite ## @ignore OLCRandomWrite ## @ignore OLCFastSpatialFilter ## @ignore OLCFastFeatureCount ## @ignore OLCFastGetExtent ## @ignore OLCCreateField ## @ignore OLCTransactions ## @ignore OLCDeleteFeature ## @ignore OLCFastSetNextByIndex ## @ignore OLCAlterFieldDefn ## @ignore OLCDeleteField ## @ignore OLCIgnoreFields ## @ignore OLCReorderFields ## @ignore OLCStringsAsUTF8 ## @ignore ODsCCreateLayer ## @ignore ODsCDeleteLayer ## @ignore ODrCCreateDataSource ## @ignore ODrCDeleteDataSource ## @class Geo::OGR::Driver # @isa (Geo::OGR) ## @attr list CAPABILITIES # Driver capabilities known to GDAL ## @ignore Register ## @ignore Deregister ## @attr name # scalar (access as $driver->{name}) ## @cmethod @Capabilities() # @return a list of capabilities. The class method returns a list of # all potential capabilities a driver may have; the object method # returns a list of all capabilities the driver has. # Examples. # \code # @all_capabilities = Geo::OGR::Driver::Capabilities; # @capabilities_of_a_driver = Geo::OGR::Driver('KML')->Capabilities; # \endcode ## @method $TestCapability($cap) # @param cap A capability string. # @return boolean value. ## @ignore CreateDataSource ## @method Geo::OGR::DataSource Create($name, \%options = undef ) # Create an OGR data source object. # \note a.k.a. CreateDataSource # @param name The data source name. # @param options Driver specific options. # # Usage: # \code # $ds = Geo::OGR::Driver('driver name')->Create('data source name', {}); # \endcode # @return a new Geo::OGR::DataSource object. ## @ignore CopyDataSource ## @method Geo::OGR::DataSource Copy($ds, $name, \@options = undef) # Copy an OGR data source object. # \note a.k.a. CopyDataSource # @param ds The Geo::OGR::DataSource object to be copied. # @param name The name for the new data source. # @param options Driver specific options. # @return a new Geo::OGR::DataSource object. ## @method Geo::OGR::DataSource Open($name, $update = 0) # Open an OGR data source object. Alternative name: OpenDataSource. # @param name The name of data source. # @param update Whether to open the data source in update mode. # @return a new Geo::OGR::DataSource object ## @ignore DeleteDataSource ## @method Delete($name) # Delete an OGR data source. # \note a.k.a. DeleteDataSource # @param name The name of data source. ## @method $GetName() # @return the name of the driver. ## @class Geo::OGR::DataSource # @isa (Geo::OGR) ## @attr list CAPABILITIES # Data source capabilities known to GDAL ## @ignore SyncToDisk ## @attr name # string (access as $datasource->{name}) ## @cmethod @Capabilities() # @return a list of capabilities. The class method returns a list of # all potential capabilities a data source may have; the object method # returns a list of all capabilities the data source has. ## @method $TestCapability($cap) # @param cap A capability string. # @return a boolean value indicating whether the data source has the # specified capability. ## @cmethod Geo::OGR::DataSource Open($name, $update = 0) # An example: # \code # use Geo::GDAL; # $ds = Geo::OGR::DataSource::Open('/data/roads.shp'); # \endcode # @param name The data source name (directory, filename, etc.). # @param update Whether to open the data source in update mode. # @return a new Geo::OGR::DataSource object. ## @cmethod Geo::OGR::DataSource OpenShared($name, $update = 0) # @param name The data source name (directory, filename, etc.). # @param update Whether to open the data source in update mode. # @return a new Geo::OGR::DataSource object. ## @method Geo::OGR::Layer Layer($layer = 0) # @param layer a name (primary) or index (secondary) of the requested # layer. If not given, then returns the first layer. # @return a new Geo::OGR::Layer object ## @method @Layers() # @return a list of layers this data source provides. ## @method $GetLayerCount() # @return the number of layers this data source provides. ## @method Geo::OGR::Driver GetDriver() # @return a Geo::OGR::Driver object for this data source. ## @method $GetName() # @return the name of this data source. ## @method Geo::OGR::Layer CreateLayer($Name, $SRS = undef, $GeometryType = 'Unknown', \%Options = undef, \%Schema = undef) # \note This method can also be used with named parameters: $ds->CreateLayer({parameter=>value, ...}). # @param Name name for the new layer. # @param SRS a Geo::OSR::SpatialReference object. # @param GeometryType one of \@Geo::OGR::Geometry::GEOMETRY_TYPES # @param Options A ref to a hash of format specific options. # @param Schema forwarded to Layer::Schema, which is called if this parameter exists # @return a new Geo::OGR::Layer object ## @method Geo::OGR::Layer CopyLayer($layer, $name, \%options = undef) # @param layer A Geo::OGR::Layer object to be copied. # @param name A name for the new layer. # @param options A ref to a hash of format specific options. # @return a new Geo::OGR::Layer object. ## @method DeleteLayer($layer) # Deletes a layer from the data source. Note that if there is a layer # object for the deleted layer, it becomes unusable. # @param layer name (primary) or index (secondary) of the layer to be # deleted, if ambiguous use named parameter syntax (name or index). ## @method DeleteLayer(%param) # Deletes a layer from the data source. Note that if there are layers # objects for the deleted layer, they become unusable. # @param param Named parameter (name or index) for the layer to be # deleted. ## @method Geo::OGR::Layer ExecuteSQL($statement, $geom = undef, $dialect = "") # @param statement A SQL statement. # @param geom A Geo::OGR::Geometry object. # @param dialect # @return a new Geo::OGR::Layer object. ## @method ReleaseResultSet($layer) # @param layer A layer the has been created with ExecuteSQL. ## @method Geo::OGR::Layer GetLayerByIndex($index = 0) # @param index A number. # @return a new Geo::OGR::Layer object. ## @method Geo::OGR::Layer GetLayerByName($name) # @param name A string. # @return a new Geo::OGR::Layer object. ## @ignore GetRefCount ## @ignore GetSummaryRefCount ## @class Geo::OGR::Layer # @isa (Geo::OGR) ## @attr list CAPABILITIES # Layer capabilities known to GDAL ## @cmethod @Capabilities() # @return a list of capabilities. The class method returns a list of # all potential capabilities a layer may have; the object method # returns a list of all capabilities the layer has. ## @method $TestCapability($cap) # @param cap A capability string. # @return a boolean value indicating whether the layer has the # specified capability. ## @method \%Schema(%schema) # Get and/or set the schema of the layer. # @param schema The schema hash may contain the keys: # - \a Fields A reference to a list of field definitions (either # Geo::OGR::FieldDefn objects or hashrefs from which they can be # created). # - \a ApproxOK (optional) A flag specifying whether it is ok to # change the requested field definition to accommodate limitations of # the layer. # @return a reference to a schema hash, which has keys: # - \a Name The name of this layer. # - \a GeometryType The type of the geometries in this layer (a # string). # - \a Fields An array of references to hashes of field definitions. ## @method \%Row(%row) # Get and/or set the data of a feature that has the supplied feature # id (gets next if feature id is not given). The keys of the row are # the field names. Special names FID and Geometry are used for feature # id and Geometry respectively. The geometry is a Geo::OGR::Geometry # object whose data is owned by the feature. It is ok to set only a # subset of the fields, those fields whose keys do not exist are left # unchanged. # @param row [optional] # @return ## @method @Tuple(@tuple) # Get and/set the data of a feature that has the supplied feature id # (gets next if feature id is not given). The order of the data in the # tuple is: feature id, Geometry, fields in their order. The geometry # is a Geo::OGR::Geometry object whose data is owned by the # feature. It is ok to leave Geometry undefined, it is set only if it # is defined. # @param tuple [optional] # @return ## @method Geo::OGR::Geometry SpatialFilter($filter) # @param filter [optional] a Geo::OGR::Geometry object or a string. An # undefined value removes the filter if there is one. # @return a new Geo::OGR::Geometry object ## @method Geo::OGR::Geometry SpatialFilter(@filter) # @param filter [optional] a rectangle ($minx, $miny, $maxx, $maxy). # @return a new Geo::OGR::Geometry object ## @method SetSpatialFilter($filter) # @param filter [optional] a Geo::OGR::Geometry object. If not given, # removes the filter if there is one. ## @method SetSpatialFilterRect($minx, $miny, $maxx, $maxy) # @param minx # @param miny # @param maxx # @param maxy ## @method Geo::OGR::Geometry GetSpatialFilter() # @return a new Geo::OGR::Geometry object ## @method SetAttributeFilter($filter_string) # Set or clear the attribute filter. # @param filter_string a SQL WHERE clause or undef to clear the # filter. ## @method ResetReading() ## @method Geo::OGR::Feature GetNextFeature() # @return a new Geo::OGR::Feature object ## @method SetNextByIndex($new_index) # @param new_index the index to which set the read cursor ## @method $GetFeaturesRead() # @return integer ## @method $GetName() # @return ## @method Geo::OGR::Feature GetFeature($fid) # @param fid feature id # @return a new Geo::OGR::Feature object ## @method SetFeature($feature) # Replaces a feature in the layer based on the given feature's # id. Requires RandomWrite capability # @param feature a Geo::OGR::Feature object ## @method CreateFeature($feature) # Inserts a feature into the layer. The given feature's id may change. # @param feature a Geo::OGR::Feature object ## @method InsertFeature($feature) # Same as CreateFeature except that the parameter feature may be a # hashref (\%row) or a listref (\@tuple) that is fed to a # Geo::OGR::Feature object's Row or Tuple method that is created in # inserted into the layer. # @param feature a Geo::OGR::Feature object, or \%row or \@tuple ## @method DeleteFeature($fid) # @param fid feature id ## @method SyncToDisk() ## @method Geo::OGR::FeatureDefn GetLayerDefn() # @return a new Geo::OGR::FeatureDefn object ## @method $GetFeatureCount($force = 1) # @param force # @return integer ## @method @GetExtent($force = 1) # @param force compute the extent even if it is expensive # @note In scalar context returns a reference to an anonymous array # containing the extent. # @note The order of values is different from those returned by # Geo::OGR::Geometry::GetEnvelope. # @return the extent ($minx, $miny, $maxx, $maxy) # @param force # @return the extent = ($minx, $miny, $maxx, $maxy) as a listref ## @method CreateField($field_def, $approx_ok = 1) # @param field_def a Geo::OGR::FieldDefn object # @param approx_ok ## @method StartTransaction() ## @method CommitTransaction() ## @method RollbackTransaction() ## @method Geo::OSR::SpatialReference GetSpatialRef() # @return a new Geo::OSR::SpatialReference object ## @ignore GetRefCount ## @method AlterFieldDefn($field, $definition, $flags) # Alter the definition of an existing field on a layer. # @param field index of the field whose definition is altered # @param definition a Geo::OGR::FieldDefn object # @param flags 1 to alter the name, 2 to alter the type, 4 to alter # the width, use combinations 3, 5, 6 or 7 to alter two or more # properties # @todo Perlify: support field names and string flags ## @method DeleteField($field) # Delete an existing field from a layer. # @param field index of the field which is deleted ## @method $GetFIDColumn() # @return the name of the underlying database column being used as the FID column, or "" if not supported. ## @method $GetGeometryColumn() # @return the name of the underlying database column being used as the geometry column, or "" if not supported ## @ignore GetGeomType ## @method $GeometryType() # @return the geometry type of the layer, one of \@Geo::OGR::Geometry::GEOMETRY_TYPES ## @ignore ReorderField ## @ignore ReorderFields ## @method SetIgnoredFields(@fields) # @param fields a list of field names ## @class Geo::OGR::Feature # @isa (Geo::OGR) ## @cmethod Geo::OGR::Feature new($feature_def) # @param feature_def a Geo::OGR::FeatureDefn object # @return a new Geo::OGR::Feature object ## @cmethod Geo::OGR::Feature create(%schema) # @param schema as in Schema # @return a new Geo::OGR::Feature object ## @method \%Schema(%schema) # Get or set the schema. The schema is a hash (Name => name, # GeometryType => geometry_type, Fields => [list of # Geo::OGR::FieldDefn objects or hashrefs from which such can be # created]. The Name and GeometryType cannot be set and the Fields are # added to the schema. Fields is an array of hashrefs that # contain schemas of FieldDefns # @param schema [optional] # @return ## @method \%Row(%row) # Get and/or set the data of the feature. The key of the key value, # pairs of the row is the field name. Special names FID and Geometry # are used for feature id and Geometry respectively. The geometry is a # Geo::OGR::Geometry object whose data is or will become owned by the # feature; or data from which a geometry object can be created (a # hashref that is fed to Geo::OGR::Geometry::create). It is ok to set # only a subset of the fields, those fields whose keys do not exist # are left unchanged. # @param row [optional] # @return ## @method @Tuple(@tuple) # Get and/set the data of the feature. The order of the data in the # tuple is: FID, Geometry, fields in their order. The geometry is a # Geo::OGR::Geometry object whose data is or will become owned by the # feature; or data from which a geometry object can be created (a # hashref that is fed to Geo::OGR::Geometry::create). It is ok to # leave FID and Geometry undefined, they are set only if they are # defined. # @param tuple [optional] # @return ## @method Geo::OGR::FeatureDefn GetDefnRef() # @return a new Geo::OGR::FeatureDefn object ## @method Geo::OGR::FieldDefn GetFieldDefnRef($param) # @param param the index (0..count-1) or the name of the field # @return a new Geo::OGR::FieldDefn object ## @method $GetFieldType($field) # @param field the index (0..count-1) or the name of the field # @return one of field types ## @ignore SetGeometry ## @method $Geometry($geometry) # Get a copy of the geometry as a new Geo::OGR::Geometry object and/or # copy the geometry into the feature. # @note a.k.a. SetGeometry (only copy into) # @param geometry [optional] a Geo::OGR::Geometry object # @return a new Geo::OGR::Geometry object in a non-void context ## @ignore SetGeometryDirectly ## @ignore GetGeometry ## @ignore GetGeometryRef ## @method $ReferenceGeometry($geometry) # Create a new Geo::OGR::Geometry object, which references the # geometry within the feature and/or create a reference to the # argument geometry within the feature. This method maintains a link # between the two objects and will not let the feature object be # destroyed while the geometry object exists. Use with caution. # @note a.k.a. SetGeometryDirectly (only reference in), GetGeometry # (only create with a reference), GetGeometryRef (only create with a # reference and do not create the link between the objects). # @param geometry [optional] a Geo::OGR::Geometry object # @return a new Geo::OGR::Geometry object in a non-void context ## @method Geo::OGR::Feature Clone() # @return a new Geo::OGR::Feature object ## @method $Equal($feature) # @param feature a Geo::OGR::Feature object for comparison # @return boolean ## @method $GetFieldIndex($name) # @param name the name of the field # @return integer the index of the field (0..Count-1) ## @method $GetFieldCount() # @return an integer ## @ignore GetFieldAsString ## @ignore GetFieldAsInteger ## @ignore GetFieldAsDouble ## @ignore GetFieldAsDateTime ## @ignore GetFieldAsDoubleList ## @ignore GetFieldAsIntegerList ## @ignore GetFieldAsStringList ## @method @GetField($field) # @note A number of GetFieldAs* methods exist but they are not # documented. Syntax $feature->{field} can be used to access the # field (v1.9.0) # @param field the index (0..Count-1) or the name of the field # @return the value of the field, which may be a scalar or a list, # depending on the field type. ## @ignore SetFieldDoubleList ## @ignore SetFieldIntegerList ## @ignore SetFieldStringList ## @method SetField($field, @value) # @note Syntax $feature->{field} can be used to access the # field (v1.9.0) # @param field the index (0..Count-1) or the name of the field # @param value is a string, integer, double, a list (year, month, # day), a list (hour, minute, second, tzflag), a list (year, month, # day, hour, minute, second, tzflag), or a list of integers, doubles, # or strings. # @note If value is not given or is undefined this method unsets the field. ## @ignore SetFromWithMap ## @method SetFrom($other, $forgiving = 1, \%map) # @param other a Geo::OGR::Feature object # @param forgiving [optional] set to false if the operation should not # continue if output fields do not match some of the source fields # @param map [optional] a mapping from output field indexes to source # fields, include into the hash all field indexes of this feature # which should be set ## @method $IsFieldSet($field) # @param field the index (0..Count-1) or the name of the field # @return boolean ## @method UnsetField($field) # @note Field value can be unset by calling SetField without # parameters or with an undefined argument. # @param field the index (0..Count-1) or the name of the field ## @method $FID($fid) # @param fid [optional] the id to set for this feature # @return integer the id of this feature ## @method $GetFID() # @return integer the feature id ## @method SetFID($fid) # @param fid the feature id ## @method DumpReadable() ## @method $StyleString($string) # @param string [optional] # @return ## @method $GetStyleString() # @return a string ## @method SetStyleString($string) # @param string ## @class Geo::OGR::FeatureDefn # @isa (Geo::OGR) ## @cmethod Geo::OGR::FeatureDefn new($name = undef) # @param name # @return a Geo::OGR::FeatureDefn object ## @cmethod Geo::OGR::FeatureDefn create(%schema) # Example usage: # \code # $fd = Geo::OGR::FeatureDefn->create( # Name => "name", # GeometryType => "Polygon", # Fields => [{ Name => 'field1', Type => 'String' }] ); # \endcode # @param schema The schema for the new feature definition, as in # Geo::OGR::FeatureDefn::Schema. # @return a Geo::OGR::FeatureDefn object ## @method \%Schema(%schema) # Get or set the schema. The schema is a hash (Name => name, # GeometryType => geometry_type, Fields => [list of # Geo::OGR::FieldDefn objects or hashrefs from which such can be # created (see Geo::OGR::FieldDefn::create)]. The Name cannot be set # and the Fields are added to the schema. Fields is an array of # hashrefs that contain schemas of FieldDefns. In addition, in the # 'get' form of the function, each field hash contains key 'Index', # whose value is the index of the field. # @param schema [optional] # @return ## @method $GetName() # @note a.k.a. Name # @return a string ## @method $GetFieldCount() # @return an integer ## @method Geo::OGR::FieldDefn GetFieldDefn($index) # @param index # @return a new Geo::OGR::FieldDefn object ## @method $GetFieldIndex($name) # @param name # @return integer (-1 if no such field) ## @method AddFieldDefn($defn) # @param defn a Geo::OGR::FieldDefn object ## @ignore GetGeomType ## @ignore SetGeomType ## @method $GeometryType($geometry_type) # Get or set the geometry type. # @note a.k.a. GeomType, GetGeomType (deprecated, returns an integer), # SetGeomType (deprecated, requires an integer) # @param geometry_type [optional] one of \@Geo::OGR::Geometry::GEOMETRY_TYPES # @return the geometry type, one of \@Geo::OGR::Geometry::GEOMETRY_TYPES ## @ignore GetReferenceCount ## @ignore IsGeometryIgnored ## @ignore SetGeometryIgnored ## @method $GeometryIgnored($IgnoreState) # @note a.k.a. GetGeometryIgnored (only get), SetGeometryIgnored (only set) # Get or set the ignore status of geometry when fetching features. # @return the ignore status of geometry # @since 1.9.0 ## @ignore IsStyleIgnored ## @ignore SetStyleIgnored ## @method $StyleIgnored($IgnoreState) # @note a.k.a. GetStyleIgnored (only get), SetStyleIgnored (only set) # Get or set the ignore status of style information when fetching features. # @return the ignore status of style information # @since 1.9.0 ## @class Geo::OGR::FieldDefn # @isa (Geo::OGR) ## @attr list FIELD_TYPES # Field types supported by GDAL, one of: Integer IntegerList Real # RealList String StringList WideString WideStringList Binary Date # Time DateTime ## @attr list JUSTIFY_TYPES # Justify types supported by GDAL, one of: Undefined Left Right ## @cmethod Geo::OGR::FieldDefn new($name = "unnamed", $field_type = $Geo::OGR::OFTString) # @deprecated use Geo::OGR::FieldDefn::create, which accepts type as a string # @param name # @param field_type as integer # @return a new Geo::OGR::FieldDefn object ## @cmethod Geo::OGR::FieldDefn create($name = "unnamed", $field_type = 'String') # @param name # @param field_type one of field types. Optional. Default is String. # # Usage: # \code # $fd = Geo::OGR::FieldDefn->create(...arguments...); # \endcode # @return a new Geo::OGR::FieldDefn object ## @cmethod Geo::OGR::FieldDefn create(%parameters) # @param parameters named parameters: Name, Type, Justify, Width, # Precision # # Usage: # \code # $fd = Geo::OGR::FieldDefn->create( Name => "name", Type => "FieldType", ...); # \endcode # @return a new Geo::OGR::FieldDefn object ## @method \%Schema(%parameters) # Get the schema or set parts of the schema # @param parameters [optional] named parameters: Name, Type, Justify, # Width, Precision # @return a reference to a hash whose keys are Name, Type, Justify, # Width, and Precision ## @ignore GetName ## @ignore GetNameRef ## @ignore SetName ## @method $Name($name) # Get and/or set the name of the field. # @note a.k.a. GetName, GetNameRef, SetName # @param name [optional] # @return the name in non-void context ## @ignore GetFieldTypeName ## @ignore GetTypeName ## @ignore GetType ## @ignore SetType ## @method $Type($type) # @note a.k.a. GetFieldTypeName, GetTypeName, GetType, SetType # @param type [optional] one of field types: Integer, IntegerList, Real, # RealList, String, StringList, WideString, WideStringList, Binary, Date, # Time, or DateTime (wide strings are not really supported yet?) # @return one of field types in non-void context ## @ignore GetJustify ## @ignore SetJustify ## @method $Justify($justify) # Get and/or set the justification of this field. # @note a.k.a. GetJustify, SetJustify # @param justify [optional] as string: Undefined, Left, or Right # @return one of Undefined Left Right in non-void context ## @ignore GetWidth ## @ignore SetWidth ## @method $Width($width) # Get and/or set the field width. # @note a.k.a. GetWidth, SetWidth # @param width [optional] # @return integer in non-void context ## @ignore GetPrecision ## @ignore SetPrecision ## @method $Precision($precision) # Get and/or set the precision of this field. # @note a.k.a. GetPrecision, SetPrecision # @param precision [optional] # @return integer in non-void context ## @ignore IsIgnored ## @ignore SetIgnored ## @method $Ignored($ignore) # Get and/or set the ignore status (whether this field should be # omitted when fetching features) of this field. # @note a.k.a. IsIgnored, SetIgnored # @param ignore [optional] # @return the ignore status in non-void context # @since 1.9.0 ## @class Geo::OGR::Geometry # @isa (Geo::OGR) # @note Most spatial analysis methods require GEOS to work rigorously. ## @attr list GEOMETRY_TYPES # Geometry types supported by GDAL, one of: Unknown Point LineString # Polygon MultiPoint MultiLineString MultiPolygon GeometryCollection # None LinearRingPoint25D LineString25D Polygon25D MultiPoint25D # MultiLineString25D MultiPolygon25D GeometryCollection25D ## @attr list BYTE_ORDER_TYPES # Byte order strings, one of: XDR NDR ## @cmethod Geo::OGR::Geometry new($type = $Geo::OGR::wkbUnknown, $WKT = undef, $WKB = undef, $GML = undef) # @deprecated use Geo::OGR::Geometry::create, which accepts type as a string # @param type one of Geo::OGR::wkb* # @param WKT # @param WKB # @param GML # @return a new Geo::OGR::Geometry object ## @cmethod Geo::OGR::Geometry create($type) # @param type One of geometry type strings: 'Point', 'LineString', etc. # # Usage: # \code # $g = Geo::OGR::Geometry->create(...arguments...); # \endcode # @return a new Geo::OGR::Geometry object ## @cmethod Geo::OGR::Geometry create(%params) # @param %params A named parameter, possible are: GeometryType, WKT, # WKB, HEXWKB, GML, GeoJSON, arc, and Points (as in method # Geo::OGR::Geometry::Points). # - \a arc An anonymous list of [CenterX, CenterY, CenterZ, # PrimaryRadius, SecondaryRadius, Rotation, StartAngle, EndAngle, # MaxAngleStepSizeDegrees] # # @note uses CreateGeometryFrom* functions from Geo::OGR # # Usage: # \code # $g = Geo::OGR::Geometry->create(...arguments...); # \endcode # @return a new Geo::OGR::Geometry object ## @method FlattenTo2D() ## @method $CoordinateDimension($dimension) # @param dimension [optional] # @return 2 or 3 ## @method $GetCoordinateDimension() # @return an integer ## @method SetCoordinateDimension($dimension) # @param dimension ## @method $GetDimension() # @return 0, 1, or 2 ## @ignore ExportToWkt ## @method $AsText() # This geometric object in Well Known Text. # @note a.k.a. ExportToWkt # @return a WKT string ## @method $AsBinary($byte_order = 'XDR') # This geometric object as a Well-known binary string. # @note a.k.a. ExportToWkb # @param byte_order XDR or NDR # @return a WKB binary string ## @ignore ExportToGML ## @method $AsGML() # This geometric object as a GML string. # @note a.k.a. ExportToGML # @return a GML string ## @ignore ExportToKML ## @method $AsKML() # This geometric object as a KML string. # @note a.k.a. ExportToKML # @return KML string ## @ignore ExportToJson ## @method $AsJSON() # This geometric object as a JSON string. # @note a.k.a. ExportToJson # @return JSON string ## @method AddPoint($x, $y, $z) # Set the data of a point or add a point to a line string. Consider # using Geo::OGR::Geometry::Points. Note that the coordinate # dimension is automatically upgraded to 25D (3) if z is given. # @param x # @param y # @param z [optional] # Calls internally the 2D or 3D version depending on the number of parameters. ## @method AddPoint_2D($x, $y) # Set the data of a point or add a point to a line string. Consider # using Geo::OGR::Geometry::Points. # @param x # @param y ## @method AddPoint_3D($x, $y, $z) # Set the data of a point or add a point to a line string. Note that # the coordinate dimension is automatically upgraded to 25D (3). Consider # using Geo::OGR::Geometry::Points. # @param x # @param y # @param z ## @method SetPoint($index, $x, $y, $z) # Set the data of a point or a line string. Note that the coordinate # dimension is automatically upgraded to 25D (3) if z is given. # @param index # @param x # @param y # @param z [optional] ## @method SetPoint_2D($index, $x, $y) # @param index # @param x # @param y ## @method SetPoint_3D($index, $x, $y, $z) # Set the data of a point or a line string. Note that the coordinate # dimension is automatically upgraded to 25D (3). # @param index # @param x # @param y # @param z ## @method $GetPointCount() # @return an integer ## @method @GetPoint($index = 0) # @param index # @return (x,y) or a list with more coordinates ## @method $GetPoint_2D($index = 0) # @param index # @return (x,y) or a list with more coordinates ## @method $GetPoint_3D($index = 0) # @param index # @return (x,y) or a list with more coordinates ## @method $GetX($index = 0) # @param index # @return a number ## @method $GetY($index = 0) # @param index # @return a number ## @method $GetZ($index = 0) # @param index # @return a number ## @method @Point($index, $x, $y, $z) # Get or set the point # @param index The index of the point. Optional (ignored if given) for # Point and Point25D geometries. # @param x [optional] # @param y [optional] # @param z [optional] # @return ## @method \@Points(\@points) # Get or set the points of the geometry. The points (vertices) are # stored in obvious lists of lists. Note that unique points structures # may be different geometries depending on the actual geometry # type. When setting, the geometry is first emptied. The method uses # internally either AddPoint_2D or AddPoint_3D depending on the # GeometryType. # @param points [optional] # @return ## @method Empty() # Clear geometry data. ## @method $IsEmpty() # @return boolean ## @method $IsRing() # @return boolean ## @method $IsSimple() # @return boolean ## @method $IsValid() # @return boolean ## @method Move($dx, $dy, $dz) # @param dx # @param dy # @param dz [optional] ## @method AddGeometryDirectly($other) # @param other a Geo::OGR::Geometry object ## @method AddGeometry($other) # Add a copy of another geometry to a geometry collection # @param other a Geo::OGR::Geometry object ## @method Geo::OGR::Geometry Clone() # @return a new Geo::OGR::Geometry object ## @method $GeometryType() # @return the geometry type ## @method $Length() # @return the length of the linestring ## @ignore GetArea ## @method $Area() # @note a.k.a. GetArea # @return the area of the polygon or multipolygon ## @method $GetGeometryCount() # @return an integer ## @method $GetGeometryRef($index) # @param index # @return a new Geo::OGR::Geometry object whose data is a part of the # parent geometry ## @method Geo::OGR::Geometry ConvexHull() # @return a new Geo::OGR::Geometry object ## @method Geo::OGR::Geometry BuildPolygonFromEdges($BestEffort = 0, $AutoClose = 0, $Tolerance = 0) # Attempt to create a polygon from a collection of lines or from a multilinestring. # @param BestEffort For future # @param AutoClose Assure the first and last points of rings are same. # @param Tolerance Snap distance. # @exception Several possibilities, some are reported, some are general errors. # @return a new Geo::OGR::Geometry object (Polygon) ## @method Geo::OGR::Geometry Collect(@geometries) # Create a geometrycollection from this and possibly other geometries. # @param geometries [optional] More geometries to add to the collection. # @return a new Geo::OGR::Geometry object of type geometrycollection. ## @method @Dissolve() # Dissolve a geometrycollection into separate geometries. # @return a list of new Geo::OGR::Geometry objects cloned from the collection. ## @method Geo::OGR::Geometry ForceToPolygon() # Attempt to create a polygon from the geometry. # @exception None reported. If this method fails, just a copy is returned. # @return a new Geo::OGR::Geometry object ## @method Geo::OGR::Geometry ForceToMultiPoint(@points) # Attempt to create a multipoint from the geometry, which must be a point. # @param points [optional] More points to add to the collection. # @return a new Geo::OGR::Geometry object of type multipoint. ## @method Geo::OGR::Geometry ForceToMultiLineString(@linestrings) # Attempt to create a multilinestring from the geometry, which must be a linestring. # @param linestrings [optional] More linestrings to add to the collection. # @return a new Geo::OGR::Geometry object of type multilinestring. ## @method Geo::OGR::Geometry ForceToMultiPolygon(@polygons) # Attempt to create a multipolygon from the geometry, which must be a polygon. # @param polygons [optional] More polygons to add to the collection. # @return a new Geo::OGR::Geometry object of type multipolygon. ## @method Geo::OGR::Geometry ForceToCollection(@geometries) # Create a geometrycollection from the geometry. # @param geometries [optional] More geometries to add to the collection. # @return a new Geo::OGR::Geometry object of type geometrycollection. ## @method Geo::OGR::Geometry Buffer($distance, $quadsecs = 30) # @param distance # @param quadsecs # @return a new Geo::OGR::Geometry object ## @method Geo::OGR::Geometry Intersection($other) # @param other a Geo::OGR::Geometry object # @return a new Geo::OGR::Geometry object ## @method Geo::OGR::Geometry Union($other) # @param other a Geo::OGR::Geometry object # @return a new Geo::OGR::Geometry object ## @method Geo::OGR::Geometry UnionCascaded() # @return a new Geo::OGR::Geometry object # @since 1.8.0 ## @method Geo::OGR::Geometry Difference($other) # @param other a Geo::OGR::Geometry object # @return a new Geo::OGR::Geometry object ## @ignore SymmetricDifference ## @method Geo::OGR::Geometry SymDifference($other) # Compute symmetric difference. # @note a.k.a. SymmetricDifference # @param other a Geo::OGR::Geometry object # @return a new Geo::OGR::Geometry object # @since 1.8.0 ## @ignore GetBoundary ## @method Geo::OGR::Geometry Boundary() # @note a.k.a. GetBoundary # @return the boundary of this geometry as a geometry # @since 1.8.0 ## @method $Distance($other) # @param other a Geo::OGR::Geometry object # @return the distance to the other geometry ## @ignore Intersect ## @method $Intersects($other) # @note a.k.a. Intersect (deprecated) # @param other a Geo::OGR::Geometry object # @return true if this geometry intersects with the other geometry, false otherwise ## @ignore Equal ## @method $Equals($other) # @note a.k.a. Equal (deprecated) # @param other a Geo::OGR::Geometry object # @return true if this geometry is equivalent to the other geometry, false otherwise ## @method $Disjoint($other) # @param other a Geo::OGR::Geometry object # @return true if this geometry is disjoint from the other geometry, false otherwise ## @method $Touches($other) # @param other a Geo::OGR::Geometry object # @return true if this geometry touches the other geometry, false otherwise ## @method $Crosses($other) # @param other a Geo::OGR::Geometry object # @return true if this geometry crosses the other geometry, false otherwise ## @method $Within($other) # @param other a Geo::OGR::Geometry object # @return true if this geometry is within the other geometry, false otherwise ## @method $Contains($other) # @param other a Geo::OGR::Geometry object # @return true if this geometry contains the other geometry, false otherwise ## @method $Overlaps($other) # @param other a Geo::OGR::Geometry object # @return true if this geometry overlaps the other geometry, false otherwise ## @method Segmentize($MaxLength) # Modify the geometry such it has no segment longer than the given length. # @param MaxLength the given length ## @method Simplify($Tolerance) # Simplify the geometry. # @param Tolerance the length tolerance for the simplification # @since 1.8.0 ## @method TransformTo($srs) # @param srs a Geo::OSR::SpatialReference object ## @method Transform($trans) # @param trans a Geo::OSR::CoordinateTransformation object ## @method Geo::OSR::SpatialReference GetSpatialReference() # @return a new Geo::OSR::SpatialReference object ## @method AssignSpatialReference($srs) # @param srs a Geo::OSR::SpatialReference object ## @method CloseRings() ## @method @GetEnvelope() # @note In scalar context returns a reference to an anonymous array # containing the envelope. # @note The order of values is different from those returned by # Geo::OGR::Layer::GetExtent. # @return the envelope ($minx, $maxx, $miny, $maxy) ## @method @GetEnvelope3D() # @note In scalar context returns a reference to an anonymous array # containing the envelope. # @return the 3-D envelope ($minx, $maxx, $miny, $maxy, $minz, $maxz) # @since 1.9.0 ## @method Geo::OGR::Geometry Centroid() # @return a new Geo::OGR::Geometry object # @since 1.8.0 ## @method $WkbSize() # @return an integer ## @method $GetGeometryType() # @deprecated use Geo::OGR::Geometry::GeometryType, which returns the type as a string # @return type as an integer ## @method $GetGeometryName() # @deprecated use string names # @return a string