Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add georeferencing widgets: draw dataset extent on map, or select pre-defined extent #138

Open
florianm opened this issue Mar 13, 2015 · 8 comments

Comments

@florianm
Copy link

This feature request concerns ckanext-spatial, ckanext-scheming and maybe it's not CKAN-core enough to get traction here - please advise if this is the wrong place to ask.

In the spatial widget, let users either pick a pre-defined spatial extent (e.g. administrative boundaries), or draw the extent directly (as rectangle or polygon), in addition to the good old paste-valid-GeoJSON which non-spatial users tend to struggle with.

Here's a tentative implementation in action: https://vimeo.com/116324887

If you'd like to have a go for yourself, request a login to http://data-demo.dpaw.wa.gov.au/

See also ckan/ckanext-spatial#93 and ckan/ckanext-scheming#11 (with backstory and use cases).

@florianm florianm changed the title Improve georeferencing Add georeferencing widgets: draw on map, select pre-defined extent Mar 13, 2015
@florianm florianm changed the title Add georeferencing widgets: draw on map, select pre-defined extent Add georeferencing widgets: draw dataset extent on map, or select pre-defined extent Mar 13, 2015
@jqnatividad
Copy link
Contributor

Awesome stuff @florianm!

Another way to implement this is to use PostGIS to automatically compute the spatial extent after pushing data to the datastore for datasets with latitude/longitude columns using ST_Extent for bounding box and/or ST_ConcaveHull for "shrink-wrapped" polygons and automagically populate the spatial metadata.

We actually implemented automatically computing spatial-extents with our CartoDB integration.

@florianm
Copy link
Author

Thanks @jqnatividad! Direct harvesting of a bounding box from data is extremely useful and should be another option.

We decided we need a manual option as sometimes we needed the extent to be known before data was available, or the dataset pertains to a well-defined area (e.g. a marine protected area) and needs to be discoverable via spatial search over that whole area.

Also, that CartoDB integration looks stunning. Need to give it a whirl right away!

@acheype
Copy link

acheype commented Oct 24, 2016

Thanks @florianm for this really interesting job.

Is there any news about a merge of your work with ckan/ckanext-spatial and ckan/ckanext-scheming ?
It seams unbelievable for me not to have by default an option to fill spatial extends with an appropriate widget !!

I'm interesting to install one ckan based on these features, it's a non-negotiable requirement for the scientist if I want to deploy an CKAN in the research institute where I work.
I was considering install it following this doc (datacats way) : http://datawagovau.readthedocs.io/en/latest/ckan.html
and use your fork extensions : florianm/ckanext-spatial and florianm/ckanext-scheming

Do you think it's the best option ? And do I have to install also the ckan version of your department (and then adapt it) : florianm/ckan ?

@florianm
Copy link
Author

@acheype thanks for your interest!

We're running a CKAN instance following the above setup, however since I've pulled a few updates from CKAN master I must have introduced some performace blocker.

To make things worse, datacats have since ceased to exist, and their SOLR schema (2.3) is far behind CKAN master's required schema.

My setup also still runs as data.wa.gov.au, and Link Digital have productionised it using some neat AWS infrastructure: http://ckan.org/2016/10/13/enterprise-ckan-stack-for-aws-is-now-available-on-github/
I assume they've kept / rewritten / substituted my spatial search but haven't had a chance to look yet.

Meanwhile, I'll sit with my IT ops crew mid November and plan the future of our internal CKAN setup, and if the powers in charge of my schedule are willing, I'll get to rewrite a clean version of -spatial and -scheming and maybe get it to PR level - but can't promise anything ;-)

I estimate that either a vanilla CKAN or Link's architecture might be the quickest way to a georeferenced CKAN.

If you would like to ask the CEO of Link Digital directly, he'll be at this meetup (Thu 1.30pm Canberra time): http://www.meetup.com/Asia-Pacific-CKAN-Meetup/events/234493895/

hope that helps!

@acheype
Copy link

acheype commented Oct 25, 2016

Thanks for your instructive answer @florianm! It really helps !

Good to know that datacats is dropped. I don't need to have a cloud architecture so I will directly begin with a vanilla CKAN. Also, it would certainly be easier for me to learn about the structure of a CKAN instance. Do you think your forks ckan/ckanext-spatial and ckan/ckanext-scheming are still compatible with the last version of CKAN ?

And of course, I will keep me informed about a future PR from you. It could be really awesome to finally offer a real georeferenced CKAN "out of the box".

@howff
Copy link

howff commented Oct 22, 2019

Is there any update on this capability? @florianm repos are gradually diverging from ckan master.

@florianm
Copy link
Author

Hi @howff - I never got around to finish up the PR to ckanext-spatial and -scheming.
Ideally this should become a part of ckanext-spatial but the complication is that it also uses ckanex-scheming. The fact that we're behind master is purely due to limited bandwidth to maintain.
Having said that, we're using the above happily in production, but are looking at a CKAN upgrade within the next 6 months.
Would you be interested in contributing? I might get some bandwidth for this early 2020.

@howff
Copy link

howff commented Nov 7, 2019

Thanks @florianm I would love to help get this pushed into master. The ckan guys are happy with the fact that it touches both scheming and spatial. Please let me know what I can do right now to get it working and bring it up to date ready for a merge. Happy to take this offline if you want.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants