Skip to content

Add optional geospatial functionality #70

@emiliom

Description

@emiliom

The recent PR #69 completed the removal of all geospatial capability (even optional ones) around SamplingFeatures.FeatureGeometry that started with a commit in early June that removed the shape method on the models.py SamplingFeatures class and related, geoalchemy-based functionality.

For convenience for future follow-ups, I'm pasting below some of my own comments from the discussions on PR #69:

more broadly, I don't agree with the complete removal of all geospatial capability that started in early June commits. I can definitely see the benefit of making that functionality more optional, including moving related import statements into the optional methods that use them (or even into a utilities module) so that packages like shapely and geoalchemy are not required. But that's different from removing all geospatial capability entirely. FYI, I believe Choonhan was relying on the shape function for ODM2RESTAPI, and I personally found it very useful and non-obtrusive, except requiring the installation of those geospatial packages.

TO-DO for me (Emilio):

  • Start a new 'geospatial' branch to bring back the deleted functionality, and work towards making it as lightweight/optional as possible so it doesn't impose the burden of installing additional packages for user who would never use it.
  • Develop usage examples for that code.
  • Think about adding functionality to go from FeatureGeometryWKT to Python geospatial objects.
  • Look back through old issues to see what relevant, old discussions should be linked up into this issue.

cc'ing @lsetiawan, b/c I plan to start pulling him into odm2api development later this month. He's already built some ODM2 geodjango experience, and has a strong Python geospatial experience.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions