Git Product home page Git Product logo

mapmlserver's People

Contributors

dependabot[bot] avatar prushforth avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mapmlserver's Issues

Add the ability to configure different WMS layers in <image src> URLs based on zoom level

A WMS often has multiple layers of similar type, which are appropriate for display within different scale ranges (e.g. single- vs double-line streets), and the developer-user of the WMS has to become educated as to what layers to request depending on the scale of the map.

Given that a MapML request has a defined scale, it should be possible to know what layers a given WMS request should include. To do that, the MapMLServer admin (the 'developer-user' from the WMS client scenario above) would configure a set of URL templates, each member of which would apply to a zoom range of one or more zoom levels. The element would then receive a map image that is appropriate to the scale.

Note that scale-appropriate layering can be done on the server, and so would be unnecessary on the MapMLServer, but such a feature would be nice to have. It could even be used to 'federate' services into a single MapML service under some circumstances, for example a mix of tiled or image service request could be returned, depending on the zoom of the MapML request.

Add links to adjacent services

Use rel values east/west/southeast etc to provide links within a zoom level to an 'adjacent' services such that panning the map will access the linked service, with possibly some visual cue to the user that they have moved off the original service.

This feature will allow services to federate seamlessly.

Ability to use WMS as though it was a tile cache, per Leaflet's WMSLayer

If you have a WMS that doesn't contain things like text that would look bad chopped up by tiles, you could configure the servlet to generate WMS URLs to each of the tiles inside/covering the requested MapML extent. This would allow you to use the WMS as though it was a tile cache, which would have the benefit of those responses being cache-able (in principle) on the client.

Add ability to link to alternate services from head

For example, if a service is available in more than one projection, could put links in the head element similar to what is done in html:

The client could choose from a number of alternates if the language or projection of the present document service does not suit.

e.g.:

Add ArcGISMapServer URL template support

Implement a MapML proxy for existing ArcGIS MapServer interface services, and add the implementation of that proxy to https://github.com/Maps4HTML/MapMLServer/blob/master/src/main/java/org/mapml/MapMLPrinter.java#L206 as an alternate form of supported URL template i.e. ArcGISMapServerTemplate, useful for ArcGIS MapServer services, as opposed to tileUrlTemplates or wmsUrlTemplates as currently defined.

For example http://geoappext.nrcan.gc.ca/arcgis/rest/services/MMS/IMA_E/MapServer/export?bbox=-3256599.7214222914,1179536.074671093,3594226.7345222933,3743106.5513747153 is a MapServer service, there could be a URL template which supports creating an image element for MapML requests to such a service.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.