GIS数据格式topojson

Topojson源自于GeoJson,是D3中描述地理数据的格式,D3的作者觉得GeoJson太繁琐。同样的数据,TopoJson是GeoJson的1/5。

这里有一个转换TopoJson,GeoJson,Shp的网站http://mapshaper.org/;好像不好使

GeoJson和TopopJson在线转换:http://jeffpaine.github.io/geojson-topojson/

Openlayer3目前支持TopoJson

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"}
           }
         }
       ]
}

 转化为TopoJson示例

{
    "type": "Topology",
    "objects": {
        "collection": {
            "type": "GeometryCollection",
            "geometries": [
                {
                    "type": "Point",
                    "coordinates": [
                        4000,
                        5000
                    ]
                },
                {
                    "type": "LineString",
                    "arcs": [
                        0
                    ]
                },
                {
                    "type": "Polygon",
                    "arcs": [
                        [
                            1
                        ]
                    ]
                }
            ]
        }
    },
    "arcs": [
        [
            [
                4000,
                0
            ],
            [
                1999,
                9999
            ],
            [
                2000,
                -9999
            ],
            [
                2000,
                9999
            ]
        ],
        [
            [
                0,
                0
            ],
            [
                2000,
                0
            ],
            [
                0,
                9999
            ],
            [
                -2000,
                0
            ],
            [
                0,
                -9999
            ]
        ]
    ],
    "bbox": [
        100,
        0,
        105,
        1
    ],
    "transform": {
        "scale": [
            0.0005000500050005,
            0.00010001000100010001
        ],
        "translate": [
            100,
            0
        ]
    }
}
原文地址:https://www.cnblogs.com/yoyogis/p/4575376.html