如果我在GeoJSON文件(或数据包)的顶部添加了一些元数据,它是否会破坏大多数读者(并违反规范)。
我看了看:https://gis.stackexchange.com/questions/96158/metadata-and-geojson
但我不清楚这是否在这里回答了我的问题。
例如,可以向CRS对象添加更多属性,而不是" name"," properties"获得一些扩展的元数据,而不是把它放在每个特征上?
答案 0 :(得分:3)
geojson规范第6.1节状态(https://tools.ietf.org/html/rfc7946):
6.1。外国会员
本规范中未描述的成员(“外国成员”)可以是 用于GeoJSON文档。请注意,对外国成员的支持可以 不同的实现,并没有规范的处理模型 外国成员是定义的。因此,依赖的实现 过度使用外国成员可能会减少 与其他实现的互操作性。
例如,在下面显示的(删节)功能对象中
{ “type”:“Feature”, “id”:“f1”, “几何”:{...}, “属性”:{...}, “title”:“示例功能”}
“title”的名称/值对:“Example Feature”是外国成员。 当外来成员的值是一个对象时,所有的后代 该对象的成员本身就是外国成员。 GeoJSON语义不适用于外部成员及其后代,无论其名称和值如何。例如,在 下面的(删节)功能对象
{ “type”:“Feature”, “id”:“f2”, “几何”:{...}, “属性”:{...}, “centerline”:{ “type”:“LineString”, “坐标”:[ [-170,10], [170,11] ] }}
“centerline”成员不是GeoJSON Geometry对象。
答案 1 :(得分:0)
我不知道它是否违反了规范,但我做了类似的事情并没有打破读者。
例如,我有一个包含10个功能的GeoJSON文件,并希望为其添加时间戳。我用Javascript(Node.js)完成了这个:
var json_in = require('/path/to/file/input.json');
var timei = ("2016-10-31 12Z");
var jsonfile = require('jsonfile');
var file = '/path/to/file/output.json';
jsonfile.writeFile(file, json_in, function (err) {
console.error(err)
})
然后我绘制了http://geojson.io上的功能并确认一切正常。
FYI您可以在此处获取jsonfile包(使I / O更加顺畅): https://github.com/jprichardson/node-jsonfile