jumpinjackie / mapguide-rest

REST Extension for MapGuide Open Source
GNU Lesser General Public License v2.1
26 stars 14 forks source link

Routing for TileSetDefiniton to access GeoJSON vector tiles #158

Open begu24 opened 7 years ago

begu24 commented 7 years ago

Hi Jackie,

is there any specific reason that there is no support for accessing GeoJSON vector tiles via TileSetDefinitions? Only MapDefinitions are supported for this but I would really like to use via XYZ-TileProvider.

Gunter

jumpinjackie commented 7 years ago

One thing to understand about mapguide-rest is that a majority of the API wraps equivalent mapagent operations and functionality of the MapGuide API in a REST-ful manner.

How does this relate to TileSetDefinitions? Well, whatever TileSetDefinition support offered by mapguide-rest is merely it passing it through to the mapagent infrastructure so in the case of TileSetDefinitions we are merely wrapping the support that is offered by the MapGuide API / mapagent. (ie: Image tile access against TileSetDefinitions instead of MapDefinitions with a choice of normal or XYZ tile access schemes). The provider specified in the TileSetDefinition defines the tile content and access schemes.

That's why we can't access GeoJSON vector tiles with TileSetDefinitions, there is no such tile set provider in MapGuide Server that generates GeoJSON tiles. That is really where we should look at expanding support, not mapguide-rest.

begu24 commented 7 years ago

I agree with you that GeoJSON tile support should be handled natively via a mapagent operation. But I don't understand the difference to a MapDefinition with an inline and especially an external TileMapProvider. There is no mapagent operation at all, that supports GeoJSON format for a MapDefinition directly.

So, just to clarify things for me: When inspecting your code, I would think that it must be technically possible to create GeoJSON vector tiles through the MapGuide Rest API, but it would be way much better to handle this via a mapagent operation.

If this is the case, then would it be worth to file an enhancement request for such a mapagent feature?

Gunter

jumpinjackie commented 7 years ago

The case for a Map Definition linking to a Tile Set Definition is to:

And yes, vector tiles is something that you should get the mapagent/mgserver to generate. However, I wouldn't bother with GeoJSON vector tiles, I'd try for mapbox vector tiles instead which is more standardized and better performing.