GeoJSON标题中的MetaData

时间:2015-11-26 20:05:27

标签: geojson

如果我在GeoJSON文件(或数据包)的顶部添加了一些元数据,它是否会破坏大多数读者(并违反规范)。

我看了看:https://gis.stackexchange.com/questions/96158/metadata-and-geojson

但我不清楚这是否在这里回答了我的问题。

例如,可以向CRS对象添加更多属性,而不是" name"," properties"获得一些扩展的元数据,而不是把它放在每个特征上?

2 个答案:

答案 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