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 basic Projection (definition) support for Map #82

Merged
merged 2 commits into from Jul 16, 2019

Conversation

@justb4
Copy link
Contributor

justb4 commented Jul 13, 2019

This PR provides basic support to use other projections than the default Web Mercator. It has the following changes:

  • dependencies in package.json: add proj4
  • config: additional Map attributes for projection and projection definitions for proj4
  • Map.vue handle projection setting (default EPSG:3857 WM) for Map
  • add additional Proj4 definitions if specified in config
  • example config for Dutch projection (EPSG:28992) WMS base Layer and overlay
  • some test lines, but bit unclear how to really test

Was new to Wegue, so hope the changes are at the proper places. Hope that is the intention, at least within NL most apps use our local projection. I realize that introducing projections also introduces complexity, don't know if that is the intention for Wegue.

Thanks for the good work! Hopefully Wegue can be a follow-up for GeoExt!

Copy link
Collaborator

chrismayer left a comment

Thanks a lot for your contribution @justb4 ! This is very cool. I did this (using custom projection) mostly on project / application level. But I like the idea introducing this into Wegue. Since it is a common use case.

Could you please correct the attribution before I merge this, so the map credits are shown correctly (see comment in code)? I also had some other minor remarks, which you might want to address at will (non blocking for merging this)

src/components/ol/Map.vue Outdated Show resolved Hide resolved
static/app-conf-projected.json Outdated Show resolved Hide resolved
static/app-conf-projected.json Outdated Show resolved Hide resolved
static/app-conf-projected.json Outdated Show resolved Hide resolved
@chrismayer

This comment has been minimized.

Copy link
Collaborator

chrismayer commented Jul 16, 2019

Thanks for the good work!

Thanks for the feedback and the nice words. Some background information what is happening at the moment.:
My current focus of work in Wegue is on the https://github.com/chrismayer/wegue/tree/v1.0.0-dev branch. Here I do some major changes, so Wegue will tackle some things in an easier way and the separation of application code and core code will be improved. So upgrading will be easier in the future (hopefully 😉). Also things like test coverage will be better then.
The v1.0.0-dev branch will become the Wegue master soon and the current "pre 1.0 stage" will live in https://github.com/meggsimum/wegue/tree/v0.8.x-maintenance. So I will port over the changes offered in this PR to the v1.0.0-dev as well.

Hopefully Wegue can be a follow-up for GeoExt!

Still a long way to go 🚶 😉 But I am very happy with Wegue. It did a good job as base setup for customer projects or in case we needed a quick web map just by setting up a JSON config file without coding.

I hope Wegue will get more contributors (user, tester, coder, ...) so I am very happy you came up with this PR. Thank you very much for you work!

@justb4

This comment has been minimized.

Copy link
Contributor Author

justb4 commented Jul 16, 2019

Thanks for feedback, all changes made, you may squash-merge.

Good to see/hear about your activities in your local fork! Was not aware. Still doing Heron (GeoExt v1, Ext3, OL 2.12!) maintenance, but with other Heron devs I was looking for a new mapping framework. Skipping NG altogether, I dabbled with ReactJS but am really happy with Vue.js, especially after the big Vue.js conf in Amsterdam. Though most new frameworks (MapStore2, Boundless SDK, GeoMoose) use React...

So, also as Heron is largely a configuration convention using ExtJS xtype', I was happy to find Wegue (config)! Many of the Heron customers/users are not programmers but know enough JS to assemble a config and thus, often proudly, build a viewer. I am eager to explore/enhance Wegue in that sense. E.g. the configuration syntax with Heron was always a weak spot, i.e. no formal description/schema.

But anyway will start with small steps, can't promise ample time as working in several FOSS projects.
I have a Docker file for Wegue (35MB) for next PR. Will try to engage Heron folks in NL.

@chrismayer

This comment has been minimized.

Copy link
Collaborator

chrismayer commented Jul 16, 2019

am really happy with Vue.js

Me as well, I was convinced very quickly by the lightweight approach, not having a too big buy in.

I am eager to explore/enhance Wegue in that sense

Cool, very appreciated!

I have a Docker file for Wegue (35MB) for next PR.

Good point! Let's discuss in #83

Thanks for your ongoing work on this @justb4! 👍 I'll merge now.

@chrismayer chrismayer merged commit 0c01268 into meggsimum:master Jul 16, 2019
1 check passed
1 check passed
continuous-integration/travis-ci/pr The Travis CI build passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants
You can’t perform that action at this time.