PROJJSON

PROJJSON是 WKT2:2019 / ISO-19162:2019 ,它本身实现了 OGC Topic 2: Referencing by coordinates . 除了编码的不同之外,语义与WKT2:2019完全相同。

从proj6.2开始,PROJJSON就可以作为PROJ的输入和输出。

当前版本为0.4。

图式

其语法的JSON模式可在https://proj.org/schemas/v0.4/projjson.schema.json获得

历史

  • V0.4:id对象中允许的附加属性(版本、AUTHORITY_CITICATION、URI)

  • V0.3:边界CRS对象中允许的附加属性(名称、范围、区域、bbox、用法、备注、id、id)

  • v0.2:在VerticalCRS对象中添加大地水准面模型。

  • v0.1:项目6.2的初始版本

内容

高级对象是:

  • 坐标参考系(CRS):

    • 常见问题:

      • GeographicCRS

      • GeodeticCRS

      • ProjectedCRS

      • CompoundCRS

      • BoundCRS

    • 更深奥的是:

      • VerticalCRS

      • EngineeringCRS

      • TemporalCRS

      • ParametricCRS

      • DerivedGeographicCRS

      • DerivedGeodeticCRS

      • DerivedProjectedCRS

      • DerivedVerticalCRS

      • DerivedEngineeringCRS

      • DerivedTemporalCRS

      • DerivedParametricCRS

  • 协调操作:

    • Transformation

    • Conversion

    • ConcatenatedOperation

  • 其他:

    • PrimeMeridian

    • Ellipsoid

    • Datum

    • DatumEnsemble

实例

地理CCR

以下调用

projinfo EPSG:4326 -o PROJJSON -q

将输出:

{
    "$schema": "https://proj.org/schemas/v0.1/projjson.schema.json",
    "type": "GeographicCRS",
    "name": "WGS 84",
    "datum": {
        "type": "GeodeticReferenceFrame",
        "name": "World Geodetic System 1984",
        "ellipsoid": {
            "name": "WGS 84",
            "semi_major_axis": 6378137,
            "inverse_flattening": 298.257223563
        }
    },
    "coordinate_system": {
        "subtype": "ellipsoidal",
        "axis": [
        {
            "name": "Geodetic latitude",
            "abbreviation": "Lat",
            "direction": "north",
            "unit": "degree"
        },
        {
            "name": "Geodetic longitude",
            "abbreviation": "Lon",
            "direction": "east",
            "unit": "degree"
        }
        ]
    },
    "area": "World",
    "bbox": {
        "south_latitude": -90,
        "west_longitude": -180,
        "north_latitude": 90,
        "east_longitude": 180
    },
    "id": {
        "authority": "EPSG",
        "code": 4326
    }
}

项目CRS

以下调用

projinfo EPSG:32631 -o PROJJSON -q

将输出:

{
    "$schema": "https://proj.org/schemas/v0.1/projjson.schema.json",
    "type": "ProjectedCRS",
    "name": "WGS 84 / UTM zone 31N",
    "base_crs": {
        "name": "WGS 84",
        "datum": {
            "type": "GeodeticReferenceFrame",
            "name": "World Geodetic System 1984",
            "ellipsoid": {
                "name": "WGS 84",
                "semi_major_axis": 6378137,
                "inverse_flattening": 298.257223563
            }
        },
        "coordinate_system": {
            "subtype": "ellipsoidal",
            "axis": [
            {
                "name": "Geodetic latitude",
                "abbreviation": "Lat",
                "direction": "north",
                "unit": "degree"
            },
            {
                "name": "Geodetic longitude",
                "abbreviation": "Lon",
                "direction": "east",
                "unit": "degree"
            }
            ]
        },
        "id": {
            "authority": "EPSG",
            "code": 4326
        }
    },
    "conversion": {
        "name": "UTM zone 31N",
        "method": {
            "name": "Transverse Mercator",
            "id": {
                "authority": "EPSG",
                "code": 9807
            }
        },
        "parameters": [
        {
            "name": "Latitude of natural origin",
            "value": 0,
            "unit": "degree",
            "id": {
            "authority": "EPSG",
            "code": 8801
            }
        },
        {
            "name": "Longitude of natural origin",
            "value": 3,
            "unit": "degree",
            "id": {
            "authority": "EPSG",
            "code": 8802
            }
        },
        {
            "name": "Scale factor at natural origin",
            "value": 0.9996,
            "unit": "unity",
            "id": {
            "authority": "EPSG",
            "code": 8805
            }
        },
        {
            "name": "False easting",
            "value": 500000,
            "unit": "metre",
            "id": {
            "authority": "EPSG",
            "code": 8806
            }
        },
        {
            "name": "False northing",
            "value": 0,
            "unit": "metre",
            "id": {
            "authority": "EPSG",
            "code": 8807
            }
        }
        ]
    },
    "coordinate_system": {
        "subtype": "Cartesian",
        "axis": [
        {
            "name": "Easting",
            "abbreviation": "E",
            "direction": "east",
            "unit": "metre"
        },
        {
            "name": "Northing",
            "abbreviation": "N",
            "direction": "north",
            "unit": "metre"
        }
        ]
    },
    "area": "World - N hemisphere - 0°E to 6°E - by country",
    "bbox": {
        "south_latitude": 0,
        "west_longitude": 0,
        "north_latitude": 84,
        "east_longitude": 6
    },
    "id": {
        "authority": "EPSG",
        "code": 32631
    }
}