使用d3绘制地图

665 阅读1分钟

GeoJSON

GeoJSON 是用于描述地理空间信息的数据格式。其语法规范是符合 JSON 格式的,只不过对其名称进行了规范,专门用于表示地理信息。

GeoJSON 的最外层是一个单独的对象(object)。这个对象可表示:

  • 几何体(Geometry)
  • 特征(Feature)
  • 特征集合(FeatureCollection)

最外层的 GeoJSON 里可能包含有很多子对象,每一个 GeoJSON 对象都有一个 type 属性,表示对象的类型,type 的值必须是下面之一:

  • Point:点。

  • MultiPoint:多点。

  • LineString:线。

  • MultiLineString:多线。

  • Polygon:面。

  • MultiPolygon:多面。

  • GeometryCollection:几何体集合。

  • Feature:特征。

  • FeatureCollection:特征集合。

      // 点对象
      {
          "type":"Point",
          "coordinates":[-135,66]     // 每个对象也都有一个成员对象
      }
    
      // 几何体集合
      {
          "type":"GeometryCollection",
          // 数组
          "geometries": [    
              {
                  "type": "Point",
                  "coordinates": [-135,66]
              },
              {
                  "type": "LineString",
                  "coordinates": [ [100, 30], [100, 35] ]
              }
          ]
      }
      
      // 特征
      {
          "type": "Feature",
          "properties": {
              "name": "北京"
          },
          "geometry": {
              "type": "Point",
              "coordinates": [ 116.3671875, 39.977120098439634]
          }
      }
    

github.com/openstreetm…