https://grasswiki.osgeo.org/w/api.php?action=feedcontributions&user=Networks&feedformat=atomGRASS-Wiki - User contributions [en]2020-08-04T15:28:45ZUser contributionsMediaWiki 1.27.1https://grasswiki.osgeo.org/w/index.php?title=GRASS_Documents&diff=5682GRASS Documents2008-01-08T20:15:46Z<p>Networks: /* added link to info page on grass topolgical vector data */</p>
<hr />
<div>== Usage ==<br />
===== [[Faq|FAQ]] =====<br />
===== [http://grass.itc.it/gdp/manuals.php GRASS Manual pages] =====<br />
===== [http://grass.itc.it/gdp/tutorials.php GRASS Tutorials] =====<br />
* [[GRASS 5 Tutorial]]<br />
* [[GRASS 6 Tutorial]]<br />
* [[Common Tasks]]<br />
* [http://www.grassbook.org/ GRASS Book] with new educational data set download<br />
<br />
===== Training media =====<br />
<br />
* [[GRASS_Education_%28Free_GIS_education%29#Teaching_Materials| Courses, training videos, presentations, etc.]] contributed by the community.<br />
<br />
=== Help with tasks ===<br />
<br />
* Help with [[data formats]]<br />
<br />
* Help with the [[module command line parser]]<br />
<br />
* [[Help with 3D]]<br />
<br />
* Help with [[Imagery|Imagery and satellite]] data<br />
<br />
* Help with [[LIDAR|LIDAR and swath bathymetry]] data<br />
<br />
* Help with creating [[Movies|Movies and animations]]<br />
<br />
* Help with [[vector network analysis]]<br />
<br />
==== Other ====<br />
<br />
* [http://grass.itc.it/gdp/index.php GRASS Documentation project] (huge amount of information for many versions of GRASS spanning the last 15 years; relevant content needs to be moved into this Wiki [''please help!''])<br />
<br />
* [[GRASS_Education_%28Free_GIS_education%29#Teaching_Materials | Teaching materials]] contributed by the community.<BR>(Tutorials, courseware, training videos, etc.)<br />
<br />
* [[Vector Database Management]] Help<br />
* GRASS [[Vectordata#GRASS_6_Vector_Architecture | vectordata]] (toplogical)<br />
<br />
== General ==<br />
===== [[GRASS Citation Repository]] =====<br />
===== [[Tips and Tricks]] =====<br />
===== Cartography =====<br />
* [[Ps.map_scripts|ps.map cartographic output examples]]<br />
* [[GRASS_and_GMT|Export]] to the [http://gmt.soest.hawaii.edu/ GMT] software package for publication quality cartography<br />
<br />
===== [[SQL]] support in GRASS GIS =====<br />
<br />
== Installation ==<br />
* [[Installation Guide]] for binary packages<br />
* [[Compile and Install]] from CVS source code repository (the latest and greatest...)<br />
* [[Compile and install GRASS and QGIS with GDAL/OGR Plugin]] (e.g., to enable QGIS to read GRASS data directly)<br />
* [[GRASS AddOns]] (User contributions)<br />
<br />
== Development ==<br />
* Programming: see document list at [[Development]].<br />
* [[GRASS Translation Glossary]]<br />
* [[GRASS Module Porting List]] (check here if you don't find a certain command in GRASS 6)<br />
* [[Development#Linking GRASS to external languages|Linking GRASS to external languages]]<br />
<br />
== Geostatistics ==<br />
* [[How to interpolate point value using kriging method with R and GRASS 6]]</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=GIS_Concepts&diff=4638GIS Concepts2007-07-30T15:32:45Z<p>Networks: /* Imagery Data */</p>
<hr />
<div>== Geodesy and Cartography ==<br />
=== Background material ===<br />
<br />
* [http://oceanservice.noaa.gov/education/kits/geodesy/welcome.html An introduction to Geodesy] from NOAA<br />
* [http://en.wikipedia.org/wiki/Geodesy Wikipedia's Geodesy entry]<br />
* [http://en.wikipedia.org/wiki/GIS Wikipedia's GIS entry]<br />
* [http://earth-info.nima.mil/GandG/publications/ NGA Geodesy and Geophysics publications] <br />
* [http://www.ordnancesurvey.co.uk/oswebsite/gps/information/coordinatesystemsinfo/guidecontents/index.html UK Ordnance Survey primer on coordinate system concepts] ([http://www.ordnancesurvey.co.uk/gps/docs/A_Guide_to_Coordinate_Systems_in_Great_Britain.pdf PDF])<br />
<br />
=== Map projections ===<br />
<br />
* [http://www.progonos.com/furuti/MapProj/CartIndex/cartIndex.html Map projection concepts] by Carlos Furuti<br />
* [http://www.galleryofmapprojections.com Map projection gallery] by Paul Anderson<br />
* [http://www.dmap.co.uk/utmworld.htm UTM Zones]<br />
* [http://www.epsg.org EPSG Codes]<br />
<br />
=== Map datums ===<br />
<br />
* [http://www.colorado.edu/geography/gcraft/notes/datum/datum.html An introduction to geodetic datums] by Peter Dana<br />
* [http://home.online.no/~sigurdhu/WGS84_Eng.html How WGS 84 defines the Earth]<br />
<br />
==How GRASS deals with geodetics==<br />
<br />
As far as GRASS is concerned, an ellipsoid and a spheroid are the same thing, and ellipsoid is the prefered name.<br />
<br />
As far as GRASS is concerned, a datum is made up of an ellipsoid and an origin.<br />
Setting a datum is optional, but highly recommended.<br />
<br />
GRASS uses a modified version of the [http://proj.maptools.org PROJ.4] library.<br />
<br />
=== Modules controling a location's map projection ===<br />
* [http://grass.itc.it/grass62/manuals/html62_user/g.proj.html g.proj] help page (GRASS 6.2)<br />
* [http://grass.itc.it/grass62/manuals/html62_user/g.setproj.html g.setproj] help page (GRASS 6.2)<br />
<br />
=== Modules for reprojecting GIS maps and data ===<br />
<br />
* [http://grass.itc.it/grass62/manuals/html62_user/r.proj.html r.proj] for reprojecting raster maps<br />
* [http://grass.itc.it/grass62/manuals/html62_user/v.proj.html v.proj] for reprojecting vector maps<br />
* [http://grass.itc.it/grass62/manuals/html62_user/m.proj.html m.proj] for reprojecting a list of coordinate pairs<br />
<br />
=== Modules for georectifying images ===<br />
<br />
* [http://grass.itc.it/grass63/manuals/html63_user/r.region.html r.region] for resetting a raster map's bounds information<br />
* gis.m GIS manager GeoReferencing tool (File menu)<br />
* [http://grass.itc.it/grass63/manuals/html63_user/i.points.html i.points] and [http://grass.itc.it/grass63/manuals/html63_user/i.vpoints.html i.vpoints] for setting GCPs<br />
* [http://grass.itc.it/grass63/manuals/html63_user/i.rectify.html i.rectify] for georectifying imagery<br />
* [http://www.gdal.org GDALwarp] (use with gdal_translate, see the i.warp script in the wiki [[GRASS_AddOns#Imagery_add-ons|AddOns]] page)<br />
<br />
;[[Georeferencing]]<br />
<br />
==GIS Data types==<br />
<br />
===Raster Data===<br />
<br />
Data which occurs in a regularly spaced grid. e.g. a satellite image or digital terrain map.<BR><br />
Region settings determine the spatial extent and resolution of the grid.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/rasterintro.html Raster Intro]<br />
[[Replacement_raster_format]]<br />
[[GRASS_Raster_Mask]]<br />
<br />
===3D Raster Data (Voxel)===<br />
<br />
A stack of 2D raster maps.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/raster3dintro.html Raster 3D Intro]<br />
<br />
===Vector Data===<br />
<br />
Data which occurs as a series of coordinates. e.g. a GPS position or coastline map. May be a point, line, area, etc in either 2D or 3D space. Generally independent of region settings.<br />
<br />
;[http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector Intro] <br />
[[Vectordata]]<br />
<br />
===Imagery Data===<br />
Pixelated photographic or satellite images, often imported from a <br />
[http://en.wikipedia.org/wiki/GeoTIFF GeoTIFF] or PNG image file.<br />
<br />
As far as the GIS is concerned this is just another raster map, but there are several modules specially tailored for rectification and processing common imagery types. e.g. ortho-photos or multi-channel LANDSAT data.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/imageryintro.html Imagery Intro]<br />
[[Imagery]]<br />
<br />
===Site Data===<br />
Old versions of GRASS (5 and earlier) treated point data separate to line and polygon data. GRASS 6 classes all vector data features the same. Convert old sites file data into GRASS 6 vector format with the GRASS 6 [http://grass.itc.it/grass62/manuals/html62_user/v.in.sites.html v.in.sites] or <br />
[http://grass.itc.it/grass62/manuals/html62_user/v.in.sites.all.html v.in.sites.all] modules.<br />
<br />
==Conversions between data types==<br />
<br />
The following table is intended to catalog transformations from one type of data to another:<BR><br />
''[table is currently incomplete!]''<br />
<br />
{| border="1"<br />
| From / To<br />
![http://grass.itc.it/grass62/manuals/html62_user/rasterintro.html Raster]<br />
![http://grass.itc.it/grass62/manuals/html62_user/raster3dintro.html 3D Raster] <br />
![http://grass.itc.it/grass62/manuals/html62_user/vectorintro.html Vector]<br />
|-<br />
! Raster<br />
| r.mapcalc<br />
| r.to.rast3<br />
| r.to.vect, v.sample, r.volume<br />
|-<br />
! 3D Raster<br />
| r3.to.rast, r3.cross.rast<br />
| r3.mapcalc<br />
| <br />
|-<br />
! Vector<br />
| v.to.rast, v.surf.rst, v.surf.idw<br />
| v.vol.rst, v.vol.idw, v.to.rast3<br />
| v.clean <br />
|-<br />
! Data<br />
| r.in.*<br />
| r3.in.*<br />
| v.in.*<br />
|}<br />
<br />
==How a GRASS project is organized==<br />
<br />
GRASS data is stored in a three level structure, the database, location and mapset. These can be found in a series of nested directories on the user's computer. All three must exist and are set at GRASS startup time.<br />
<br />
===The Database===<br />
<br />
The directory in which all GIS data is to be stored.<br />
<br />
e.g. <tt>~/grassdata/</tt><br />
<br />
===The Location===<br />
<br />
A ''location'' is a GRASS project consisting of an area, projection definition (or unprojected), a grouping of mapsets, all with the same projection settings. A location is a subdirectory of the GRASS ''database''.<br />
<br />
e.g. world_lat_lon, utm_zone_59, or west_coast<br />
<br />
A ''location'' contains one or many ''mapsets''.<br />
<br />
===The Mapset===<br />
<br />
A ''mapset'' contains map(s), it is a subdirectory of a ''location''.<br />
Conceptually, if several mapsets are used in a location, they may be assigned to different users (each has one or several own mapsets to work in and cannot modify thos of other users), and/or it they are used to organize a project (''location'') by subareas or subprojects.<br />
There are no specific organizational limitations.<br />
<br />
There is always a PERMANENT mapset which is readable from all other mapsets within the same location. Read access to maps in other mapsets is managed with the 'g.mapsets' command or by adding the "@" symbol and mapset name (e.g. <tt>map@othermapset</tt>).<br />
<br />
==How the Open Source software development model works==<br />
<br />
GRASS differs from many other GIS software packages used in the professional world in that it is developed and distributed by users for users; mostly on a volunteer basis, in the open, and is given away for free.<br />
<br />
Emphasis is placed on interoperability and unlimited access to data as well as software flexibility and evolution rate (both added features and bug minimization).<br />
<br />
''Free'' can have many meanings, as the links below illustrate, and within a project there is often a spectrum of philosophies and goals amongst developers. But it works - Free Software has revolutionized many sectors of the computing world over the last few years and continues to do so today.<br />
<br />
* [http://www.gnu.org/philosophy/philosophy.html Philosophy of the Free Software Movement]<br />
* [http://www.opensource.org The Open Source Initiative has a good explanation]<br />
* [http://www.fsf.org The Free Software Foundation]<br />
* [http://www.gnu.org/copyleft/gpl.html The GNU General Public License]<br />
<br />
==Raster GIS Analysis==<br />
<br />
===Simple Raster Math===<br />
<br />
Sometimes when analyzing the relationship between two or more raster data sets, a relatively simple mathematical approach is best. One example using the r.mapcalc tool would be to look at changes between two raster data sets. By subtracting the values in these two data sets you can assume that resulting cells with a positive value have a possitive change and those with a negative value have negative change. If the cell values have a zero value then there would be no change.<br />
<br />
GRASS comes bundled with the r.mapcalc tool as well as the d.m GUI interface for the tool accessable using the r.mapcalculator command. This GUI allows the user to easily assign raster sets to the variables used in the formulas and easily create mathematical strings that will result in a new raster data set containing the results.<br />
<br />
[[Category:Development]]<br />
[[Category:Community]]</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=GIS_Concepts&diff=4637GIS Concepts2007-07-30T15:25:07Z<p>Networks: /* Raster Data */</p>
<hr />
<div>== Geodesy and Cartography ==<br />
=== Background material ===<br />
<br />
* [http://oceanservice.noaa.gov/education/kits/geodesy/welcome.html An introduction to Geodesy] from NOAA<br />
* [http://en.wikipedia.org/wiki/Geodesy Wikipedia's Geodesy entry]<br />
* [http://en.wikipedia.org/wiki/GIS Wikipedia's GIS entry]<br />
* [http://earth-info.nima.mil/GandG/publications/ NGA Geodesy and Geophysics publications] <br />
* [http://www.ordnancesurvey.co.uk/oswebsite/gps/information/coordinatesystemsinfo/guidecontents/index.html UK Ordnance Survey primer on coordinate system concepts] ([http://www.ordnancesurvey.co.uk/gps/docs/A_Guide_to_Coordinate_Systems_in_Great_Britain.pdf PDF])<br />
<br />
=== Map projections ===<br />
<br />
* [http://www.progonos.com/furuti/MapProj/CartIndex/cartIndex.html Map projection concepts] by Carlos Furuti<br />
* [http://www.galleryofmapprojections.com Map projection gallery] by Paul Anderson<br />
* [http://www.dmap.co.uk/utmworld.htm UTM Zones]<br />
* [http://www.epsg.org EPSG Codes]<br />
<br />
=== Map datums ===<br />
<br />
* [http://www.colorado.edu/geography/gcraft/notes/datum/datum.html An introduction to geodetic datums] by Peter Dana<br />
* [http://home.online.no/~sigurdhu/WGS84_Eng.html How WGS 84 defines the Earth]<br />
<br />
==How GRASS deals with geodetics==<br />
<br />
As far as GRASS is concerned, an ellipsoid and a spheroid are the same thing, and ellipsoid is the prefered name.<br />
<br />
As far as GRASS is concerned, a datum is made up of an ellipsoid and an origin.<br />
Setting a datum is optional, but highly recommended.<br />
<br />
GRASS uses a modified version of the [http://proj.maptools.org PROJ.4] library.<br />
<br />
=== Modules controling a location's map projection ===<br />
* [http://grass.itc.it/grass62/manuals/html62_user/g.proj.html g.proj] help page (GRASS 6.2)<br />
* [http://grass.itc.it/grass62/manuals/html62_user/g.setproj.html g.setproj] help page (GRASS 6.2)<br />
<br />
=== Modules for reprojecting GIS maps and data ===<br />
<br />
* [http://grass.itc.it/grass62/manuals/html62_user/r.proj.html r.proj] for reprojecting raster maps<br />
* [http://grass.itc.it/grass62/manuals/html62_user/v.proj.html v.proj] for reprojecting vector maps<br />
* [http://grass.itc.it/grass62/manuals/html62_user/m.proj.html m.proj] for reprojecting a list of coordinate pairs<br />
<br />
=== Modules for georectifying images ===<br />
<br />
* [http://grass.itc.it/grass63/manuals/html63_user/r.region.html r.region] for resetting a raster map's bounds information<br />
* gis.m GIS manager GeoReferencing tool (File menu)<br />
* [http://grass.itc.it/grass63/manuals/html63_user/i.points.html i.points] and [http://grass.itc.it/grass63/manuals/html63_user/i.vpoints.html i.vpoints] for setting GCPs<br />
* [http://grass.itc.it/grass63/manuals/html63_user/i.rectify.html i.rectify] for georectifying imagery<br />
* [http://www.gdal.org GDALwarp] (use with gdal_translate, see the i.warp script in the wiki [[GRASS_AddOns#Imagery_add-ons|AddOns]] page)<br />
<br />
;[[Georeferencing]]<br />
<br />
==GIS Data types==<br />
<br />
===Raster Data===<br />
<br />
Data which occurs in a regularly spaced grid. e.g. a satellite image or digital terrain map.<BR><br />
Region settings determine the spatial extent and resolution of the grid.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/rasterintro.html Raster Intro]<br />
[[Replacement_raster_format]]<br />
[[GRASS_Raster_Mask]]<br />
<br />
===3D Raster Data (Voxel)===<br />
<br />
A stack of 2D raster maps.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/raster3dintro.html Raster 3D Intro]<br />
<br />
===Vector Data===<br />
<br />
Data which occurs as a series of coordinates. e.g. a GPS position or coastline map. May be a point, line, area, etc in either 2D or 3D space. Generally independent of region settings.<br />
<br />
;[http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector Intro] <br />
[[Vectordata]]<br />
<br />
===Imagery Data===<br />
Pixelated photographic or satellite images, often imported from a <br />
[http://en.wikipedia.org/wiki/GeoTIFF GeoTIFF] or PNG image file.<br />
<br />
As far as the GIS is concerned this is just another raster map, but there are several modules specially tailored for rectification and processing common imagery types. e.g. ortho-photos or multi-channel LANDSAT data.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/imageryintro.html Imagery Intro]<br />
<br />
===Site Data===<br />
Old versions of GRASS (5 and earlier) treated point data separate to line and polygon data. GRASS 6 classes all vector data features the same. Convert old sites file data into GRASS 6 vector format with the GRASS 6 [http://grass.itc.it/grass62/manuals/html62_user/v.in.sites.html v.in.sites] or <br />
[http://grass.itc.it/grass62/manuals/html62_user/v.in.sites.all.html v.in.sites.all] modules.<br />
<br />
==Conversions between data types==<br />
<br />
The following table is intended to catalog transformations from one type of data to another:<BR><br />
''[table is currently incomplete!]''<br />
<br />
{| border="1"<br />
| From / To<br />
![http://grass.itc.it/grass62/manuals/html62_user/rasterintro.html Raster]<br />
![http://grass.itc.it/grass62/manuals/html62_user/raster3dintro.html 3D Raster] <br />
![http://grass.itc.it/grass62/manuals/html62_user/vectorintro.html Vector]<br />
|-<br />
! Raster<br />
| r.mapcalc<br />
| r.to.rast3<br />
| r.to.vect, v.sample, r.volume<br />
|-<br />
! 3D Raster<br />
| r3.to.rast, r3.cross.rast<br />
| r3.mapcalc<br />
| <br />
|-<br />
! Vector<br />
| v.to.rast, v.surf.rst, v.surf.idw<br />
| v.vol.rst, v.vol.idw, v.to.rast3<br />
| v.clean <br />
|-<br />
! Data<br />
| r.in.*<br />
| r3.in.*<br />
| v.in.*<br />
|}<br />
<br />
==How a GRASS project is organized==<br />
<br />
GRASS data is stored in a three level structure, the database, location and mapset. These can be found in a series of nested directories on the user's computer. All three must exist and are set at GRASS startup time.<br />
<br />
===The Database===<br />
<br />
The directory in which all GIS data is to be stored.<br />
<br />
e.g. <tt>~/grassdata/</tt><br />
<br />
===The Location===<br />
<br />
A ''location'' is a GRASS project consisting of an area, projection definition (or unprojected), a grouping of mapsets, all with the same projection settings. A location is a subdirectory of the GRASS ''database''.<br />
<br />
e.g. world_lat_lon, utm_zone_59, or west_coast<br />
<br />
A ''location'' contains one or many ''mapsets''.<br />
<br />
===The Mapset===<br />
<br />
A ''mapset'' contains map(s), it is a subdirectory of a ''location''.<br />
Conceptually, if several mapsets are used in a location, they may be assigned to different users (each has one or several own mapsets to work in and cannot modify thos of other users), and/or it they are used to organize a project (''location'') by subareas or subprojects.<br />
There are no specific organizational limitations.<br />
<br />
There is always a PERMANENT mapset which is readable from all other mapsets within the same location. Read access to maps in other mapsets is managed with the 'g.mapsets' command or by adding the "@" symbol and mapset name (e.g. <tt>map@othermapset</tt>).<br />
<br />
==How the Open Source software development model works==<br />
<br />
GRASS differs from many other GIS software packages used in the professional world in that it is developed and distributed by users for users; mostly on a volunteer basis, in the open, and is given away for free.<br />
<br />
Emphasis is placed on interoperability and unlimited access to data as well as software flexibility and evolution rate (both added features and bug minimization).<br />
<br />
''Free'' can have many meanings, as the links below illustrate, and within a project there is often a spectrum of philosophies and goals amongst developers. But it works - Free Software has revolutionized many sectors of the computing world over the last few years and continues to do so today.<br />
<br />
* [http://www.gnu.org/philosophy/philosophy.html Philosophy of the Free Software Movement]<br />
* [http://www.opensource.org The Open Source Initiative has a good explanation]<br />
* [http://www.fsf.org The Free Software Foundation]<br />
* [http://www.gnu.org/copyleft/gpl.html The GNU General Public License]<br />
<br />
==Raster GIS Analysis==<br />
<br />
===Simple Raster Math===<br />
<br />
Sometimes when analyzing the relationship between two or more raster data sets, a relatively simple mathematical approach is best. One example using the r.mapcalc tool would be to look at changes between two raster data sets. By subtracting the values in these two data sets you can assume that resulting cells with a positive value have a possitive change and those with a negative value have negative change. If the cell values have a zero value then there would be no change.<br />
<br />
GRASS comes bundled with the r.mapcalc tool as well as the d.m GUI interface for the tool accessable using the r.mapcalculator command. This GUI allows the user to easily assign raster sets to the variables used in the formulas and easily create mathematical strings that will result in a new raster data set containing the results.<br />
<br />
[[Category:Development]]<br />
[[Category:Community]]</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=GIS_Concepts&diff=4636GIS Concepts2007-07-30T15:24:20Z<p>Networks: /* Modules for georectifying images */</p>
<hr />
<div>== Geodesy and Cartography ==<br />
=== Background material ===<br />
<br />
* [http://oceanservice.noaa.gov/education/kits/geodesy/welcome.html An introduction to Geodesy] from NOAA<br />
* [http://en.wikipedia.org/wiki/Geodesy Wikipedia's Geodesy entry]<br />
* [http://en.wikipedia.org/wiki/GIS Wikipedia's GIS entry]<br />
* [http://earth-info.nima.mil/GandG/publications/ NGA Geodesy and Geophysics publications] <br />
* [http://www.ordnancesurvey.co.uk/oswebsite/gps/information/coordinatesystemsinfo/guidecontents/index.html UK Ordnance Survey primer on coordinate system concepts] ([http://www.ordnancesurvey.co.uk/gps/docs/A_Guide_to_Coordinate_Systems_in_Great_Britain.pdf PDF])<br />
<br />
=== Map projections ===<br />
<br />
* [http://www.progonos.com/furuti/MapProj/CartIndex/cartIndex.html Map projection concepts] by Carlos Furuti<br />
* [http://www.galleryofmapprojections.com Map projection gallery] by Paul Anderson<br />
* [http://www.dmap.co.uk/utmworld.htm UTM Zones]<br />
* [http://www.epsg.org EPSG Codes]<br />
<br />
=== Map datums ===<br />
<br />
* [http://www.colorado.edu/geography/gcraft/notes/datum/datum.html An introduction to geodetic datums] by Peter Dana<br />
* [http://home.online.no/~sigurdhu/WGS84_Eng.html How WGS 84 defines the Earth]<br />
<br />
==How GRASS deals with geodetics==<br />
<br />
As far as GRASS is concerned, an ellipsoid and a spheroid are the same thing, and ellipsoid is the prefered name.<br />
<br />
As far as GRASS is concerned, a datum is made up of an ellipsoid and an origin.<br />
Setting a datum is optional, but highly recommended.<br />
<br />
GRASS uses a modified version of the [http://proj.maptools.org PROJ.4] library.<br />
<br />
=== Modules controling a location's map projection ===<br />
* [http://grass.itc.it/grass62/manuals/html62_user/g.proj.html g.proj] help page (GRASS 6.2)<br />
* [http://grass.itc.it/grass62/manuals/html62_user/g.setproj.html g.setproj] help page (GRASS 6.2)<br />
<br />
=== Modules for reprojecting GIS maps and data ===<br />
<br />
* [http://grass.itc.it/grass62/manuals/html62_user/r.proj.html r.proj] for reprojecting raster maps<br />
* [http://grass.itc.it/grass62/manuals/html62_user/v.proj.html v.proj] for reprojecting vector maps<br />
* [http://grass.itc.it/grass62/manuals/html62_user/m.proj.html m.proj] for reprojecting a list of coordinate pairs<br />
<br />
=== Modules for georectifying images ===<br />
<br />
* [http://grass.itc.it/grass63/manuals/html63_user/r.region.html r.region] for resetting a raster map's bounds information<br />
* gis.m GIS manager GeoReferencing tool (File menu)<br />
* [http://grass.itc.it/grass63/manuals/html63_user/i.points.html i.points] and [http://grass.itc.it/grass63/manuals/html63_user/i.vpoints.html i.vpoints] for setting GCPs<br />
* [http://grass.itc.it/grass63/manuals/html63_user/i.rectify.html i.rectify] for georectifying imagery<br />
* [http://www.gdal.org GDALwarp] (use with gdal_translate, see the i.warp script in the wiki [[GRASS_AddOns#Imagery_add-ons|AddOns]] page)<br />
<br />
;[[Georeferencing]]<br />
<br />
==GIS Data types==<br />
<br />
===Raster Data===<br />
<br />
Data which occurs in a regularly spaced grid. e.g. a satellite image or digital terrain map.<BR><br />
Region settings determine the spatial extent and resolution of the grid.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/rasterintro.html Raster Intro]<br />
[[Replacement_raster_format]]<br />
<br />
===3D Raster Data (Voxel)===<br />
<br />
A stack of 2D raster maps.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/raster3dintro.html Raster 3D Intro]<br />
<br />
===Vector Data===<br />
<br />
Data which occurs as a series of coordinates. e.g. a GPS position or coastline map. May be a point, line, area, etc in either 2D or 3D space. Generally independent of region settings.<br />
<br />
;[http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector Intro] <br />
[[Vectordata]]<br />
<br />
===Imagery Data===<br />
Pixelated photographic or satellite images, often imported from a <br />
[http://en.wikipedia.org/wiki/GeoTIFF GeoTIFF] or PNG image file.<br />
<br />
As far as the GIS is concerned this is just another raster map, but there are several modules specially tailored for rectification and processing common imagery types. e.g. ortho-photos or multi-channel LANDSAT data.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/imageryintro.html Imagery Intro]<br />
<br />
===Site Data===<br />
Old versions of GRASS (5 and earlier) treated point data separate to line and polygon data. GRASS 6 classes all vector data features the same. Convert old sites file data into GRASS 6 vector format with the GRASS 6 [http://grass.itc.it/grass62/manuals/html62_user/v.in.sites.html v.in.sites] or <br />
[http://grass.itc.it/grass62/manuals/html62_user/v.in.sites.all.html v.in.sites.all] modules.<br />
<br />
==Conversions between data types==<br />
<br />
The following table is intended to catalog transformations from one type of data to another:<BR><br />
''[table is currently incomplete!]''<br />
<br />
{| border="1"<br />
| From / To<br />
![http://grass.itc.it/grass62/manuals/html62_user/rasterintro.html Raster]<br />
![http://grass.itc.it/grass62/manuals/html62_user/raster3dintro.html 3D Raster] <br />
![http://grass.itc.it/grass62/manuals/html62_user/vectorintro.html Vector]<br />
|-<br />
! Raster<br />
| r.mapcalc<br />
| r.to.rast3<br />
| r.to.vect, v.sample, r.volume<br />
|-<br />
! 3D Raster<br />
| r3.to.rast, r3.cross.rast<br />
| r3.mapcalc<br />
| <br />
|-<br />
! Vector<br />
| v.to.rast, v.surf.rst, v.surf.idw<br />
| v.vol.rst, v.vol.idw, v.to.rast3<br />
| v.clean <br />
|-<br />
! Data<br />
| r.in.*<br />
| r3.in.*<br />
| v.in.*<br />
|}<br />
<br />
==How a GRASS project is organized==<br />
<br />
GRASS data is stored in a three level structure, the database, location and mapset. These can be found in a series of nested directories on the user's computer. All three must exist and are set at GRASS startup time.<br />
<br />
===The Database===<br />
<br />
The directory in which all GIS data is to be stored.<br />
<br />
e.g. <tt>~/grassdata/</tt><br />
<br />
===The Location===<br />
<br />
A ''location'' is a GRASS project consisting of an area, projection definition (or unprojected), a grouping of mapsets, all with the same projection settings. A location is a subdirectory of the GRASS ''database''.<br />
<br />
e.g. world_lat_lon, utm_zone_59, or west_coast<br />
<br />
A ''location'' contains one or many ''mapsets''.<br />
<br />
===The Mapset===<br />
<br />
A ''mapset'' contains map(s), it is a subdirectory of a ''location''.<br />
Conceptually, if several mapsets are used in a location, they may be assigned to different users (each has one or several own mapsets to work in and cannot modify thos of other users), and/or it they are used to organize a project (''location'') by subareas or subprojects.<br />
There are no specific organizational limitations.<br />
<br />
There is always a PERMANENT mapset which is readable from all other mapsets within the same location. Read access to maps in other mapsets is managed with the 'g.mapsets' command or by adding the "@" symbol and mapset name (e.g. <tt>map@othermapset</tt>).<br />
<br />
==How the Open Source software development model works==<br />
<br />
GRASS differs from many other GIS software packages used in the professional world in that it is developed and distributed by users for users; mostly on a volunteer basis, in the open, and is given away for free.<br />
<br />
Emphasis is placed on interoperability and unlimited access to data as well as software flexibility and evolution rate (both added features and bug minimization).<br />
<br />
''Free'' can have many meanings, as the links below illustrate, and within a project there is often a spectrum of philosophies and goals amongst developers. But it works - Free Software has revolutionized many sectors of the computing world over the last few years and continues to do so today.<br />
<br />
* [http://www.gnu.org/philosophy/philosophy.html Philosophy of the Free Software Movement]<br />
* [http://www.opensource.org The Open Source Initiative has a good explanation]<br />
* [http://www.fsf.org The Free Software Foundation]<br />
* [http://www.gnu.org/copyleft/gpl.html The GNU General Public License]<br />
<br />
==Raster GIS Analysis==<br />
<br />
===Simple Raster Math===<br />
<br />
Sometimes when analyzing the relationship between two or more raster data sets, a relatively simple mathematical approach is best. One example using the r.mapcalc tool would be to look at changes between two raster data sets. By subtracting the values in these two data sets you can assume that resulting cells with a positive value have a possitive change and those with a negative value have negative change. If the cell values have a zero value then there would be no change.<br />
<br />
GRASS comes bundled with the r.mapcalc tool as well as the d.m GUI interface for the tool accessable using the r.mapcalculator command. This GUI allows the user to easily assign raster sets to the variables used in the formulas and easily create mathematical strings that will result in a new raster data set containing the results.<br />
<br />
[[Category:Development]]<br />
[[Category:Community]]</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=GIS_Concepts&diff=4635GIS Concepts2007-07-30T15:21:07Z<p>Networks: /* Vector Data */</p>
<hr />
<div>== Geodesy and Cartography ==<br />
=== Background material ===<br />
<br />
* [http://oceanservice.noaa.gov/education/kits/geodesy/welcome.html An introduction to Geodesy] from NOAA<br />
* [http://en.wikipedia.org/wiki/Geodesy Wikipedia's Geodesy entry]<br />
* [http://en.wikipedia.org/wiki/GIS Wikipedia's GIS entry]<br />
* [http://earth-info.nima.mil/GandG/publications/ NGA Geodesy and Geophysics publications] <br />
* [http://www.ordnancesurvey.co.uk/oswebsite/gps/information/coordinatesystemsinfo/guidecontents/index.html UK Ordnance Survey primer on coordinate system concepts] ([http://www.ordnancesurvey.co.uk/gps/docs/A_Guide_to_Coordinate_Systems_in_Great_Britain.pdf PDF])<br />
<br />
=== Map projections ===<br />
<br />
* [http://www.progonos.com/furuti/MapProj/CartIndex/cartIndex.html Map projection concepts] by Carlos Furuti<br />
* [http://www.galleryofmapprojections.com Map projection gallery] by Paul Anderson<br />
* [http://www.dmap.co.uk/utmworld.htm UTM Zones]<br />
* [http://www.epsg.org EPSG Codes]<br />
<br />
=== Map datums ===<br />
<br />
* [http://www.colorado.edu/geography/gcraft/notes/datum/datum.html An introduction to geodetic datums] by Peter Dana<br />
* [http://home.online.no/~sigurdhu/WGS84_Eng.html How WGS 84 defines the Earth]<br />
<br />
==How GRASS deals with geodetics==<br />
<br />
As far as GRASS is concerned, an ellipsoid and a spheroid are the same thing, and ellipsoid is the prefered name.<br />
<br />
As far as GRASS is concerned, a datum is made up of an ellipsoid and an origin.<br />
Setting a datum is optional, but highly recommended.<br />
<br />
GRASS uses a modified version of the [http://proj.maptools.org PROJ.4] library.<br />
<br />
=== Modules controling a location's map projection ===<br />
* [http://grass.itc.it/grass62/manuals/html62_user/g.proj.html g.proj] help page (GRASS 6.2)<br />
* [http://grass.itc.it/grass62/manuals/html62_user/g.setproj.html g.setproj] help page (GRASS 6.2)<br />
<br />
=== Modules for reprojecting GIS maps and data ===<br />
<br />
* [http://grass.itc.it/grass62/manuals/html62_user/r.proj.html r.proj] for reprojecting raster maps<br />
* [http://grass.itc.it/grass62/manuals/html62_user/v.proj.html v.proj] for reprojecting vector maps<br />
* [http://grass.itc.it/grass62/manuals/html62_user/m.proj.html m.proj] for reprojecting a list of coordinate pairs<br />
<br />
=== Modules for georectifying images ===<br />
<br />
* [http://grass.itc.it/grass62/manuals/html62_user/r.region.html r.region] for resetting a raster map's bounds information<br />
* gis.m GIS manager GeoReferencing tool (File menu)<br />
* [http://grass.itc.it/grass62/manuals/html62_user/i.points.html i.points] and [http://grass.itc.it/grass62/manuals/html62_user/i.vpoints.html i.vpoints] for setting GCPs<br />
* [http://grass.itc.it/grass62/manuals/html62_user/i.rectify.html i.rectify] for georectifying imagery<br />
* [http://www.gdal.org GDALwarp] (use with gdal_translate, see the i.warp script in the wiki [[GRASS_AddOns#Imagery_add-ons|AddOns]] page)<br />
<br />
==GIS Data types==<br />
<br />
===Raster Data===<br />
<br />
Data which occurs in a regularly spaced grid. e.g. a satellite image or digital terrain map.<BR><br />
Region settings determine the spatial extent and resolution of the grid.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/rasterintro.html Raster Intro]<br />
[[Replacement_raster_format]]<br />
<br />
===3D Raster Data (Voxel)===<br />
<br />
A stack of 2D raster maps.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/raster3dintro.html Raster 3D Intro]<br />
<br />
===Vector Data===<br />
<br />
Data which occurs as a series of coordinates. e.g. a GPS position or coastline map. May be a point, line, area, etc in either 2D or 3D space. Generally independent of region settings.<br />
<br />
;[http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector Intro] <br />
[[Vectordata]]<br />
<br />
===Imagery Data===<br />
Pixelated photographic or satellite images, often imported from a <br />
[http://en.wikipedia.org/wiki/GeoTIFF GeoTIFF] or PNG image file.<br />
<br />
As far as the GIS is concerned this is just another raster map, but there are several modules specially tailored for rectification and processing common imagery types. e.g. ortho-photos or multi-channel LANDSAT data.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/imageryintro.html Imagery Intro]<br />
<br />
===Site Data===<br />
Old versions of GRASS (5 and earlier) treated point data separate to line and polygon data. GRASS 6 classes all vector data features the same. Convert old sites file data into GRASS 6 vector format with the GRASS 6 [http://grass.itc.it/grass62/manuals/html62_user/v.in.sites.html v.in.sites] or <br />
[http://grass.itc.it/grass62/manuals/html62_user/v.in.sites.all.html v.in.sites.all] modules.<br />
<br />
==Conversions between data types==<br />
<br />
The following table is intended to catalog transformations from one type of data to another:<BR><br />
''[table is currently incomplete!]''<br />
<br />
{| border="1"<br />
| From / To<br />
![http://grass.itc.it/grass62/manuals/html62_user/rasterintro.html Raster]<br />
![http://grass.itc.it/grass62/manuals/html62_user/raster3dintro.html 3D Raster] <br />
![http://grass.itc.it/grass62/manuals/html62_user/vectorintro.html Vector]<br />
|-<br />
! Raster<br />
| r.mapcalc<br />
| r.to.rast3<br />
| r.to.vect, v.sample, r.volume<br />
|-<br />
! 3D Raster<br />
| r3.to.rast, r3.cross.rast<br />
| r3.mapcalc<br />
| <br />
|-<br />
! Vector<br />
| v.to.rast, v.surf.rst, v.surf.idw<br />
| v.vol.rst, v.vol.idw, v.to.rast3<br />
| v.clean <br />
|-<br />
! Data<br />
| r.in.*<br />
| r3.in.*<br />
| v.in.*<br />
|}<br />
<br />
==How a GRASS project is organized==<br />
<br />
GRASS data is stored in a three level structure, the database, location and mapset. These can be found in a series of nested directories on the user's computer. All three must exist and are set at GRASS startup time.<br />
<br />
===The Database===<br />
<br />
The directory in which all GIS data is to be stored.<br />
<br />
e.g. <tt>~/grassdata/</tt><br />
<br />
===The Location===<br />
<br />
A ''location'' is a GRASS project consisting of an area, projection definition (or unprojected), a grouping of mapsets, all with the same projection settings. A location is a subdirectory of the GRASS ''database''.<br />
<br />
e.g. world_lat_lon, utm_zone_59, or west_coast<br />
<br />
A ''location'' contains one or many ''mapsets''.<br />
<br />
===The Mapset===<br />
<br />
A ''mapset'' contains map(s), it is a subdirectory of a ''location''.<br />
Conceptually, if several mapsets are used in a location, they may be assigned to different users (each has one or several own mapsets to work in and cannot modify thos of other users), and/or it they are used to organize a project (''location'') by subareas or subprojects.<br />
There are no specific organizational limitations.<br />
<br />
There is always a PERMANENT mapset which is readable from all other mapsets within the same location. Read access to maps in other mapsets is managed with the 'g.mapsets' command or by adding the "@" symbol and mapset name (e.g. <tt>map@othermapset</tt>).<br />
<br />
==How the Open Source software development model works==<br />
<br />
GRASS differs from many other GIS software packages used in the professional world in that it is developed and distributed by users for users; mostly on a volunteer basis, in the open, and is given away for free.<br />
<br />
Emphasis is placed on interoperability and unlimited access to data as well as software flexibility and evolution rate (both added features and bug minimization).<br />
<br />
''Free'' can have many meanings, as the links below illustrate, and within a project there is often a spectrum of philosophies and goals amongst developers. But it works - Free Software has revolutionized many sectors of the computing world over the last few years and continues to do so today.<br />
<br />
* [http://www.gnu.org/philosophy/philosophy.html Philosophy of the Free Software Movement]<br />
* [http://www.opensource.org The Open Source Initiative has a good explanation]<br />
* [http://www.fsf.org The Free Software Foundation]<br />
* [http://www.gnu.org/copyleft/gpl.html The GNU General Public License]<br />
<br />
==Raster GIS Analysis==<br />
<br />
===Simple Raster Math===<br />
<br />
Sometimes when analyzing the relationship between two or more raster data sets, a relatively simple mathematical approach is best. One example using the r.mapcalc tool would be to look at changes between two raster data sets. By subtracting the values in these two data sets you can assume that resulting cells with a positive value have a possitive change and those with a negative value have negative change. If the cell values have a zero value then there would be no change.<br />
<br />
GRASS comes bundled with the r.mapcalc tool as well as the d.m GUI interface for the tool accessable using the r.mapcalculator command. This GUI allows the user to easily assign raster sets to the variables used in the formulas and easily create mathematical strings that will result in a new raster data set containing the results.<br />
<br />
[[Category:Development]]<br />
[[Category:Community]]</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=GIS_Concepts&diff=4634GIS Concepts2007-07-30T15:20:20Z<p>Networks: /* Raster Data */</p>
<hr />
<div>== Geodesy and Cartography ==<br />
=== Background material ===<br />
<br />
* [http://oceanservice.noaa.gov/education/kits/geodesy/welcome.html An introduction to Geodesy] from NOAA<br />
* [http://en.wikipedia.org/wiki/Geodesy Wikipedia's Geodesy entry]<br />
* [http://en.wikipedia.org/wiki/GIS Wikipedia's GIS entry]<br />
* [http://earth-info.nima.mil/GandG/publications/ NGA Geodesy and Geophysics publications] <br />
* [http://www.ordnancesurvey.co.uk/oswebsite/gps/information/coordinatesystemsinfo/guidecontents/index.html UK Ordnance Survey primer on coordinate system concepts] ([http://www.ordnancesurvey.co.uk/gps/docs/A_Guide_to_Coordinate_Systems_in_Great_Britain.pdf PDF])<br />
<br />
=== Map projections ===<br />
<br />
* [http://www.progonos.com/furuti/MapProj/CartIndex/cartIndex.html Map projection concepts] by Carlos Furuti<br />
* [http://www.galleryofmapprojections.com Map projection gallery] by Paul Anderson<br />
* [http://www.dmap.co.uk/utmworld.htm UTM Zones]<br />
* [http://www.epsg.org EPSG Codes]<br />
<br />
=== Map datums ===<br />
<br />
* [http://www.colorado.edu/geography/gcraft/notes/datum/datum.html An introduction to geodetic datums] by Peter Dana<br />
* [http://home.online.no/~sigurdhu/WGS84_Eng.html How WGS 84 defines the Earth]<br />
<br />
==How GRASS deals with geodetics==<br />
<br />
As far as GRASS is concerned, an ellipsoid and a spheroid are the same thing, and ellipsoid is the prefered name.<br />
<br />
As far as GRASS is concerned, a datum is made up of an ellipsoid and an origin.<br />
Setting a datum is optional, but highly recommended.<br />
<br />
GRASS uses a modified version of the [http://proj.maptools.org PROJ.4] library.<br />
<br />
=== Modules controling a location's map projection ===<br />
* [http://grass.itc.it/grass62/manuals/html62_user/g.proj.html g.proj] help page (GRASS 6.2)<br />
* [http://grass.itc.it/grass62/manuals/html62_user/g.setproj.html g.setproj] help page (GRASS 6.2)<br />
<br />
=== Modules for reprojecting GIS maps and data ===<br />
<br />
* [http://grass.itc.it/grass62/manuals/html62_user/r.proj.html r.proj] for reprojecting raster maps<br />
* [http://grass.itc.it/grass62/manuals/html62_user/v.proj.html v.proj] for reprojecting vector maps<br />
* [http://grass.itc.it/grass62/manuals/html62_user/m.proj.html m.proj] for reprojecting a list of coordinate pairs<br />
<br />
=== Modules for georectifying images ===<br />
<br />
* [http://grass.itc.it/grass62/manuals/html62_user/r.region.html r.region] for resetting a raster map's bounds information<br />
* gis.m GIS manager GeoReferencing tool (File menu)<br />
* [http://grass.itc.it/grass62/manuals/html62_user/i.points.html i.points] and [http://grass.itc.it/grass62/manuals/html62_user/i.vpoints.html i.vpoints] for setting GCPs<br />
* [http://grass.itc.it/grass62/manuals/html62_user/i.rectify.html i.rectify] for georectifying imagery<br />
* [http://www.gdal.org GDALwarp] (use with gdal_translate, see the i.warp script in the wiki [[GRASS_AddOns#Imagery_add-ons|AddOns]] page)<br />
<br />
==GIS Data types==<br />
<br />
===Raster Data===<br />
<br />
Data which occurs in a regularly spaced grid. e.g. a satellite image or digital terrain map.<BR><br />
Region settings determine the spatial extent and resolution of the grid.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/rasterintro.html Raster Intro]<br />
[[Replacement_raster_format]]<br />
<br />
===3D Raster Data (Voxel)===<br />
<br />
A stack of 2D raster maps.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/raster3dintro.html Raster 3D Intro]<br />
<br />
===Vector Data===<br />
<br />
Data which occurs as a series of coordinates. e.g. a GPS position or coastline map. May be a point, line, area, etc in either 2D or 3D space. Generally independent of region settings.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/vectorintro.html Vector Intro] [[Vectordata]]<br />
<br />
===Imagery Data===<br />
Pixelated photographic or satellite images, often imported from a <br />
[http://en.wikipedia.org/wiki/GeoTIFF GeoTIFF] or PNG image file.<br />
<br />
As far as the GIS is concerned this is just another raster map, but there are several modules specially tailored for rectification and processing common imagery types. e.g. ortho-photos or multi-channel LANDSAT data.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/imageryintro.html Imagery Intro]<br />
<br />
===Site Data===<br />
Old versions of GRASS (5 and earlier) treated point data separate to line and polygon data. GRASS 6 classes all vector data features the same. Convert old sites file data into GRASS 6 vector format with the GRASS 6 [http://grass.itc.it/grass62/manuals/html62_user/v.in.sites.html v.in.sites] or <br />
[http://grass.itc.it/grass62/manuals/html62_user/v.in.sites.all.html v.in.sites.all] modules.<br />
<br />
==Conversions between data types==<br />
<br />
The following table is intended to catalog transformations from one type of data to another:<BR><br />
''[table is currently incomplete!]''<br />
<br />
{| border="1"<br />
| From / To<br />
![http://grass.itc.it/grass62/manuals/html62_user/rasterintro.html Raster]<br />
![http://grass.itc.it/grass62/manuals/html62_user/raster3dintro.html 3D Raster] <br />
![http://grass.itc.it/grass62/manuals/html62_user/vectorintro.html Vector]<br />
|-<br />
! Raster<br />
| r.mapcalc<br />
| r.to.rast3<br />
| r.to.vect, v.sample, r.volume<br />
|-<br />
! 3D Raster<br />
| r3.to.rast, r3.cross.rast<br />
| r3.mapcalc<br />
| <br />
|-<br />
! Vector<br />
| v.to.rast, v.surf.rst, v.surf.idw<br />
| v.vol.rst, v.vol.idw, v.to.rast3<br />
| v.clean <br />
|-<br />
! Data<br />
| r.in.*<br />
| r3.in.*<br />
| v.in.*<br />
|}<br />
<br />
==How a GRASS project is organized==<br />
<br />
GRASS data is stored in a three level structure, the database, location and mapset. These can be found in a series of nested directories on the user's computer. All three must exist and are set at GRASS startup time.<br />
<br />
===The Database===<br />
<br />
The directory in which all GIS data is to be stored.<br />
<br />
e.g. <tt>~/grassdata/</tt><br />
<br />
===The Location===<br />
<br />
A ''location'' is a GRASS project consisting of an area, projection definition (or unprojected), a grouping of mapsets, all with the same projection settings. A location is a subdirectory of the GRASS ''database''.<br />
<br />
e.g. world_lat_lon, utm_zone_59, or west_coast<br />
<br />
A ''location'' contains one or many ''mapsets''.<br />
<br />
===The Mapset===<br />
<br />
A ''mapset'' contains map(s), it is a subdirectory of a ''location''.<br />
Conceptually, if several mapsets are used in a location, they may be assigned to different users (each has one or several own mapsets to work in and cannot modify thos of other users), and/or it they are used to organize a project (''location'') by subareas or subprojects.<br />
There are no specific organizational limitations.<br />
<br />
There is always a PERMANENT mapset which is readable from all other mapsets within the same location. Read access to maps in other mapsets is managed with the 'g.mapsets' command or by adding the "@" symbol and mapset name (e.g. <tt>map@othermapset</tt>).<br />
<br />
==How the Open Source software development model works==<br />
<br />
GRASS differs from many other GIS software packages used in the professional world in that it is developed and distributed by users for users; mostly on a volunteer basis, in the open, and is given away for free.<br />
<br />
Emphasis is placed on interoperability and unlimited access to data as well as software flexibility and evolution rate (both added features and bug minimization).<br />
<br />
''Free'' can have many meanings, as the links below illustrate, and within a project there is often a spectrum of philosophies and goals amongst developers. But it works - Free Software has revolutionized many sectors of the computing world over the last few years and continues to do so today.<br />
<br />
* [http://www.gnu.org/philosophy/philosophy.html Philosophy of the Free Software Movement]<br />
* [http://www.opensource.org The Open Source Initiative has a good explanation]<br />
* [http://www.fsf.org The Free Software Foundation]<br />
* [http://www.gnu.org/copyleft/gpl.html The GNU General Public License]<br />
<br />
==Raster GIS Analysis==<br />
<br />
===Simple Raster Math===<br />
<br />
Sometimes when analyzing the relationship between two or more raster data sets, a relatively simple mathematical approach is best. One example using the r.mapcalc tool would be to look at changes between two raster data sets. By subtracting the values in these two data sets you can assume that resulting cells with a positive value have a possitive change and those with a negative value have negative change. If the cell values have a zero value then there would be no change.<br />
<br />
GRASS comes bundled with the r.mapcalc tool as well as the d.m GUI interface for the tool accessable using the r.mapcalculator command. This GUI allows the user to easily assign raster sets to the variables used in the formulas and easily create mathematical strings that will result in a new raster data set containing the results.<br />
<br />
[[Category:Development]]<br />
[[Category:Community]]</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=GIS_Concepts&diff=4633GIS Concepts2007-07-30T15:19:12Z<p>Networks: /* Vector Data */</p>
<hr />
<div>== Geodesy and Cartography ==<br />
=== Background material ===<br />
<br />
* [http://oceanservice.noaa.gov/education/kits/geodesy/welcome.html An introduction to Geodesy] from NOAA<br />
* [http://en.wikipedia.org/wiki/Geodesy Wikipedia's Geodesy entry]<br />
* [http://en.wikipedia.org/wiki/GIS Wikipedia's GIS entry]<br />
* [http://earth-info.nima.mil/GandG/publications/ NGA Geodesy and Geophysics publications] <br />
* [http://www.ordnancesurvey.co.uk/oswebsite/gps/information/coordinatesystemsinfo/guidecontents/index.html UK Ordnance Survey primer on coordinate system concepts] ([http://www.ordnancesurvey.co.uk/gps/docs/A_Guide_to_Coordinate_Systems_in_Great_Britain.pdf PDF])<br />
<br />
=== Map projections ===<br />
<br />
* [http://www.progonos.com/furuti/MapProj/CartIndex/cartIndex.html Map projection concepts] by Carlos Furuti<br />
* [http://www.galleryofmapprojections.com Map projection gallery] by Paul Anderson<br />
* [http://www.dmap.co.uk/utmworld.htm UTM Zones]<br />
* [http://www.epsg.org EPSG Codes]<br />
<br />
=== Map datums ===<br />
<br />
* [http://www.colorado.edu/geography/gcraft/notes/datum/datum.html An introduction to geodetic datums] by Peter Dana<br />
* [http://home.online.no/~sigurdhu/WGS84_Eng.html How WGS 84 defines the Earth]<br />
<br />
==How GRASS deals with geodetics==<br />
<br />
As far as GRASS is concerned, an ellipsoid and a spheroid are the same thing, and ellipsoid is the prefered name.<br />
<br />
As far as GRASS is concerned, a datum is made up of an ellipsoid and an origin.<br />
Setting a datum is optional, but highly recommended.<br />
<br />
GRASS uses a modified version of the [http://proj.maptools.org PROJ.4] library.<br />
<br />
=== Modules controling a location's map projection ===<br />
* [http://grass.itc.it/grass62/manuals/html62_user/g.proj.html g.proj] help page (GRASS 6.2)<br />
* [http://grass.itc.it/grass62/manuals/html62_user/g.setproj.html g.setproj] help page (GRASS 6.2)<br />
<br />
=== Modules for reprojecting GIS maps and data ===<br />
<br />
* [http://grass.itc.it/grass62/manuals/html62_user/r.proj.html r.proj] for reprojecting raster maps<br />
* [http://grass.itc.it/grass62/manuals/html62_user/v.proj.html v.proj] for reprojecting vector maps<br />
* [http://grass.itc.it/grass62/manuals/html62_user/m.proj.html m.proj] for reprojecting a list of coordinate pairs<br />
<br />
=== Modules for georectifying images ===<br />
<br />
* [http://grass.itc.it/grass62/manuals/html62_user/r.region.html r.region] for resetting a raster map's bounds information<br />
* gis.m GIS manager GeoReferencing tool (File menu)<br />
* [http://grass.itc.it/grass62/manuals/html62_user/i.points.html i.points] and [http://grass.itc.it/grass62/manuals/html62_user/i.vpoints.html i.vpoints] for setting GCPs<br />
* [http://grass.itc.it/grass62/manuals/html62_user/i.rectify.html i.rectify] for georectifying imagery<br />
* [http://www.gdal.org GDALwarp] (use with gdal_translate, see the i.warp script in the wiki [[GRASS_AddOns#Imagery_add-ons|AddOns]] page)<br />
<br />
==GIS Data types==<br />
<br />
===Raster Data===<br />
<br />
Data which occurs in a regularly spaced grid. e.g. a satellite image or digital terrain map.<BR><br />
Region settings determine the spatial extent and resolution of the grid.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/rasterintro.html Raster Intro]<br />
<br />
===3D Raster Data (Voxel)===<br />
<br />
A stack of 2D raster maps.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/raster3dintro.html Raster 3D Intro]<br />
<br />
===Vector Data===<br />
<br />
Data which occurs as a series of coordinates. e.g. a GPS position or coastline map. May be a point, line, area, etc in either 2D or 3D space. Generally independent of region settings.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/vectorintro.html Vector Intro] [[Vectordata]]<br />
<br />
===Imagery Data===<br />
Pixelated photographic or satellite images, often imported from a <br />
[http://en.wikipedia.org/wiki/GeoTIFF GeoTIFF] or PNG image file.<br />
<br />
As far as the GIS is concerned this is just another raster map, but there are several modules specially tailored for rectification and processing common imagery types. e.g. ortho-photos or multi-channel LANDSAT data.<br />
<br />
;[http://grass.itc.it/grass62/manuals/html62_user/imageryintro.html Imagery Intro]<br />
<br />
===Site Data===<br />
Old versions of GRASS (5 and earlier) treated point data separate to line and polygon data. GRASS 6 classes all vector data features the same. Convert old sites file data into GRASS 6 vector format with the GRASS 6 [http://grass.itc.it/grass62/manuals/html62_user/v.in.sites.html v.in.sites] or <br />
[http://grass.itc.it/grass62/manuals/html62_user/v.in.sites.all.html v.in.sites.all] modules.<br />
<br />
==Conversions between data types==<br />
<br />
The following table is intended to catalog transformations from one type of data to another:<BR><br />
''[table is currently incomplete!]''<br />
<br />
{| border="1"<br />
| From / To<br />
![http://grass.itc.it/grass62/manuals/html62_user/rasterintro.html Raster]<br />
![http://grass.itc.it/grass62/manuals/html62_user/raster3dintro.html 3D Raster] <br />
![http://grass.itc.it/grass62/manuals/html62_user/vectorintro.html Vector]<br />
|-<br />
! Raster<br />
| r.mapcalc<br />
| r.to.rast3<br />
| r.to.vect, v.sample, r.volume<br />
|-<br />
! 3D Raster<br />
| r3.to.rast, r3.cross.rast<br />
| r3.mapcalc<br />
| <br />
|-<br />
! Vector<br />
| v.to.rast, v.surf.rst, v.surf.idw<br />
| v.vol.rst, v.vol.idw, v.to.rast3<br />
| v.clean <br />
|-<br />
! Data<br />
| r.in.*<br />
| r3.in.*<br />
| v.in.*<br />
|}<br />
<br />
==How a GRASS project is organized==<br />
<br />
GRASS data is stored in a three level structure, the database, location and mapset. These can be found in a series of nested directories on the user's computer. All three must exist and are set at GRASS startup time.<br />
<br />
===The Database===<br />
<br />
The directory in which all GIS data is to be stored.<br />
<br />
e.g. <tt>~/grassdata/</tt><br />
<br />
===The Location===<br />
<br />
A ''location'' is a GRASS project consisting of an area, projection definition (or unprojected), a grouping of mapsets, all with the same projection settings. A location is a subdirectory of the GRASS ''database''.<br />
<br />
e.g. world_lat_lon, utm_zone_59, or west_coast<br />
<br />
A ''location'' contains one or many ''mapsets''.<br />
<br />
===The Mapset===<br />
<br />
A ''mapset'' contains map(s), it is a subdirectory of a ''location''.<br />
Conceptually, if several mapsets are used in a location, they may be assigned to different users (each has one or several own mapsets to work in and cannot modify thos of other users), and/or it they are used to organize a project (''location'') by subareas or subprojects.<br />
There are no specific organizational limitations.<br />
<br />
There is always a PERMANENT mapset which is readable from all other mapsets within the same location. Read access to maps in other mapsets is managed with the 'g.mapsets' command or by adding the "@" symbol and mapset name (e.g. <tt>map@othermapset</tt>).<br />
<br />
==How the Open Source software development model works==<br />
<br />
GRASS differs from many other GIS software packages used in the professional world in that it is developed and distributed by users for users; mostly on a volunteer basis, in the open, and is given away for free.<br />
<br />
Emphasis is placed on interoperability and unlimited access to data as well as software flexibility and evolution rate (both added features and bug minimization).<br />
<br />
''Free'' can have many meanings, as the links below illustrate, and within a project there is often a spectrum of philosophies and goals amongst developers. But it works - Free Software has revolutionized many sectors of the computing world over the last few years and continues to do so today.<br />
<br />
* [http://www.gnu.org/philosophy/philosophy.html Philosophy of the Free Software Movement]<br />
* [http://www.opensource.org The Open Source Initiative has a good explanation]<br />
* [http://www.fsf.org The Free Software Foundation]<br />
* [http://www.gnu.org/copyleft/gpl.html The GNU General Public License]<br />
<br />
==Raster GIS Analysis==<br />
<br />
===Simple Raster Math===<br />
<br />
Sometimes when analyzing the relationship between two or more raster data sets, a relatively simple mathematical approach is best. One example using the r.mapcalc tool would be to look at changes between two raster data sets. By subtracting the values in these two data sets you can assume that resulting cells with a positive value have a possitive change and those with a negative value have negative change. If the cell values have a zero value then there would be no change.<br />
<br />
GRASS comes bundled with the r.mapcalc tool as well as the d.m GUI interface for the tool accessable using the r.mapcalculator command. This GUI allows the user to easily assign raster sets to the variables used in the formulas and easily create mathematical strings that will result in a new raster data set containing the results.<br />
<br />
[[Category:Development]]<br />
[[Category:Community]]</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4632Vector Data2007-07-30T15:06:16Z<p>Networks: /* GRASS 6 Vector Architecture */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different concepts and implementations of vector data. <br />
<br />
Hence a discussion of the currently most widely vectordata structures and formats in the geoformatics field is surely not bad, IMO. Naturally the focus is GRASS and FOSS4G centric, maybe almost too formal form a user's point of view, and yet certainly way too informal from a programmers point of view.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
Also reading [http://mapserver.gis.umn.edu/docs/reference/vector_data Vector Data Access] from the Mapserver Documentation does not hurt.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
[[Image:Grass_vector_line.png]]<br />
[[Image:Grass_vector_area.png]]<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
* R. Blazek: [http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/doc/vector/TODO GRASS 6 vector TODO] (May 2006) (see also [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 RT#3877])<br />
* OGR documentation: [http://www.gdal.org/ogr/drv_grass.html GRASS driver]<br />
<br />
=== GRASS ===<br />
<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. Postgres has an almost complete support (with some limitions, and lacking documentation)<br />
<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* OGR documentation: [http://www.gdal.org/ogr/drv_shapefile.html Shapefile Driver]<br />
* http://shapelib.maptools.org/<br />
* http://mapserver.gis.umn.edu/docs/reference/vector_data/shapefiles<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
[http://en.wikipedia.org/wiki/Simple_Features Simple Features] is a widely implemented nontopological standard. The internal data representation of OGR is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* Adam Gawne-Cain: [http://home.gdal.org/projects/opengis/twohalfdsf.html 2.5 D Simple Features Proposal (OGC 99-402r2)]<br />
* http://www.opengeospatial.org/standards<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS receiver vector data ==<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
=== Specs ===<br />
* GPSBabel Documentation: [http://www.gpsbabel.org/htmldoc-1.3.4/Route_And_Track_Modes.html Route and Track Modes]<br />
* http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=File:Grass_vector_line.png&diff=4631File:Grass vector line.png2007-07-30T15:02:14Z<p>Networks: </p>
<hr />
<div></div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=File:Grass_vector_area.png&diff=4630File:Grass vector area.png2007-07-30T15:01:44Z<p>Networks: </p>
<hr />
<div></div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4629Vector Data2007-07-30T14:56:58Z<p>Networks: /* Specs */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different concepts and implementations of vector data. <br />
<br />
Hence a discussion of the currently most widely vectordata structures and formats in the geoformatics field is surely not bad, IMO. Naturally the focus is GRASS and FOSS4G centric, maybe almost too formal form a user's point of view, and yet certainly way too informal from a programmers point of view.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
Also reading [http://mapserver.gis.umn.edu/docs/reference/vector_data Vector Data Access] from the Mapserver Documentation does not hurt.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
* R. Blazek: [http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/doc/vector/TODO GRASS 6 vector TODO] (May 2006) (see also [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 RT#3877])<br />
* OGR documentation: [http://www.gdal.org/ogr/drv_grass.html GRASS driver]<br />
<br />
=== GRASS ===<br />
<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. Postgres has an almost complete support (with some limitions, and lacking documentation)<br />
<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* OGR documentation: [http://www.gdal.org/ogr/drv_shapefile.html Shapefile Driver]<br />
* http://shapelib.maptools.org/<br />
* http://mapserver.gis.umn.edu/docs/reference/vector_data/shapefiles<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
[http://en.wikipedia.org/wiki/Simple_Features Simple Features] is a widely implemented nontopological standard. The internal data representation of OGR is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* Adam Gawne-Cain: [http://home.gdal.org/projects/opengis/twohalfdsf.html 2.5 D Simple Features Proposal (OGC 99-402r2)]<br />
* http://www.opengeospatial.org/standards<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS receiver vector data ==<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
=== Specs ===<br />
* GPSBabel Documentation: [http://www.gpsbabel.org/htmldoc-1.3.4/Route_And_Track_Modes.html Route and Track Modes]<br />
* http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4628Vector Data2007-07-30T14:55:43Z<p>Networks: /* GRASS 6 Vector Architecture */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different concepts and implementations of vector data. <br />
<br />
Hence a discussion of the currently most widely vectordata structures and formats in the geoformatics field is surely not bad, IMO. Naturally the focus is GRASS and FOSS4G centric, maybe almost too formal form a user's point of view, and yet certainly way too informal from a programmers point of view.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
Also reading [http://mapserver.gis.umn.edu/docs/reference/vector_data Vector Data Access] from the Mapserver Documentation does not hurt.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
* R. Blazek: [http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/doc/vector/TODO GRASS 6 vector TODO] (May 2006) (see also [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 RT#3877])<br />
* OGR documentation: [http://www.gdal.org/ogr/drv_grass.html GRASS driver]<br />
<br />
=== GRASS ===<br />
<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. Postgres has an almost complete support (with some limitions, and lacking documentation)<br />
<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
* http://mapserver.gis.umn.edu/docs/reference/vector_data/shapefiles<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
[http://en.wikipedia.org/wiki/Simple_Features Simple Features] is a widely implemented nontopological standard. The internal data representation of OGR is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* Adam Gawne-Cain: [http://home.gdal.org/projects/opengis/twohalfdsf.html 2.5 D Simple Features Proposal (OGC 99-402r2)]<br />
* http://www.opengeospatial.org/standards<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS receiver vector data ==<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
=== Specs ===<br />
* GPSBabel Documentation: [http://www.gpsbabel.org/htmldoc-1.3.4/Route_And_Track_Modes.html Route and Track Modes]<br />
* http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4627Vector Data2007-07-30T14:49:46Z<p>Networks: /* Specs */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different concepts and implementations of vector data. <br />
<br />
Hence a discussion of the currently most widely vectordata structures and formats in the geoformatics field is surely not bad, IMO. Naturally the focus is GRASS and FOSS4G centric, maybe almost too formal form a user's point of view, and yet certainly way too informal from a programmers point of view.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
Also reading [http://mapserver.gis.umn.edu/docs/reference/vector_data Vector Data Access] from the Mapserver Documentation does not hurt.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
* R. Blazek: [http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/doc/vector/TODO GRASS 6 vector TODO] (May 2006) (see also [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 RT#3877])<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. Postgres has an almost complete support (with some limitions, and lacking documentation)<br />
<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
* http://mapserver.gis.umn.edu/docs/reference/vector_data/shapefiles<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
[http://en.wikipedia.org/wiki/Simple_Features Simple Features] is a widely implemented nontopological standard. The internal data representation of OGR is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* Adam Gawne-Cain: [http://home.gdal.org/projects/opengis/twohalfdsf.html 2.5 D Simple Features Proposal (OGC 99-402r2)]<br />
* http://www.opengeospatial.org/standards<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS receiver vector data ==<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
=== Specs ===<br />
* GPSBabel Documentation: [http://www.gpsbabel.org/htmldoc-1.3.4/Route_And_Track_Modes.html Route and Track Modes]<br />
* http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4626Vector Data2007-07-30T14:49:28Z<p>Networks: /* Specs */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different concepts and implementations of vector data. <br />
<br />
Hence a discussion of the currently most widely vectordata structures and formats in the geoformatics field is surely not bad, IMO. Naturally the focus is GRASS and FOSS4G centric, maybe almost too formal form a user's point of view, and yet certainly way too informal from a programmers point of view.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
Also reading [http://mapserver.gis.umn.edu/docs/reference/vector_data Vector Data Access] from the Mapserver Documentation does not hurt.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
* R. Blazek: [http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/doc/vector/TODO GRASS 6 vector TODO] (May 2006) (see also [RT#3877])<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. Postgres has an almost complete support (with some limitions, and lacking documentation)<br />
<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
* http://mapserver.gis.umn.edu/docs/reference/vector_data/shapefiles<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
[http://en.wikipedia.org/wiki/Simple_Features Simple Features] is a widely implemented nontopological standard. The internal data representation of OGR is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* Adam Gawne-Cain: [http://home.gdal.org/projects/opengis/twohalfdsf.html 2.5 D Simple Features Proposal (OGC 99-402r2)]<br />
* http://www.opengeospatial.org/standards<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS receiver vector data ==<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
=== Specs ===<br />
* GPSBabel Documentation: [http://www.gpsbabel.org/htmldoc-1.3.4/Route_And_Track_Modes.html Route and Track Modes]<br />
* http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4625Vector Data2007-07-30T14:47:23Z<p>Networks: /* Vector Data Structures */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different concepts and implementations of vector data. <br />
<br />
Hence a discussion of the currently most widely vectordata structures and formats in the geoformatics field is surely not bad, IMO. Naturally the focus is GRASS and FOSS4G centric, maybe almost too formal form a user's point of view, and yet certainly way too informal from a programmers point of view.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
Also reading [http://mapserver.gis.umn.edu/docs/reference/vector_data Vector Data Access] from the Mapserver Documentation does not hurt.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
* R. Blazek: [http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/doc/vector/TODO GRASS 6 vector TODO] (May 2006)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. Postgres has an almost complete support (with some limitions, and lacking documentation)<br />
<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
* http://mapserver.gis.umn.edu/docs/reference/vector_data/shapefiles<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
[http://en.wikipedia.org/wiki/Simple_Features Simple Features] is a widely implemented nontopological standard. The internal data representation of OGR is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* Adam Gawne-Cain: [http://home.gdal.org/projects/opengis/twohalfdsf.html 2.5 D Simple Features Proposal (OGC 99-402r2)]<br />
* http://www.opengeospatial.org/standards<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS receiver vector data ==<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
=== Specs ===<br />
* GPSBabel Documentation: [http://www.gpsbabel.org/htmldoc-1.3.4/Route_And_Track_Modes.html Route and Track Modes]<br />
* http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4622Vector Data2007-07-30T10:30:49Z<p>Networks: /* GPS receiver vector data */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is from a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
Also reading [http://mapserver.gis.umn.edu/docs/reference/vector_data Vector Data Access] from the Mapserver Documentation does not hurt.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
* R. Blazek: [http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/doc/vector/TODO GRASS 6 vector TODO] (May 2006)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. Postgres has an almost complete support (with some limitions, and lacking documentation)<br />
<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
* http://mapserver.gis.umn.edu/docs/reference/vector_data/shapefiles<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
[http://en.wikipedia.org/wiki/Simple_Features Simple Features] is a widely implemented nontopological standard. The internal data representation of OGR is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* Adam Gawne-Cain: [http://home.gdal.org/projects/opengis/twohalfdsf.html 2.5 D Simple Features Proposal (OGC 99-402r2)]<br />
* http://www.opengeospatial.org/standards<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS receiver vector data ==<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
=== Specs ===<br />
* GPSBabel Documentation: [http://www.gpsbabel.org/htmldoc-1.3.4/Route_And_Track_Modes.html Route and Track Modes]<br />
* http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4621Vector Data2007-07-30T10:30:21Z<p>Networks: /* GPS receiver vector data */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is from a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
Also reading [http://mapserver.gis.umn.edu/docs/reference/vector_data Vector Data Access] from the Mapserver Documentation does not hurt.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
* R. Blazek: [http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/doc/vector/TODO GRASS 6 vector TODO] (May 2006)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. Postgres has an almost complete support (with some limitions, and lacking documentation)<br />
<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
* http://mapserver.gis.umn.edu/docs/reference/vector_data/shapefiles<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
[http://en.wikipedia.org/wiki/Simple_Features Simple Features] is a widely implemented nontopological standard. The internal data representation of OGR is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* Adam Gawne-Cain: [http://home.gdal.org/projects/opengis/twohalfdsf.html 2.5 D Simple Features Proposal (OGC 99-402r2)]<br />
* http://www.opengeospatial.org/standards<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS receiver vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
=== Specs ===<br />
* GPSBabel Documentation: [http://www.gpsbabel.org/htmldoc-1.3.4/Route_And_Track_Modes.html Route and Track Modes]<br />
* http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4620Vector Data2007-07-30T10:25:33Z<p>Networks: /* GPS receiver vector data */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is from a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
Also reading [http://mapserver.gis.umn.edu/docs/reference/vector_data Vector Data Access] from the Mapserver Documentation does not hurt.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
* R. Blazek: [http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/doc/vector/TODO GRASS 6 vector TODO] (May 2006)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. Postgres has an almost complete support (with some limitions, and lacking documentation)<br />
<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
* http://mapserver.gis.umn.edu/docs/reference/vector_data/shapefiles<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
[http://en.wikipedia.org/wiki/Simple_Features Simple Features] is a widely implemented nontopological standard. The internal data representation of OGR is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* Adam Gawne-Cain: [http://home.gdal.org/projects/opengis/twohalfdsf.html 2.5 D Simple Features Proposal (OGC 99-402r2)]<br />
* http://www.opengeospatial.org/standards<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS receiver vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4619Vector Data2007-07-30T09:54:46Z<p>Networks: /* OpenGIS Simple Features */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is from a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
Also reading [http://mapserver.gis.umn.edu/docs/reference/vector_data Vector Data Access] from the Mapserver Documentation does not hurt.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
* R. Blazek: [http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/doc/vector/TODO GRASS 6 vector TODO] (May 2006)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. Postgres has an almost complete support (with some limitions, and lacking documentation)<br />
<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
* http://mapserver.gis.umn.edu/docs/reference/vector_data/shapefiles<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
[http://en.wikipedia.org/wiki/Simple_Features Simple Features] is a widely implemented nontopological standard. The internal data representation of OGR is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* Adam Gawne-Cain: [http://home.gdal.org/projects/opengis/twohalfdsf.html 2.5 D Simple Features Proposal (OGC 99-402r2)]<br />
* http://www.opengeospatial.org/standards<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS receiver vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4618Vector Data2007-07-30T09:51:22Z<p>Networks: /* OpenGIS Simple Features */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is from a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
Also reading [http://mapserver.gis.umn.edu/docs/reference/vector_data Vector Data Access] from the Mapserver Documentation does not hurt.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
* R. Blazek: [http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/doc/vector/TODO GRASS 6 vector TODO] (May 2006)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. Postgres has an almost complete support (with some limitions, and lacking documentation)<br />
<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
* http://mapserver.gis.umn.edu/docs/reference/vector_data/shapefiles<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
[http://en.wikipedia.org/wiki/Simple_Features Simple Features] is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS receiver vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4617Vector Data2007-07-30T09:49:54Z<p>Networks: /* ESRI Shapefile */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is from a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
Also reading [http://mapserver.gis.umn.edu/docs/reference/vector_data Vector Data Access] from the Mapserver Documentation does not hurt.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
* R. Blazek: [http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/doc/vector/TODO GRASS 6 vector TODO] (May 2006)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. Postgres has an almost complete support (with some limitions, and lacking documentation)<br />
<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
* http://mapserver.gis.umn.edu/docs/reference/vector_data/shapefiles<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS receiver vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4616Vector Data2007-07-30T09:47:13Z<p>Networks: /* Data Structure */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is from a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
Also reading [http://mapserver.gis.umn.edu/docs/reference/vector_data Vector Data Access] from the Mapserver Documentation does not hurt.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
* R. Blazek: [http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/doc/vector/TODO GRASS 6 vector TODO] (May 2006)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
A vector data storage format for storing the location, shape, and attributes of geographic features. A shapefile is stored in a set of related files and contains one feature class.<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. Postgres has an almost complete support (with some limitions, and lacking documentation)<br />
<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
* http://mapserver.gis.umn.edu/docs/reference/vector_data/shapefiles<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS receiver vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4615Vector Data2007-07-30T09:45:00Z<p>Networks: /* Vector Data Structures */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is from a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
Also reading [http://mapserver.gis.umn.edu/docs/reference/vector_data Vector Data Access] from the Mapserver Documentation does not hurt.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
* R. Blazek: [http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/doc/vector/TODO GRASS 6 vector TODO] (May 2006)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
A vector data storage format for storing the location, shape, and attributes of geographic features. A shapefile is stored in a set of related files and contains one feature class.<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. Postgres has an almost complete support (with some limitions, and lacking documentation)<br />
<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
* http://mapserver.gis.umn.edu/docs/reference/vector_data/shapefiles<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS receiver vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4614Vector Data2007-07-30T08:58:06Z<p>Networks: /* Specs */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is from a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
* R. Blazek: [http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/doc/vector/TODO GRASS 6 vector TODO] (May 2006)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
A vector data storage format for storing the location, shape, and attributes of geographic features. A shapefile is stored in a set of related files and contains one feature class.<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. <br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
* http://mapserver.gis.umn.edu/docs/reference/vector_data/shapefiles<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS receiver vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4613Vector Data2007-07-30T08:30:31Z<p>Networks: /* ESRI Shapefile */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is from a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
* R. Blazek: [http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/doc/vector/TODO GRASS 6 vector TODO] (May 2006)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
A vector data storage format for storing the location, shape, and attributes of geographic features. A shapefile is stored in a set of related files and contains one feature class.<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. <br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS receiver vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4612Vector Data2007-07-30T08:22:51Z<p>Networks: /* Vector Data Structures */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is from a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
* R. Blazek: [http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/doc/vector/TODO GRASS 6 vector TODO] (May 2006)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. <br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS receiver vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4611Vector Data2007-07-30T08:19:48Z<p>Networks: /* Specs */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
* R. Blazek: [http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/doc/vector/TODO GRASS 6 vector TODO] (May 2006)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. <br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS receiver vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4610Vector Data2007-07-30T08:09:05Z<p>Networks: /* GPS vector data */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. <br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS receiver vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4609Vector Data2007-07-30T08:03:26Z<p>Networks: /* Data Structure */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. <br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* '''<some_vector>.sbn''' optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive '''<some_vector>.zip''' or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4608Vector Data2007-07-30T08:01:55Z<p>Networks: /* Data Structure */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. <br />
<br />
=== Data Structure ===<br />
<br />
a shapefile '''<some_vector>''' is actually a set of files:<br />
* '''<some_vector>.shp''' vector features<br />
* '''<some_vector>.shx''' feature index data pointing to the vector features<br />
* '''<some_vector>.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''<some_vector>.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
This set of files is often packed into a zip-compressed archive <some_vector>.zip or placed into a unique directory '''../<some_vector>/'''<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4607Vector Data2007-07-30T07:57:33Z<p>Networks: /* Data Structure */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. <br />
<br />
=== Data Structure ===<br />
<br />
a shapefile is actually a dataset of files:<br />
* '''.shp''' vector features<br />
* '''.shx''' feature index data pointing to the vector features<br />
* '''.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4606Vector Data2007-07-30T07:55:54Z<p>Networks: /* ESRI Shapefile */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' Unlike [http://shapelib.maptools.org/shp_api.html Shapelib] OGR does [http://www.gdal.org/ogr/drv_shapefile.html not support] MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR. Hence GRASS also does not support them. <br />
<br />
=== Data Structure ===<br />
<br />
a shapefile is actually a dataset of files:<br />
* '''.shp''' vector features<br />
* '''.shx''' feature index<br />
* '''.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4605Vector Data2007-07-30T07:48:10Z<p>Networks: /* Specs */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR.<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile is actually a dataset of files:<br />
* '''.shp''' vector features<br />
* '''.shx''' feature index<br />
* '''.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (July 1998, Whitepaper) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (May 2001, Whitepaper) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4604Vector Data2007-07-30T07:44:46Z<p>Networks: /* ESRI Shapefile */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
'''Note:''' MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM are [http://www.gdal.org/ogr/drv_shapefile.html not supported] by OGR.<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile is actually a dataset of files:<br />
* '''.shp''' vector features<br />
* '''.shx''' feature index<br />
* '''.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (Whitepaper, July 1998) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (Whitepaper, May 2001) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4603Vector Data2007-07-30T07:32:53Z<p>Networks: /* ESRI Shapefile */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. [http://en.wikipedia.org/wiki/Triangulated_irregular_network TIN]-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile is actually a dataset of files:<br />
* '''.shp''' vector features<br />
* '''.shx''' feature index<br />
* '''.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (Whitepaper, July 1998) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (Whitepaper, May 2001) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4602Vector Data2007-07-30T07:30:30Z<p>Networks: /* ESRI Shapefile */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D capable version of PointM<br />
* PolyLineZ: 3D capable version of PolyLineM<br />
* PolygonZ: 3D capable version of PolygonM<br />
* MultiPointZ: 3D capable version of MultiPointM<br />
<br />
* MultiPatch: consists of a number of surface patches, each patch describes a surface. TIN-like.<br />
<br />
'''Note:''' the "measure" or the z-coord may always be ommitted, by specifing the null element. e.g. a PolyLineZ(x,y,0,0) is the same as a PolyLineM(x,y,0) which is the same as PolyLine(x,y)<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile is actually a dataset of files:<br />
* '''.shp''' vector features<br />
* '''.shx''' feature index<br />
* '''.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (Whitepaper, July 1998) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (Whitepaper, May 2001) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4601Vector Data2007-07-30T06:55:24Z<p>Networks: /* Vector Data Structures */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual, the Wiki topics [[Vector FAQ GRASS6]] and [[Help with 3D#Vector_3D_point_data]].<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D PointM<!-- or is it just 2.5D ?? ..mmh should consult the literature --> <br />
* PolyLineZ: 3D PolyLineM<br />
* PolygonZ: 3D PolygonM<br />
* MultiPointZ: 3D MultiPointM<br />
* MultiPatch: A MultiPatch consists of a number of surface patches. Each surface patch describes a surface.<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile is actually a dataset of files:<br />
* '''.shp''' vector features<br />
* '''.shx''' feature index<br />
* '''.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (Whitepaper, July 1998) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (Whitepaper, May 2001) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4600Vector Data2007-07-30T06:52:01Z<p>Networks: /* Linear Reference System (LRS) */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* GRASS GIS Manual: [http://grass.itc.it/grass63/manuals/html63_user/lrs.html Linear Reference System Tutorial]<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* [[Vector FAQ GRASS6]] and [[Help_with_3D#Vector_3D_point_data]]<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D PointM<!-- or is it just 2.5D ?? ..mmh should consult the literature --> <br />
* PolyLineZ: 3D PolyLineM<br />
* PolygonZ: 3D PolygonM<br />
* MultiPointZ: 3D MultiPointM<br />
* MultiPatch: A MultiPatch consists of a number of surface patches. Each surface patch describes a surface.<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile is actually a dataset of files:<br />
* '''.shp''' vector features<br />
* '''.shx''' feature index<br />
* '''.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (Whitepaper, July 1998) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (Whitepaper, May 2001) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4599Vector Data2007-07-30T06:47:49Z<p>Networks: /* Specs */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://grass.itc.it/grass63/manuals/html63_user/lrs.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background ([http://grass.itc.it/grass63/manuals/grass63vectorlib_2007_07_28_refman.pdf PDF version])<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* [[Vector FAQ GRASS6]] and [[Help_with_3D#Vector_3D_point_data]]<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D PointM<!-- or is it just 2.5D ?? ..mmh should consult the literature --> <br />
* PolyLineZ: 3D PolyLineM<br />
* PolygonZ: 3D PolygonM<br />
* MultiPointZ: 3D MultiPointM<br />
* MultiPatch: A MultiPatch consists of a number of surface patches. Each surface patch describes a surface.<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile is actually a dataset of files:<br />
* '''.shp''' vector features<br />
* '''.shx''' feature index<br />
* '''.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (Whitepaper, July 1998) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (Whitepaper, May 2001) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4598Vector Data2007-07-30T06:40:48Z<p>Networks: /* GRASS */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://grass.itc.it/grass63/manuals/html63_user/lrs.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* [[Vector FAQ GRASS6]] and [[Help_with_3D#Vector_3D_point_data]]<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D PointM<!-- or is it just 2.5D ?? ..mmh should consult the literature --> <br />
* PolyLineZ: 3D PolyLineM<br />
* PolygonZ: 3D PolygonM<br />
* MultiPointZ: 3D MultiPointM<br />
* MultiPatch: A MultiPatch consists of a number of surface patches. Each surface patch describes a surface.<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile is actually a dataset of files:<br />
* '''.shp''' vector features<br />
* '''.shx''' feature index<br />
* '''.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (Whitepaper, July 1998) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (Whitepaper, May 2001) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4597Vector Data2007-07-30T06:40:22Z<p>Networks: /* Specs */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://grass.itc.it/grass63/manuals/html63_user/lrs.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Sept 2002, Conference-Paper)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* [[Vector FAQ GRASS6]] and [[Help_with_3D#Vector_3D_point_data]]<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Conference Paper, Feb. 2007) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D PointM<!-- or is it just 2.5D ?? ..mmh should consult the literature --> <br />
* PolyLineZ: 3D PolyLineM<br />
* PolygonZ: 3D PolygonM<br />
* MultiPointZ: 3D MultiPointM<br />
* MultiPatch: A MultiPatch consists of a number of surface patches. Each surface patch describes a surface.<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile is actually a dataset of files:<br />
* '''.shp''' vector features<br />
* '''.shx''' feature index<br />
* '''.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (Whitepaper, July 1998) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (Whitepaper, May 2001) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4596Vector Data2007-07-30T06:36:58Z<p>Networks: /* Vector Data Structures */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment, link) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://grass.itc.it/grass63/manuals/html63_user/lrs.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Conference-Paper, Sept 2002)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* [[Vector FAQ GRASS6]] and [[Help_with_3D#Vector_3D_point_data]]<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Conference Paper, Feb. 2007) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D PointM<!-- or is it just 2.5D ?? ..mmh should consult the literature --> <br />
* PolyLineZ: 3D PolyLineM<br />
* PolygonZ: 3D PolygonM<br />
* MultiPointZ: 3D MultiPointM<br />
* MultiPatch: A MultiPatch consists of a number of surface patches. Each surface patch describes a surface.<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile is actually a dataset of files:<br />
* '''.shp''' vector features<br />
* '''.shx''' feature index<br />
* '''.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (Whitepaper, July 1998) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (Whitepaper, May 2001) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4595Vector Data2007-07-30T06:33:18Z<p>Networks: /* Vector Data Structures */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
[http://en.wikipedia.org/wiki/Caveat_emptor Caveat emptor!] Different termionlogy (eg. vertex, node, point or edge, line, line segment) due to different vocabulary in the underlying theories (e.g. linear algebra, graph theory, network theory) of vector data can already lead to great confusion.<br />
<br />
The confusion is greatly enhanced by very different implementations of vector data. The following is a programmer's perspective a very informal, yet from a user point of view a rather formal discussion on the most widely-used vectordata structures and formats encountered in FOSS geoformatics.<br />
<br />
The reader is assumed to be famililiar with the <br />
chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in the GRASS GIS Reference Manual.<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://grass.itc.it/grass63/manuals/html63_user/lrs.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Conference-Paper, Sept 2002)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* [[Vector FAQ GRASS6]] and [[Help_with_3D#Vector_3D_point_data]]<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Conference Paper, Feb. 2007) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D PointM<!-- or is it just 2.5D ?? ..mmh should consult the literature --> <br />
* PolyLineZ: 3D PolyLineM<br />
* PolygonZ: 3D PolygonM<br />
* MultiPointZ: 3D MultiPointM<br />
* MultiPatch: A MultiPatch consists of a number of surface patches. Each surface patch describes a surface.<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile is actually a dataset of files:<br />
* '''.shp''' vector features<br />
* '''.shx''' feature index<br />
* '''.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (Whitepaper, July 1998) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (Whitepaper, May 2001) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4594Vector Data2007-07-30T06:09:41Z<p>Networks: /* GRASS 6 Vector Architecture */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
reading recommendation: chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in GRASS GIS Reference Manual<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes/vertices in between). [http://grass.itc.it/grass63/manuals/html63_user/v.build.polylines.html v.build.polylines] creates these.<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://grass.itc.it/grass63/manuals/html63_user/lrs.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Conference-Paper, Sept 2002)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* [[Vector FAQ GRASS6]] and [[Help_with_3D#Vector_3D_point_data]]<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Conference Paper, Feb. 2007) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D PointM<!-- or is it just 2.5D ?? ..mmh should consult the literature --> <br />
* PolyLineZ: 3D PolyLineM<br />
* PolygonZ: 3D PolygonM<br />
* MultiPointZ: 3D MultiPointM<br />
* MultiPatch: A MultiPatch consists of a number of surface patches. Each surface patch describes a surface.<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile is actually a dataset of files:<br />
* '''.shp''' vector features<br />
* '''.shx''' feature index<br />
* '''.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (Whitepaper, July 1998) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (Whitepaper, May 2001) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4593Vector Data2007-07-29T20:55:19Z<p>Networks: /* SVG */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
reading recommendation: chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in GRASS GIS Reference Manual<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes(vertices) in between)<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://grass.itc.it/grass63/manuals/html63_user/lrs.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Conference-Paper, Sept 2002)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* [[Vector FAQ GRASS6]] and [[Help_with_3D#Vector_3D_point_data]]<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Conference Paper, Feb. 2007) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D PointM<!-- or is it just 2.5D ?? ..mmh should consult the literature --> <br />
* PolyLineZ: 3D PolyLineM<br />
* PolygonZ: 3D PolygonM<br />
* MultiPointZ: 3D MultiPointM<br />
* MultiPatch: A MultiPatch consists of a number of surface patches. Each surface patch describes a surface.<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile is actually a dataset of files:<br />
* '''.shp''' vector features<br />
* '''.shx''' feature index<br />
* '''.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (Whitepaper, July 1998) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (Whitepaper, May 2001) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological, non-spatial W3C vector format standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4592Vector Data2007-07-29T20:41:46Z<p>Networks: /* GRASS */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
reading recommendation: chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in GRASS GIS Reference Manual<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes(vertices) in between)<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://grass.itc.it/grass63/manuals/html63_user/lrs.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Conference-Paper, Sept 2002)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* [[Vector FAQ GRASS6]] and [[Help_with_3D#Vector_3D_point_data]]<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Conference Paper, Feb. 2007) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D PointM<!-- or is it just 2.5D ?? ..mmh should consult the literature --> <br />
* PolyLineZ: 3D PolyLineM<br />
* PolygonZ: 3D PolygonM<br />
* MultiPointZ: 3D MultiPointM<br />
* MultiPatch: A MultiPatch consists of a number of surface patches. Each surface patch describes a surface.<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile is actually a dataset of files:<br />
* '''.shp''' vector features<br />
* '''.shx''' feature index<br />
* '''.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (Whitepaper, July 1998) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (Whitepaper, May 2001) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological W3C standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]<br />
<br />
== GPS vector data ==<br />
<br />
Waypoints, routes, tracks and laps are examples of data used in GPS receivers.<br />
<br />
* '''waypoint''' (WP): point given by its geographic coordinates (usually, user-defined)<br />
* '''route''' (RT) a sequence of waypoints (usually, user-defined)<br />
* '''track point''' (TP) a point given by its geographic coordinates with a time-stamp<br />
* '''track''' (TR) (Lowrance calls it: '''Trail''') is a sequence of '''track points''' recorded by the GPS receiver during a certain time-interval<br />
<br />
futher some garmin devices (forerunner?) feature..<br />
<br />
* '''lap''' has a time-stamp for its start, a duration, the total distance, the calories spent, the start and stop positions, and an associated track<br />
* '''run''' a sequence of laps is called a run, and runs are represented in GPSMan by groups that are automatically created when getting laps from the receiver; support for laps in GPSMan exists only for Garmin receivers and must be explicitly selected from the options (receiver parameters) window; <br />
<br />
Route stages are the parts of a route between each two consecutive waypoints. Route stages are called edges in Graph Theory, legs in aviation, and links by Garmin<br />
<br />
http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_15.html</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Projection&diff=4591Projection2007-07-29T20:24:12Z<p>Networks: /* Headline text */</p>
<hr />
<div>= Projections and Datum Transformations =<br />
<br />
PRJ files (in the usual WKT format) as used by recent versions of ESRI ArcView <br />
http://esri-germany.de/downloads/software/Koordinatensysteme.zip<br />
<br />
http://support.esri-germany.de/files/support/KoordinatensystemeInDeutschland.pdf<br />
http://support.esri-germany.de/files/support/KoordinatensystemeNachbarnDeutschlands.pdf<br />
http://support.esri-germany.de/files/support/KoordinatensystemeWeltweit.pdf<br />
<br />
http://www.epsg.org/Geodetic.html<br />
<br />
<br />
http://www.alectoria.at/content/view/17/1/<br />
<br />
<br />
== Google Map Projection ==<br />
http://www.sharpgis.net/2007/07/27/TheMicrosoftLiveMapsAndGoogleMapsProjection.aspx<br />
http://cfis.savagexi.com/articles/2006/05/03/google-maps-deconstructed</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4590Vector Data2007-07-29T20:08:48Z<p>Networks: /* Linear Reference System (LRS) */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
reading recommendation: chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in GRASS GIS Reference Manual<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes(vertices) in between)<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
* R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
* R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
* PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://grass.itc.it/grass63/manuals/html63_user/lrs.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Conference-Paper, Sept 2002)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* [[Vector FAQ GRASS6]] and [[Help_with_3D#Vector_3D_point_data]]<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Conference Paper, Feb. 2007) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D PointM<!-- or is it just 2.5D ?? ..mmh should consult the literature --> <br />
* PolyLineZ: 3D PolyLineM<br />
* PolygonZ: 3D PolygonM<br />
* MultiPointZ: 3D MultiPointM<br />
* MultiPatch: A MultiPatch consists of a number of surface patches. Each surface patch describes a surface.<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile is actually a dataset of files:<br />
* '''.shp''' vector features<br />
* '''.shx''' feature index<br />
* '''.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (Whitepaper, July 1998) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (Whitepaper, May 2001) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological W3C standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4589Vector Data2007-07-29T20:08:24Z<p>Networks: /* Linear Reference System (LRS) */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
reading recommendation: chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in GRASS GIS Reference Manual<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes(vertices) in between)<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
PostGIS Reference, Chapter 6 [http://postgis.refractions.net/docs/ch06.html#id2646260 PostGIS Extensions: 6.2.7. Linear Referencing]<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://grass.itc.it/grass63/manuals/html63_user/lrs.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Conference-Paper, Sept 2002)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* [[Vector FAQ GRASS6]] and [[Help_with_3D#Vector_3D_point_data]]<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Conference Paper, Feb. 2007) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D PointM<!-- or is it just 2.5D ?? ..mmh should consult the literature --> <br />
* PolyLineZ: 3D PolyLineM<br />
* PolygonZ: 3D PolygonM<br />
* MultiPointZ: 3D MultiPointM<br />
* MultiPatch: A MultiPatch consists of a number of surface patches. Each surface patch describes a surface.<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile is actually a dataset of files:<br />
* '''.shp''' vector features<br />
* '''.shx''' feature index<br />
* '''.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (Whitepaper, July 1998) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (Whitepaper, May 2001) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological W3C standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]</div>Networkshttps://grasswiki.osgeo.org/w/index.php?title=Vector_Data&diff=4588Vector Data2007-07-29T19:58:38Z<p>Networks: /* Data Structure */</p>
<hr />
<div>= Vector Data Structures = <br />
<br />
reading recommendation: chapter [http://grass.itc.it/grass63/manuals/html63_user/vectorintro.html Vector data processing in GRASS GIS] in GRASS GIS Reference Manual<br />
<br />
== GRASS 6 Vector Architecture ==<br />
<br />
The GRASS vector data model includes the description of topology, where besides the coordinates describing the location of the primitives (points, lines, boundaries and centroids), their spatial relations are also stored. In general, topological GIS require a data structure where the common boundary between two adjacent areas is stored as a single line, simplifying the map maintenance.<br />
<br />
The following vector objects are defined:<br />
<br />
* point<br />
* line: directed sequence of connected vertices with 2 endpoints called nodes<br />
<br />
* boundary: the border line to describe an area<br />
* centroid: a point within a closed boundary (missing centroids can be created with '''v.centroids''')<br />
* area: the topological composition of centroid and boundary<br />
<br />
* face: a 3D area;<br />
<br />
Further following vector objects are defined, but not yet fully implemented/used:<br />
* kernel: a 3D centroid in a volume (exists, but currently mostly unused)<br />
* volume: a 3D corpus, the topological composition of faces and kernel (not yet implemented)<br />
<br />
'''Note:''' all lines and boundaries can be polylines (with nodes(vertices) in between)<br />
<br />
=== Data Structure === <br />
<br />
a vector map(layer?) '''<some_vector>''' is stored in the directory '''$MAPSET/vector/<some_vector>'''.<br />
This directory normally contains the files listed below.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#head_file_format head]: ASCII file with header information; this is more or less the stuff that '''v.info''' displays.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_attributes dbln]: ASCII file that link(s) to attribute table(s)<br />
<br />
* /hist: ASCII file with vector map change history. '''v.info -h''' can be used to dispay this file.<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#coor_file_format_specification coor]: binary file for storing the coordinates<br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#topo_file_format topo]: binary file for topology <br />
<br />
* /[http://mpa.itc.it/markus/grass63progman/Vector_Library.html#vlib_cidx cidx]: binary category index<br />
<br />
<br />
'''Note:''' The creation of certain files can be disabled. The '''-t''' flag suported by v.in.ogr and v.in.ascii disables the creation of an attribute table. The '''-b''' flag supported by r.to.vect and v.in.ascii disables the creation of a topology file. This is [http://www.intevation.de/rt/webrt?display=History&serial_num=3877 needed] and useful e.g. for very large datasets (> 3 million points). The user is expected to understand what s/he is doing.<br />
<br />
<br />
=== Linear Reference System (LRS) ===<br />
<br />
/*TODO*/<br />
<br />
R. Blazek: [http://www.j-geoinfo.net/Content/fulmar05/IJG_095-100.pdf Introducing the Linear Reference System in GRASS] (March 2005, Int'l Journal of Geoinformatics, Vol. 1(3), pp. 95-100)<br />
R. Blazek: [http://gisws.media.osaka-cu.ac.jp/grass04/viewpaper.php?id=50 Introducing the Linear Reference System in GRASS] (Sept 2004, Conference Paper)<br />
<br />
<!--<br />
http://en.wikipedia.org/wiki/Linear_Reference_System<br />
http://grass.itc.it/grass63/manuals/html63_user/lrs.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/lrs.html<br />
http://pgrouting.postlbs.org/<br />
<br />
http://freegis.org/cgi-bin/viewcvs.cgi/grass6/vector/v.lrs/lib/<br />
http://postgis.refractions.net/pipermail/postgis-users/2006-July/012537.html<br />
http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/vector/v.lrs/MAIL<br />
<br />
Linear referencing is a natural and convenient means to associate attributes or events to locations or portions of a linear feature. It has been widely used in transportation applications (such as for highways, railroads, and transit routes) and utilities applications (such as for gas and oil pipelines). The major advantage of linear referencing is its capability of locating attributes and events along a linear feature with only one parameter (usually known as measure) instead of two (such as latitude/longitude or x/y in Cartesian space). Sections of a linear feature can be referenced and created dynamically by indicating the start and end locations along the feature without explicitly storing them. http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96630/sdo_lrs_concepts.htm --><br />
<br />
=== Specs ===<br />
* http://mpa.itc.it/markus/grass63progman/Vector_Library.html#background<br />
* R. Blazek, M. Neteler, R. Micarelli: [http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Blazek_Radim.pdf The new GRASS 5.1 vector architecture] (Conference-Paper, Sept 2002)<br />
<br />
=== GRASS ===<br />
* http://www.intevation.de/rt/webrt?display=History&serial_num=3877<br />
* http://www.gdal.org/ogr/drv_grass.html<br />
* [[Vector FAQ GRASS6]] and [[Help_with_3D#Vector_3D_point_data]]<br />
* http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html<br />
* J. Čepický, M. Landa: [http://gislab.dirap.unipa.it/grass_meeting/articoli/grass-digit.pdf GRASS GIS Digitization Tools] (Conference Paper, Feb. 2007) focuses on v.digit, v.edit and QGIS/GRASS<br />
<br />
== ESRI Shapefile ==<br />
<br />
A [http://en.wikipedia.org/wiki/Shapefile shapefile] stores nontopological geometry and attribute information for the spatial features in a data set. The geometry for a feature is stored as a shape comprising a set of<br />
vector coordinates.<br />
<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* MultiPoint: a set of points<br />
<br />
* PolyLine: A PolyLine is an ordered set of vertices that consists of one or more parts. A part is a connected sequence of 2 or more points. Parts may or may not be connected to one another. Parts may or may not intersect one another.<br />
<br />
* Polygon: A polygon consists of 1 or more rings. A ring is a connected sequence of 4 or more points that form a closed, non-self-intersecting loop.<br />
<br />
* PointM: Point plus support for a Measure (cf. [http://lists.maptools.org/pipermail/gdal-dev/2002-December/000047.html Measure in shape file])<br />
* PolyLineM: Point plus support for a Measure<br />
* PolygonM: Point plus support for a Measure<br />
* MultiPointM: MultiPoint plus support for a Measure<br />
<br />
* PointZ: 3D PointM<!-- or is it just 2.5D ?? ..mmh should consult the literature --> <br />
* PolyLineZ: 3D PolyLineM<br />
* PolygonZ: 3D PolygonM<br />
* MultiPointZ: 3D MultiPointM<br />
* MultiPatch: A MultiPatch consists of a number of surface patches. Each surface patch describes a surface.<br />
<br />
=== Data Structure ===<br />
<br />
a shapefile is actually a dataset of files:<br />
* '''.shp''' vector features<br />
* '''.shx''' feature index<br />
* '''.dbf''' attributes in [http://www.clicketyclick.dk/databases/xbase/format/index.html dBase DB] format<br />
* '''.prj''' ASCII file with projection info in [http://en.wikipedia.org/wiki/Well-known_text WKT] format<br />
<br />
* .sbn optional spatial index file<br />
<br />
=== Specs ===<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf Shapefile Technical Description] (Whitepaper, July 1998) ([http://shapelib.maptools.org/dl/shapefile.pdf mirrored copy])<br />
* ESRI: [http://www.esri.com/library/whitepapers/pdfs/lrds_arcgis.pdf Linear Referencing and Dynamic Segmentation in ArcGIS 8.1] (Whitepaper, May 2001) (has a section called "Routes and Measures", that explains measures in shapefiles)<br />
<br />
* http://www.gdal.org/ogr/drv_shapefile.html<br />
* http://shapelib.maptools.org/<br />
<br />
== OpenGIS Simple Features ==<br />
<br />
is a widely implemented nontopological standard. The internal data representation of [OGR] is closely modeled after it, [http://postgis.refractions.net/ PostGIS] is a PostgreSQL implemenation and the [http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html Spatial Extentions] of MySQL implement it too, etc..<br />
<br />
The following vector objects are defined:<br />
<br />
* Point<br />
* LineString<br />
* Polygon<br />
* Multipoint<br />
* Multipolygon<br />
* GeomCollection<br />
<br />
=== Specs ===<br />
* OpenGIS: [http://www.opengis.org/docs/99-049.pdf Simple Features Specifications For SQL]<br />
* http://www.opengeospatial.org/standards<br />
* http://en.wikipedia.org/wiki/Simple_Features<br />
<br />
=== GRASS ===<br />
* [http://grass.itc.it/gdp/html_grass63/v.external.html v.external]<br />
* http://grass.itc.it/gdp/html_grass63/v.in.ogr.html<br />
* http://grass.itc.it/gdp/html_grass63/v.out.ogr.html<br />
<br />
== SVG ==<br />
<br />
is a non-topological W3C standard. The following vector objects are defined:<br />
<br />
* [http://www.w3.org/TR/SVG/paths.html path]: represents the outline of a shape<br />
* [http://www.w3.org/TR/SVG/shapes.html#LineElement line]: a (directed?) line segment that starts at one point and ends at another.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolylineElement polyline]: a set of connected straight line segments. typically, it defines open shapes.<br />
* [http://www.w3.org/TR/SVG/shapes.html#PolygonElement polygon]: a closed shape consisting of a set of connected straight line segments.<br />
* rect: defines a rectangle shape<br />
* circle<br />
* ellipse<br />
<br />
=== Specs ===<br />
[http://www.w3.org/TR/SVG/ Scalable Vector Graphics (SVG) 1.1 Specification]<br />
<br />
=== GRASS ===<br />
* http://grass.itc.it/grass63/manuals/html63_user/v.out.svg.html and http://svg.cc/grass/<br />
* [[GRASS vector export to Inkscape]]</div>Networks