Comments (6)
What we need to discuss is who the intended consumer of this information is.
In Map Markup Language, we've made the decision that Web browser developers are the target developer for MapML. The reason for this is interoperability: we want spatial information available to as broad a set of users as possible. HTML does this for information documents. MapML aims to do this for map documents. What kind of information is represented by HTML? Almost anything your heart desires to represent, except it's not great at spatial information, yet. ergo we need a specialized map document format for this, that leverages the strengths of the Web: hypertext and hyperlinks,
In consideration of the foregoing, MapML provides a DOM-compatible format: if (when) browsers decide that maps should be part of their native semantics, they will be easily able to present DOM APIs over maps and spatial data that are then available to Web developers aka HTML authors.
If the target customer of the format is Web developers, then you almost need look no further than GeoJSON support, since it is easily converted to JavaScript-compatible objects. If the map was a native browser object, GeoJSON could be presented to the Web developers via DOM APIs, I think.
So, for your consideration, perhaps WFS 3.0 could also offer MapML as an output, and possibly make it the 'default', if browsers are the target.
from ogcapi-features.
Doh! I just argued in a previous SWG meeting that we should have no default because this line of reasoning is what locked us into GML for so many years. Instead -- I argued -- that like WMS, the client and server negotiation a mutually agreeable format. I also imagined that clients could use the OPTIONS method to get the available formats from the server.
Since the number of choices is small anyway and it seems like JSON is emerging as a defacto standard anyway I don't think that leaving it open ended will harm interoperability that much.
from ogcapi-features.
Darn, I need to get the SWG's on my calendar. I can see that argument, though for WMS png vs jpeg is a trivial implementation for most any software. JSON vs HTML I'd argue not so much (JSON vs naive XML sure, but not vs validating GML).
Thinking about it, I think 'default' is actually more than I'd really need. But I do think at least a recommendation would be important though - if you're going to implement one format then make it this one. Hopefully a recommendation could be changed easier in the future, and not tie us like GML.
I'd also feel a lot better about no default if we can do #24, so it's really just JSON and HTML, and each clearly has their purpose - one for humans, one for machines.
from ogcapi-features.
from ogcapi-features.
It is not clear to me what a "default" encoding is. I assume it is a mandatory encoding that everyone has to implement? I think the argument why we do not want to have a mandatory encoding is still valid.
And even if we would assume that GeoJSON would be dominant encoding for spatial data for a long time, GeoJSON probably should not be the mandatory encoding for all cases as then you could not support, for example, 3D data.
Which is why I still think that the current approach makes sense.
from ogcapi-features.
Fair points on the default - I just changed the title to 'recommended' encoding. I agree that mandatory encoding wouldn't be great, forcing people to implement it.
What I'm really looking for is when a developer sits down to implement there's a clear recommendation of which encoding they should probably start with. A recommendation that says 'if you're unsure what to implement first this is the one you should start with'.
Note that I think this recommendation could change in future versions - wfs 5.0 may have a recommendation of protobuf or some newfangled thing.
from ogcapi-features.
Related Issues (20)
- Add support for compound CRSs
- CRS identifier required for geometry less collections HOT 3
- Schemas: oneOf null/single/multi geometry ? HOT 4
- CQL2 (Spatial Functions): Short definitions of boundary/interior/exterior, S_RELATE HOT 2
- CQL2 (Arrays): Remaining square brackets HOT 1
- Replace mentions of "OGC APIs" HOT 1
- CQL2: JSON isNull inconsistency HOT 1
- CQL2: One remaining mention of spatial operators
- CQL2: Move ATS Queries to Standalone Files HOT 1
- Feature snapshot with `datetime` parameter HOT 8
- CQL2: Validation of JSON examples fails HOT 6
- Should queryables link header be required? HOT 3
- Explicitly disallow CQL2 keywords as custom function names in CQL2 JSON Schema HOT 3
- Schemas: QUDT -- URI or id ? Add an example? HOT 3
- Schemas: `x-ogc-unit-lang` or `x-ogc-unitLang` ? HOT 3
- Schemas: Clarifications / Example on what URIs / vocabs should be used for `x-ogc-definition` HOT 4
- Simplify scalar expression
- CQL2/Grammar: Quoted identifiers not defined as expected HOT 5
- CQL2/Grammar: signedNumericLiteral does not seem to be defined correctly HOT 2
- A dedicated section for links HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ogcapi-features.