GRASS Programmer's Manual  6.5.svn(2014)-r66266
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
geos.c File Reference

Vector library - GEOS support. More...

#include <grass/config.h>
#include <grass/gis.h>
#include <grass/Vect.h>
#include <grass/glocale.h>
Include dependency graph for geos.c:

Go to the source code of this file.

Functions

GEOSGeometry * Vect_read_line_geos (struct Map_info *Map, int line, int *type)
 Read vector feature and stores it as GEOSGeometry instance. More...
 
GEOSGeometry * Vect_read_area_geos (struct Map_info *Map, int area)
 Read vector area and stores it as GEOSGeometry instance (polygon) More...
 
GEOSGeometry * Vect_line_to_geos (struct Map_info *Map, const struct line_pnts *points, int type)
 Create GEOSGeometry of given type from feature points. More...
 
GEOSCoordSequence * Vect_get_area_points_geos (struct Map_info *Map, int area)
 Returns the polygon array of points, i.e. outer ring (shell) More...
 
GEOSCoordSequence * Vect_get_isle_points_geos (struct Map_info *Map, int isle)
 Returns the polygon (isle) array of points (inner ring) More...
 

Detailed Description

Vector library - GEOS support.

Higher level functions for reading/writing/manipulating vectors.

(C) 2009 by the GRASS Development Team

This program is free software under the GNU General Public License (>=v2). Read the file COPYING that comes with GRASS for details.

Author
Martin Landa <landa.martin gmail.com>

Definition in file geos.c.

Function Documentation

GEOSCoordSequence* Vect_get_area_points_geos ( struct Map_info *  Map,
int  area 
)

Returns the polygon array of points, i.e. outer ring (shell)

You should free allocated memory by GEOSCoordSeq_destroy().

See also Vect_get_area_points().

Parameters
Mappointer to Map_info
areaarea id
Returns
pointer to GEOSCoordSequence
empty GEOSCoordSequence for dead area
NULL on error

Definition at line 399 of file geos.c.

References G_debug(), G_warning(), and NULL.

Referenced by Vect_read_area_geos().

GEOSCoordSequence* Vect_get_isle_points_geos ( struct Map_info *  Map,
int  isle 
)

Returns the polygon (isle) array of points (inner ring)

You should free allocated memory by GEOSCoordSeq_destroy().

See also Vect_get_isle_points().

Parameters
Mappointer to Map_info
isleisel id
Returns
pointer to GEOSGeometry
NULL on error or dead line

Definition at line 430 of file geos.c.

References G_debug().

Referenced by Vect_read_area_geos().

GEOSGeometry* Vect_line_to_geos ( struct Map_info *  Map,
const struct line_pnts *  points,
int  type 
)

Create GEOSGeometry of given type from feature points.

Supported types:

  • GV_POINT -> POINT
  • GV_LINE -> LINESTRING
  • GV_BOUNDARY -> LINEARRING

You should free allocated memory by GEOSGeom_destroy().

Parameters
Mappointer to Map_info structure
typefeature type (see supported types)
Returns
pointer to GEOSGeometry instance
NULL on error

Definition at line 128 of file geos.c.

References G_debug(), main::GV_LINES, NULL, and Vect_is_3d().

GEOSGeometry* Vect_read_area_geos ( struct Map_info *  Map,
int  area 
)

Read vector area and stores it as GEOSGeometry instance (polygon)

You should free allocated memory by GEOSGeom_destroy().

Parameters
Mappointer to Map_info structure
areaarea id
Returns
pointer to GEOSGeometry instance
NULL on error

Definition at line 82 of file geos.c.

References G_debug(), G_fatal_error(), Vect_get_area_isle(), Vect_get_area_num_isles(), Vect_get_area_points_geos(), and Vect_get_isle_points_geos().

GEOSGeometry* Vect_read_line_geos ( struct Map_info *  Map,
int  line,
int type 
)

Read vector feature and stores it as GEOSGeometry instance.

Supported feature types:

  • GV_POINT -> POINT
  • GV_LINE -> LINESTRING
  • GV_BOUNDARY -> LINESTRING / LINEARRING

You should free allocated memory by GEOSGeom_destroy().

Parameters
Mappointer to Map_info structure
linefeature id
[out]typefeature type or NULL
Returns
pointer to GEOSGeometry instance
empty GEOSGeometry for unsupported feature type
NULL on error

Definition at line 46 of file geos.c.

References G_debug(), G_fatal_error(), NULL, and Vect_get_full_name().