index.rst 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. .. _wpslongitudinal:
  2. WPS longitudinal profile process
  3. ================================
  4. WPS longitudinal profile process provides the ability to calculate an altitude profile for the specified linestring.
  5. **In addition, the process can:**
  6. * Reproject result to different CRS
  7. * Adjust altitude profile based on additional layer
  8. Installing the WPS longitudinal profile process
  9. -----------------------------------------------
  10. #. If you haven't done already, install the WPS extension: :ref:`wps_install`.
  11. #. Download the WPS longitudinal profile process extension from the `nightly GeoServer community module builds <https://build.geoserver.org/geoserver/main/community-latest/>`_.
  12. .. warning:: Make sure to match the version of the extension to the version of the GeoServer instance!
  13. #. Extract the contents of the archive into the ``WEB-INF/lib`` directory of the GeoServer installation.
  14. Module description
  15. ------------------
  16. This module provides longitudinal profile process.
  17. The process splits provided geometry (for example linestring) into segments of no more then provided distance length.
  18. Then evaluates altitude for each point and builds longitudinal profile.
  19. If adjustment layer name is provided, altitude will be adjusted by searching feature that contains corresponding point,
  20. and getting it's altitude attribute, further subtracting it from altitude received from coverage.
  21. If targetProjection parameter is provided, points of profile will be reprojected to target CRS, otherwise to CRS
  22. of provided ewkt geometry.
  23. Process accepts following parameters:
  24. **Required:**
  25. #. layerName - name of the raster layer (coverage) which will be used for altitude profile creation
  26. #. geometry - geometry in wkt or ewkt format, along which the altitude profile will be created. If wkt is used, its CRS will be assumed as CRS of coverage.
  27. #. distance - maximal distance between points of altitude profile
  28. **Optional:**
  29. #. adjustmentLayerName - name of the layer with altitude, which will be used to adjust altitude values. Layer should have polygon or multipolygon geometry, and altitude attribute. Layer should be configured in the GeoServer
  30. #. targetProjection - target CRS of result
  31. #. altitudeIndex - index of altitude field in the array of coverage coordinates (0 by default)
  32. #. altitudeName - name of the altitude attribute on adjustment layer feature type
  33. **Response contains following objects:**
  34. #. profile - contains array of points of the profile
  35. #. infos - general info on process result
  36. The profile object contains an array of points.
  37. **Each point has following values:**
  38. #. totalDistanceToThisPoint - distance to this point from the beginning of the profile (first point) in units of CRS
  39. #. x - x coordinate of point
  40. #. y - y coordinate of point
  41. #. altitude - altitude of this point
  42. #. slope - slope between previous and current altitude
  43. **Infos object fields:**
  44. #. altitudePositive - sum of positive altitudes on this profile
  45. #. altitudeNegative - sum of negative altitudes on this profile
  46. #. distance - total length of profile
  47. #. firstpointX - x coordinate of first point
  48. #. firstpointY - y coordinate of first point
  49. #. lastpointX - x coordinate of last point
  50. #. lastpointY - y coordinate of last point
  51. #. representation - target CRS of resulting points
  52. #. processedpoints - total number of processed points
  53. #. executedtime - duration of process execution in milliseconds
  54. .. note::
  55. It's possible to set wpsLongitudinalMaxThreadPoolSize (integer value) environment variable to limit the size of the extension's thread pool.
  56. It's possible to set wpsLongitudinalVerticesChunkSize (integer value) environment variable to define number of vertices processed in a chunk.