一、介绍

GeoJson是一种对各种地理数据结构进行编码的格式。支持点、线、面、多点、多线、多面和几何集合。

GeoJSON里的特征包含一个几何对象和其他属性,特征集合表示一系列特征。

 

  1. 例子:

 

GeoJSON特征集合:

 

{ "type": "FeatureCollection",
  "features": [
    { "type": "Feature",
      "geometry": {"type": "Point", "coordinates": [102.0, 0.5]},
      "properties": {"prop0": "value0"}
      },
    { "type": "Feature",
      "geometry": {
        "type": "LineString",
        "coordinates": [
          [102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]
          ]
        },
      "properties": {
        "prop0": "value0",
        "prop1": 0.0
        }
      },
    { "type": "Feature",
       "geometry": {
         "type": "Polygon",
         "coordinates": [
           [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0],
             [100.0, 1.0], [100.0, 0.0] ]
           ]
       },
       "properties": {
         "prop0": "value0",
         "prop1": {"this": "that"}
         }
       }
     ]
   }

2.GeoJSON对象

 

 

总是由一个单独的对象组成。

 

对象可能有任何数目成员(名/值对)。

 

对象必须由一个名字为"type"的成员。这个成员的值是由GeoJSON对象的类型所确定的字符串。

 

成员的值必须是下面之一:"Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon", "GeometryCollection", "Feature", 或者 "FeatureCollection"。

 

几何对象

  当type的值是:"Point", "MultiPoint", "LineString", "MultiLineString",  "Polygon", "MultiPolygon", 或者"GeometryCollection"时,GeoJSON就是几何对象。

除"GeometryCollection"之外,其他几何对象都要有"coordinates"属性,它的值是一个数组,表示坐标集合。

 

位置(coordinates)

点(type: "Point"):“coordinates"的值必须是一个单独的位置。

多点(type: "MultiPoint"): “coordinates"的值必须是一个位置数组。

线(type: "LineString"): “coordinates"的值必须是两个或者多个位置的数组。

多线(type: "MultiLineString"): “coordinates"的值必须是线坐标数组的数组。

面(type: "Polygon"): “coordinates"的值必须是线性环坐标数组的数组。

多面(type: "MultiPlygon"): “coordinates"的值必须是面坐标数组的数组。

   几何集合(type: "GeometryCollection"):

 类型为"GeometryCollection"的GeoJSON对象是一个集合对象,它表示几何对象的集合。

 

 几何集合必须有一个名字为"geometries"的成员。与"geometries"相对应的值是一个数组。这个数组中的每个元素都是一个GeoJSON几何对象。

 

 

特征对象(type:"Feature")

特征对象必须由一个名字为"geometry"的成员,这个几何成员的值是上面定义的几何对象或者JSON的null值。

特征对戏那个必须有一个名字为“properties"的成员,这个属性成员的值是一个对象(任何JSON对象或者JSON的null值)。

如果特征是常用的标识符,那么这个标识符应当包含名字为“id”的特征对象成员。

 

 

 

特征集合对象(type:"FeatureCollection")

 

  类型为"FeatureCollection"的对象必须由一个名字为"features"的成员。与“features"相对应的值是一个数组。这个数组中的每个元素都是上面定义的特征对象。

 

 

生活是痛苦的白天,死亡是凉爽的夜晚。