WKT (Well Known Text)

http://hi.baidu.com/liongg/blog/item/a60e35fa1900078c9e5146b8.html


Well-Known Text (WKT) Representation of Spatial Reference Systems:顾名思义用众所周知的文字形式来描述坐标参照系统,它与EPSG(2005年已经换名)的坐标文字表述模型一致。

基础知识:坐标参照系有三种最常见的子类:地心坐标系(geocentric cs、GEOCCS),地理坐标系(geographic cs、GEOGCS),和投影坐标系(projected cs、PROJCS)以及相互之间的关系,可以参考《坐标参照系》。投影参数内容:Ellipsoid 、 Datum ;Projection,可以参考《地图投影为什么》。

坐标系的文字描述的扩展BN范式(EBNF)定义如下:
<coordinate system> = <projected cs> | <geographic cs> | <geocentric cs>

  

<projection> = PROJECTION["<name>"]

<parameter> = PARAMETER["<name>", <value>]

<value> = <number>

   

<datum> = DATUM["<name>", <spheroid>]

<spheroid> = SPHEROID["<name>", <semi-major axis>, <inverse flattening>]

<semi-major axis> = <number> NOTE: semi-major axis is measured in meters and must be > 0.

<inverse flattening> = <number>

<prime meridian> = PRIMEM["<name>", <longitude>]

<longitude> = <number>

   

<angular unit> = <unit>

<linear unit> = <unit>

<unit> = UNIT["<name>", <conversion factor>]

<conversion factor> = <number>

以下示例说明,参照上述参数,然后比瓢画葫芦即可自行用WKT创建坐标系。

地理坐标系的格式:<geographic cs> = GEOGCS["<name>", <datum>, <prime meridian>, <angular unit>]

WGS1984的地理坐标系WKT形式:
GEOGCS["WGS 84", 
     DATUM["WGS_1984", 
          SPHEROID["WGS 84", 6378137, 298.257223563, AUTHORITY["EPSG", "7030"]],     
          AUTHORITY["EPSG", "6326"]], 
     PRIMEM["Greenwich", 0, AUTHORITY["EPSG", "8901"]], 
     UNIT["degree", 0.0174532925199433, AUTHORITY["EPSG", "9122"]],
     AUTHORITY["EPSG", "4326"]]

投影坐标系的格式:<projected cs> = PROJCS["<name>", <geographic cs>, <projection>, {<parameter>,}* <linear unit>]

WGS1984地理坐标,统一横轴墨卡托(UTM)投影,中央经线117E的投影坐标系WKT形式:

PROJCS["WGS 84 / UTM zone 50N", 
     GEOGCS["WGS 84", DATUM["WGS_1984", SPHEROID["WGS 84", 6378137, 298.257223563, AUTHORITY["EPSG", "7030"]], AUTHORITY["EPSG", "6326"]], PRIMEM["Greenwich", 0, AUTHORITY["EPSG", "8901"]], UNIT["degree", 0.0174532925199433, AUTHORITY["EPSG", "9122"]], AUTHORITY["EPSG", "4326"]], 
     PROJECTION["Transverse_Mercator"], 
     PARAMETER["latitude_of_origin", 0], 
     PARAMETER["central_meridian", 117], 
     PARAMETER["scale_factor", 0.9996], 
     PARAMETER["false_easting", 500000], 
     PARAMETER["false_northing", 0], 
     UNIT["metre", 1, AUTHORITY["EPSG", "9001"]], 
     AUTHORITY["EPSG", "32650"]]

地心坐标系格式相似于地理坐标系:<geocentric cs> = GEOCCS["<name>", <datum>, <prime meridian>, <linear unit>]

参数中出现AUTHORITY是EPSG的玩意,在自定义坐标系时可以忽略,我会在后面详细介绍EPSG相关内容。WKT更具体的可参考OGC相关文档:如SFA、《SF for OLE/COM》等。

练习:给出下属投影坐标系参数,请用WKT方式表述。
投影参数:椭球体,Krasovsky_1940;基准面,北京1954;投影:兰勃特双标准纬线,25N,47N;中央经线,117E。


参考答案:

PROJCS["liongg",
    GEOGCS["GCS_Beijing_1954",
         DATUM["D_Beijing_1954",SPHEROID["Krasovsky_1940",6378245.0,298.3]],
         PRIMEM["Greenwich",0.0],
         UNIT["Degree",0.0174532925199433]],
    PROJECTION["Lambert_Conformal_Conic"],
    PARAMETER["False_Easting",20500000.0],
    PARAMETER["False_Northing",0.0],
    PARAMETER["Central_Meridian",0.0],
    PARAMETER["Standard_Parallel_1",25.0],
    PARAMETER["Standard_Parallel_2",47.0],
    PARAMETER["Scale_Factor",1.0],
    PARAMETER["Latitude_Of_Origin",0.0],
    UNIT["Meter",1.0]]

有个偷懒的方法就是用商业软件譬如ArcGIS按照参数新建投影,然后在.prj文件中提取投影内容并修改。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值