SignalK / specification

Signal K is a JSON-based format for storing and sharing marine data from different sources (e.g. nmea 0183, 2000, seatalk, etc)
Other
91 stars 69 forks source link

GeoJSON issues #457

Open gilbertbw opened 6 years ago

gilbertbw commented 6 years ago

This line of the geojson spec seems to reference a file that no longer exist: https://github.com/SignalK/specification/blob/3228ead31730f997ea087dd1139d7703f94c24bf/schemas/external/geojson/geojson.json#L13

The json-schema example for geojson seems to be here but there is a discussion on the json-schema project about whether or not json-schema.org should be hosting reference schemas: json-schema-org/json-schema-org.github.io#171

Also the README for the geojson directory in SignalK https://github.com/SignalK/specification/blob/3228ead31730f997ea087dd1139d7703f94c24bf/schemas/external/geojson/README.txt#L1 Shows that is is based on this project that appears to be un-maintained and in fact links to a version of geojson that is obsolete and has been superseded by RFC 7946

tkurki commented 6 years ago

http://json.schemastore.org/geojson appears to be the current schema - at least it's history appears to be in line with RFC 7946 publication.

Do you happen to know or could you look into this deeper, is this what we should be linking to?

tkurki commented 6 years ago

Now that I look into this a bit more: I don't see any references to external/geojson/geojson.json, it seems safe to remove it.

schemas$ ag external
groups/resources.json
156:                      "$ref": "../external/geojson/geometry.json#/definitions/lineString"
272:                          "$ref": "../external/geojson/geometry.json#/definitions/polygon"
287:                            "$ref": "../external/geojson/geometry.json#/definitions/polygon"
rob42 commented 6 years ago

I originally added the copy of the current geoJson schema into ../external as I could not get the docson based signalk docs to work etc without it. If thats now fixed it can go

It may be worth testing offline schema validation...if you validate a track with geoJson and have no internet it wont work?

gilbertbw commented 6 years ago

Sorry for the confusion, I have reviewed the issue I was getting and it is actually https://signalk.org/specification/1.0.0/schemas/external/geojson/geometry.json referring to http://json-schema.org/geojson/geometry.json that is causing me problems, this is being used by the groups/resources.json file.

With that in mind do we want to use http://json.schemastore.org/geojson? A possible issue I see is that if/when the geojson proposed standard changes, the version hosted on schemastore may change, whereas the signalk spec should presumably be pinned to a specific version? Do we want to vendor the schemastore version as it stands now, then update our vendored copy going forwards tying in with a specific signalk version?

@rob42 I believe this causes an issue if you are offline or online presently as the http://json-schema.org/geojson/geometry.json file will not be found? If your device is not expected to have constant internet connection it will not be able to access https://signalk.org/specification. Would the solution not be to resolve the dependency tree and cache/vendor of all the required schemas you need?

I had a look for docson in the repository and I have a couple of questions:

rob42 commented 6 years ago

docson is no longer used. Caching the spec would be a better solution. I suggest changing it to reference the appropriate geojson url, then rerun tests and the various tools we use to publish docs etc. If it all works then lets merge it in.

handrews commented 6 years ago

Hi folks- dropping in from the JSON Schema specification project.

I'd strongly recommend using the schemastore schema. The one on json-schema.org is kind of an historical artifact of... I'm not really sure what. Maybe there were plans to have a repository there? In between the prior group of editors abandoning the project after draft-04 and the current group picking it up for subsequent drafts (now working on draft-08!) we lost a bit of context.

We would prefer not to be responsible for maintaining a schema store, and would like to take the four example schemas that are there down. Schemastore.org does a much better job of being a repository, and we barely have time to update the non-spec parts of the site as it is.