pygrasslib.dox 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. /*! \page pygrasslib PyGRASS Library
  2. by GRASS Development Team (http://grass.osgeo.org)
  3. \section pygrassIntro Introduction
  4. PyGRASS improves the integration between GRASS GIS and Python (see
  5. also \ref pythonlib), making the use of Python under GRASS more
  6. consistent with the language itself. Furthermore, it simplifies
  7. GRASS scripting and programming and more natural for the user.
  8. \section pygrassPackages PyGRASS packages
  9. The following PyGRASS packages are provided:
  10. - \subpage pygrassGis
  11. - \subpage pygrassRaster
  12. - \subpage pygrassVector
  13. - \subpage pygrassModule
  14. - \subpage pygrassFunctions
  15. - \subpage pygrassMessages
  16. - \subpage pygrassErrors
  17. Below these packages are illustrated in greater detail.
  18. \subsection pygrassGis GIS Package
  19. - python::pygrass::gis
  20. Basic elements of the GRASS data-base:
  21. - python::pygrass::gis::Gisdbase
  22. - python::pygrass::gis::Location
  23. - python::pygrass::gis::Mapset
  24. - python::pygrass::gis::VisibleMapset
  25. Computational region:
  26. - python::pygrass::gis::region::Region
  27. Mapset handling:
  28. - python::pygrass::gis::set_current_mapset
  29. - python::pygrass::gis::make_mapset
  30. \subsection pygrassRaster Raster Package
  31. PyGRASS uses 4 different Raster classes, that respect the 4
  32. different approaches of GRASS-C API. The read access is row wise for
  33. RastRow and RasterRowIO and additionally cached in the RowIO class.
  34. Both classes write sequentially. RowIO is row cached, RastSegment
  35. and RasterNumpy are tile cached for reading and writing therefore a
  36. randomly access is possible. Hence RasterRow and RasterRowIO should
  37. be used in case for fast (cached) row read access and RasterRow for
  38. fast sequential writing. Segment and Numpy should be used for random
  39. access, but Numpy only for files not larger than 2GB.
  40. - python::pygrass::raster
  41. Reading/writing raster maps:
  42. - python::pygrass::raster::RasterRow
  43. - python::pygrass::raster::RasterRowIO
  44. - python::pygrass::raster::RasterSegment
  45. - python::pygrass::raster::RasterNumpy
  46. Random raster data:
  47. - python::pygrass::raster::random_map_only_columns
  48. - python::pygrass::raster::random_map
  49. Raster categories:
  50. - python::pygrass::raster::category::Category
  51. Raster metadata:
  52. - python::pygrass::raster::history::History
  53. \subsection pygrassVector Vector Package
  54. - python::pygrass::vector
  55. List of high-level classes:
  56. - python::pygrass::vector::Vector
  57. - python::pygrass::vector::VectorTopo
  58. Basic data structures and functions:
  59. - python::pygrass::vector::basic
  60. - python::pygrass::vector::basic::Bbox
  61. - python::pygrass::vector::basic::BoxList
  62. - python::pygrass::vector::basic::Cats
  63. - python::pygrass::vector::basic::CatsList
  64. Search for features:
  65. - python::pygrass::vector::find
  66. - python::pygrass::vector::find::PointFinder
  67. - python::pygrass::vector::find::BboxFinder
  68. - python::pygrass::vector::find::PolygonFinder
  69. Geometry and topology elements handling:
  70. - python::pygrass::vector::geometry
  71. - python::pygrass::vector::geometry::Attrs
  72. - python::pygrass::vector::geometry::Geo
  73. - python::pygrass::vector::geometry::Point
  74. - python::pygrass::vector::geometry::Line
  75. - python::pygrass::vector::geometry::Node
  76. - python::pygrass::vector::geometry::Boundary
  77. - python::pygrass::vector::geometry::Centroid
  78. - python::pygrass::vector::geometry::Isle
  79. - python::pygrass::vector::geometry::Isles
  80. - python::pygrass::vector::geometry::Area
  81. Vector attribute handling:
  82. - python::pygrass::vector::attributes
  83. \subsection pygrassModule Interface to GRASS GIS modules
  84. - python::pygrass::modules
  85. List of high-level classes:
  86. - python::pygrass::modules::interface::module::Module
  87. - python::pygrass::modules::interface::module::ParallelModuleQueue
  88. List of namespaces:
  89. - python::pygrass::modules::grid
  90. - python::pygrass::modules::interface
  91. - python::pygrass::modules::shortcuts
  92. \subsection pygrassFunctions Functions Package
  93. List of pyGRASS functions:
  94. - python::pygrass::functions
  95. \subsection pygrassMessages Messages Package
  96. Messages handling in PyGRASS:
  97. - python::pygrass::messages::FatalError
  98. - python::pygrass::messages::Messenger
  99. \subsection pygrassErrors Errors Package
  100. Defined errors classes:
  101. - python::pygrass::errors::ParameterError
  102. - python::pygrass::errors::FlagError
  103. - python::pygrass::errors::DBError
  104. - python::pygrass::errors::GrassError
  105. - python::pygrass::errors::OpenError
  106. \section pygrassAuthors Authors
  107. Pietro Zambelli (Google Summer of Code 2012)
  108. \section References References
  109. * Zambelli, P., Gebbert, S., Ciolli, M., 2013: *PyGRASS: An Object Oriented Python Application Programming Interface (API) for Geographic Resources Analysis Support System (GRASS) Geographic Information System (GIS)*
  110. * . ISPRS International Journal of Geo-Information 2, 201–219. (
  111. * `DOI <http://dx.doi.org/10.3390/ijgi2010201>`
  112. * |
  113. * `PDF <http://www.mdpi.com/2220-9964/2/1/201/pdf>`
  114. * )
  115. */