GeoTools
  1. GeoTools
  2. GEOT-4096

Contribute three LRS WPS processes

    Details

    • Type: New Feature New Feature
    • Status: Resolved Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: process
    • Labels:
      None
    • Testcase included:
      yes

      Description

      I would like to contribute three Linear Reference System processes:

      1) Convert a point on a feature to an LRS measure
      2) Convert an LRS measure to a point on a feature
      3) Given two LRS measures return the feature geometry

      1. lrs.patch
        53 kB
        David R Robison
      2. lrs.patch
        53 kB
        David R Robison
      3. lrs.patch
        31 kB
        David R Robison

        Activity

        Hide
        Michael Bedward added a comment -
        Andrea,

        Changed the component from WPS to Process and provisionally assigned this one to you since it seems to be putting things into the process.gs package.

        Michael
        Show
        Michael Bedward added a comment - Andrea, Changed the component from WPS to Process and provisionally assigned this one to you since it seems to be putting things into the process.gs package. Michael
        Hide
        Andrea Aime added a comment -
        First off, thanks for the contribution, LRS processes are certainly welcomed.

        There are a few issues that will prevent the patch from being committed as is:
        * it does not respect the geotools coding convetions (evident in the usage of tabs instead of spaces, but this I can fix)
        * when a feature has a geometry outside of the expected date range we generate a feature with a null geometry? Or an exception? I guess filtering out the feature from the results might be a more desirable behavior?
        * the processes are memory bound (ok, this one is an efficiency problem, does not prevent commit per se, but I would not be eager of exposing the processes as is on a publicly accessible WPS)
        * there are no tests checking the proper operation of the processes, someone has to make them before commit can go in

        An improved patch that I just need to review will fast track the commit, otherwise we'll have to wait for someone with enough time to add at lest the tests and eventual fixes in behavior when the geometry is fully outside of the requested interval (formatting can be fixed quickly while committing the processes).
        Show
        Andrea Aime added a comment - First off, thanks for the contribution, LRS processes are certainly welcomed. There are a few issues that will prevent the patch from being committed as is: * it does not respect the geotools coding convetions (evident in the usage of tabs instead of spaces, but this I can fix) * when a feature has a geometry outside of the expected date range we generate a feature with a null geometry? Or an exception? I guess filtering out the feature from the results might be a more desirable behavior? * the processes are memory bound (ok, this one is an efficiency problem, does not prevent commit per se, but I would not be eager of exposing the processes as is on a publicly accessible WPS) * there are no tests checking the proper operation of the processes, someone has to make them before commit can go in An improved patch that I just need to review will fast track the commit, otherwise we'll have to wait for someone with enough time to add at lest the tests and eventual fixes in behavior when the geometry is fully outside of the requested interval (formatting can be fixed quickly while committing the processes).
        Hide
        David R Robison added a comment -
        This patch includes JUnit tests
        Show
        David R Robison added a comment - This patch includes JUnit tests
        Hide
        David R Robison added a comment -
        Added a small edit to set point SRID
        Show
        David R Robison added a comment - Added a small edit to set point SRID
        Hide
        Andrea Aime added a comment -
        Patch applied, formatting fixed, the other issues (memory boundness) are for the moment unresolved.
        If you feel like giving it a shot today I've rolled a SimpleProcessingCollection abstract class that can be used to write streaming processes without having to pull too many hairs
        Show
        Andrea Aime added a comment - Patch applied, formatting fixed, the other issues (memory boundness) are for the moment unresolved. If you feel like giving it a shot today I've rolled a SimpleProcessingCollection abstract class that can be used to write streaming processes without having to pull too many hairs

          People

          • Assignee:
            Andrea Aime
            Reporter:
            David R Robison
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: