13 #ifndef DIG___STRUCTS___ 14 #define DIG___STRUCTS___ 18 #include <sys/types.h> 20 #include <grass/dgl.h> 21 #include <grass/shapefil.h> 23 #include <grass/rtree.h>
int Spidx_new
Build new spatial index.
plus_t n_areas
Current number of areas.
plus_t right
Volume number to the right, negative for hole.
plus_t n_hfaces
Current number of hole faces.
char * name
Map name (for 4.0)
int flt_quick
Quick reading flag for float.
off_t coor_size
Size of coor file.
int built
Highest level of topology currently available.
plus_t alloc_nodes
Number of allocated nodes.
plus_t area
Area number, negative for duplicate centroid.
char * name
Name of file to store the search tree.
int a_cidx
Allocated space for category indexes.
unsigned char lng_cnvrt[sizeof(long)]
int alloc_ranges
Allocated space for ranges.
int alloc_points
Allocated space for points.
int n_uplines
Number of updated lines.
struct RTree * Face_spidx
Faces spatial index.
int dbl_quick
Quick reading flag for double.
plus_t n_klines
Current number of kernels.
plus_t n_holes
Current number of holes.
int n_fields
Number of available layers (old: fields)
off_t offset
Offset in coor file for line.
plus_t alloc_faces
Number of allocated faces.
off_t Area_offset
Offset of array of areas in topo file.
off_t Isle_spidx_offset
Offset of isles in sidx file.
struct RTree * Hole_spidx
Holes spatial index.
int n_types
Number of types in type.
int back_major
Earliest version that can use this data format (major)
off_t size
Total size (in bytes)
struct P_line ** Line
Array of vector geometries.
off_t Isle_offset
Offset of array of isles in topo file.
int spidx_with_z
2D/3D spatial index
int region_flag
Non-zero value to enable region constraint.
int shrt_quick
Quick reading flag for short.
int with_z
2D/3D vector data
off_t offset
Offset of the beginning of this index in cidx file.
plus_t n_plines
Current number of points.
plus_t right
Area number to the right, negative for isle.
int * uplines
Array of updated lines.
struct P_area ** Area
Array of areas.
struct P_node ** Node
Array of nodes.
Graph-related section (see GRASS Directed Graph Library)
struct RTree * Isle_spidx
Isles spatial index.
long cidx_head_size
Category index header size.
char * current
Current position set by dig_seek()
char * end
End of file in the memory (pointer to first byte after)
int release_support
Release memory occupied by support structures (topo, spatial, category)
struct field_info * field
Pointer to the first field_info structure.
int alloc_cats
Allocated space for categories.
int n_points
Number of points.
int off_t_size
Size of off_t data type.
char * table
Name of DB table.
struct RTree * Node_spidx
Node spatial index.
plus_t n_lines
Number of attached lines (size of lines, angle)
char * location
Location name.
double * edge_fcosts
Forward costs used for graph.
plus_t alloc_volumes
Number of allocated volumes.
plus_t n_faces
Current number of faces.
plus_t left
Area number to the left, negative for isle.
char * source_date
Source date.
int * min
Array of minimum values.
off_t Line_offset
Offset of array of vector geometries in topo file.
struct P_isle ** Isle
Array of isles.
int field
Field (layer) number.
plus_t * lines
List of connected lines.
long mtime
Time of last modification.
plus_t * isles
1st generation interior islands
struct RTree * Line_spidx
Line spatial index.
plus_t n_isles
Current number of isles.
plus_t centroid
Number of first centroid within area.
struct RTree * Volume_spidx
Volumes spatial index.
off_t alloc
Allocated space.
int do_uplist
Indicates if the list of updated features is maintained.
struct Cat_index * cidx
Array of category indexes.
plus_t n_lines
Number of boundary lines.
int plani_zone
Zone (UTM only)
double * edge_bcosts
backward costs used for graph
int type
Feature type constraint.
int Spidx_built
Spatial index built?
int n_values
Number of items in the list.
struct bound_box * box
Array of bounding boxes.
int int_quick
Quick reading flag for int.
off_t Volume_offset
Offset of array of volumes in topo file.
off_t Area_spidx_offset
Offset of areas in sidx file.
plus_t n_lines
Current number of lines.
#define PORT_DOUBLE
Sizes of types used in portable format (different names used in Vlib/ and diglib/ for the same thing)...
int n_ranges
Number of ranges.
plus_t alloc_areas
Number of allocated areas.
int n_ucats
Number of unique cats (not updated)
struct RTree * si_tree
Pointer to the search tree (R*-Tree)
plus_t alloc_lines
Allocated space for lines.
Layer (old: field) information.
plus_t alloc_lines
Allocated space for lines.
off_t Hole_offset
Offset of array of holes in topo file.
double * x
Array of X coordinates.
double z
Z coordinate (used only for 3D data)
int cidx_up_to_date
Category index to be updated.
Feature geometry info - coordinates.
int with_z
2D/3D vector data
char * name
Layer name (optional)
int field_flag
Non-zero value to enable field constraint.
off_t Edge_offset
Offset of array of edges in topo file.
int off_t_size
Offset size.
plus_t * lines
List of boundary lines.
off_t * uplines_offset
Array of updated lines - offset.
int loaded
Is file loaded?
plus_t next_line
Feature id for sequential access.
Basic topology-related info.
off_t Node_offset
Offset of array of nodes in topo file.
int alloc_upnodes
Allocated array of nodes.
int major
Current version (major)
dglGraph_s graph_s
Graph structure.
int n_cats
Number of items in cat array.
plus_t alloc_lines
Number of allocated lines.
int n_site_str
Number of string attributes for one site.
void * topo
Topology info.
int n_upnodes
number of updated nodes
int Spidx_file
Build new spatial index in file.
float * angles
List of angles of connected lines.
int field
Category layer (field)
struct RTree * Area_spidx
Area spatial index.
unsigned char off_t_cnvrt[sizeof(off_t)]
int n_cats
Number of categories attached to element.
int * cat
Array of categories.
char ** str
Array of string attributes.
plus_t * lines
List of boundary lines.
struct recycle * recycle
Recycle dead line.
const struct driver * driver
unsigned char dbl_cnvrt[sizeof(double)]
long orig_scale
Original scale.
int alloc_uplines
Allocated array of lines.
long spidx_head_size
Spatial index header size.
Topological feature - node.
struct site_att * site_att
Array of attributes loaded from db.
off_t size
Size of the file loaded to memory.
char * mapset
Mapset name.
plus_t n_vfaces
Current number of volume faces.
int type_flag
Non-zero value to enable feature type constraint.
int head_only
Open only header.
dglSPCache_s spCache
Shortest path cache.
plus_t n_flines
Current number of faces.
plus_t n_isles
Number of islands inside.
plus_t left
Volume number to the left, negative for hole.
plus_t alloc_isles
Allocated space for isles.
int off_t_quick
Quick reading flag for off_t.
plus_t alloc_holes
Number of allocated holes.
plus_t alloc_lines
Allocated space for lines.
char * organization
Organization name.
int support_updated
Support files were updated.
Backward compatibility version info.
off_t Line_spidx_offset
Offset of lines in sidx file.
off_t size
Coor file size.
int byte_order
File byte order.
long coor_mtime
Time of last coor modification.
int have_boxes
flag to indicate whether bounding boxes should be added
double * y
Array of Y coordinates.
plus_t n_llines
Current number of lines.
struct dblinks * dblnk
Array of DB links.
int n_site_att
Number of attributes in site_att array.
char * driver
Name of DB driver ('sqlite', 'dbf', ...)
FILE * file
File descriptor.
int n_site_dbl
Number of double attributes for one site.
int alloc_values
Allocated space for items.
plus_t alloc_edges
Number of allocated edges.
unsigned char int_cnvrt[sizeof(int)]
int alloc_fields
Number of allocated slots.
double digit_thresh
Threshold for digitization.
int temporary
Temporary map flag.
int a_cats
Allocated space in cat array.
List of bounding boxes with id.
unsigned char shrt_cnvrt[sizeof(short)]
int cost_multip
Edge and node costs multiplicator.
off_t Volume_spidx_offset
Offset of volumes in sidx file.
List of dead lines in the file.
off_t Node_spidx_offset
Offset of nodes in sidx file.
double * z
Array of Z coordinates.
off_t last_offset
Offset of last read line.
char * start
Pointer to beginning of the file in the memory.
plus_t n_clines
Current number of centroids.
int * upnodes
Array of updated nodes.
int format
Map format (native, ogr, postgis)
int * field
Array of layers (fields)
plus_t volume
Volume number, negative for duplicate kernel.
long head_size
Topo header size.
int minor
Current version (minor)
int back_minor
Earliest version that can use this data format (minor)
char * user_name
User name.
double * node_costs
Node costs used for graph.
off_t Hole_spidx_offset
Offset of holes in sidx file.
plus_t n_blines
Current number of boundaries.
int field
Field number constraint (see line_cats structure)
int update_cidx
Update category index if vector is modified.
int lng_quick
Quick reading flag for long.
plus_t n_lines
Number of boundary lines.
plus_t area
Area it exists w/in, if any.
double * dbl
Array of double attributes.
long head_size
Coor header size.
plus_t n_edges
Current number of edges.
int line_type
Line type used to build the graph.
char * gisdbase
GISDBASE path.
plus_t n_volumes
Current number of volumes.
off_t Face_spidx_offset
Offset of faces in sidx file.
unsigned char flt_cnvrt[sizeof(float)]
int n_cidx
Number of category indexes (one for each field/layer)
plus_t alloc_isles
Number of allocated isles.
plus_t n_nodes
Current number of topological features derived from vector geometries.
SF_FeatureType
Simple feature types.
int * max
Array of maximum values.
FILE * hist_fp
History file.
char * key
Name of key column (usually 'cat')