Skip to content

Add optional geospatial functionality #70

Open
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions