座標系の詳細な定義、計算や標高を転載| GISは話に座標系

座標系座標系の系の変換式、および簡単標高座標話す詳細な定義Benpian。

この記事では、<>の言葉は、読み出し時間は45分をお勧めします。

著者:ブログガーデン/ B駅/秋@ほとんど/ CSDN /小さなコラムを知っているが寒いです

著作権:転載通知し、転載してくださいテキストは、添付の文と元のリンク(上で再現https://www.cnblogs.com/onsummer/p/12082454.html)。

ディレクトリ

1.地理座標系の定義

2.ザは、システム定義の投影座標

3.座標系昇格

4.座標系変換

1.地理座標系の定義

1.1。ヒトは、地球の形状を説明

地球の人間は「赤道少し脂肪、」楕円体を発見した後、それは数学的または物理的記述によって、地球の形を意図しています。

早い段階で、地球の「ジオイド」概念記述と呼ばれ、この概念は、地球がまだ海、形状は(土地を海水と一部想像)地球の海水の形状であると言うことです。

その後、彼らは、それが使用する海水ではなく、各場所の重力のラインの顔頂点ではありません、前方「準ジオイド」の概念を置きます。

最後に、「楕円」の数学的概念を用いて、数学的な計算を容易にするために、地球の形状を説明します。

測地学では、「ジオイド」、「準ジオイド」「高さ」に対応し、「正常高値」は心によって覚える必要がありますが、ここGISで、これが唯一の最後の楕円体を議論(上昇は単にセクション3で議論と言うであろう)。

1.2。式回転楕円体

回転楕円体の方程式の3次元解析幾何学:

それはその後、何地獄ですか?これは、次のとおりです。

楕円、z軸に楕円の短軸、心臓に楕円起源、及びZ軸回りの回転の曲面。

(ネットワーク絵、http://xuxzmail.blog.163.com/blog/static/251319162009618102642971/

切断面は、円形状に交差する、XOYに平行な平面内に楕円体。

1.3。緯度と経度と球面座標系

次元解析幾何学、三次元座標系はデカルト空間矩形の三種類、球座標系、円筒座標系、座標系を用います。

なぜ三次元緯度および経度に答えるために、このセクションの問題の2つだけのコンポーネント。

球面座標系定義のは、どのようにそれのようなものでしょうか?

 

 

三次元座標は球面座標、天然に三つの成分である:R、θ、φ

rは点に原点からの距離を表し、θは接続点及びZ軸の原点との間の角度を表し、Φは接続点とx軸と投影面XOYの原点との間の角度を表します。

次いで、その緯度と経度?

このルート半径0度経度線分、すなわち、交差する:我々は、赤道面X軸が半径そう直線であると仮定する。

 

 

同様に、y軸は、z軸は同様の定義を有します。

しかし、点P(経度、緯度、および第三成分)それは何ですか?

実際には、経度緯度をθ、φです。

「経度(Φ])は楕円を結ぶ直線上の原点であり、赤道面(XOY平面)におけるX軸の投影角」 - 東経及び西だけではない0に、追加します360°。

「緯度は楕円との接続線、z軸の角度と相補的な角度上の原点である。」 - 接続点と赤道とz軸上の原点との間の角度は90度ではなく、緯度であります0度は、それほど関係の余角です。

したがって、第三の成分は非常に明らかであろう:Rは、点までの原点からの距離(楕円焦点)を表します。しかし、なぜ通常は緯度と経度のそれ?

すなわち、rが非常に大きいため、我々は通常、海抜高さの話の話であり、それは明らかに三次元座標、緯度と経度、2つだけの構成要素を説明しており、Rは無視され、その結果、地球の中心から来るありません。

テキストが硬すぎる食べた場合、あなたは見ることができます:

1.4。楕円と地理座標系

1.2は、式は二つのパラメータaとbを持っていることを楕円体。

地球の楕円形状である1.1は、表面が楕円です。

したがって、地球の説明は、通常、2つのパラメータのみをすることができ、私たちの次の定義を取ります。

これは、赤道の半径、楕円の、すなわち、半長軸の長さとして定義されます。

Bは、極半径、長楕円形の、すなわち、半短軸と定義されます。

任意の点まで赤道から地心赤道半径(楕円球の中心)、任意の距離の極に接地電極半径(楕円焦点)の中心。

また、フラットレート及びこれら二つの概念の偏心を延長することができる2つのパラメータがあります。定額料金がありますが、2つの偏心があります。次のように式が定義されています。

 

 

EおよびE「は第一及び第二の偏心偏心しています。

楕円体で、我々は地球の形状を有しています。実際には、地理座標系(GCS)の定義は、楕円体のほとんどは、これらの2つのパラメータは、地理座標系で定義され、どのようにそれを定義することですか?

それまでの式:

GCS = F(楕円)

楕円球の中心fは地球の実際の中心に対してオフセットされています。なぜオフセットのですか?次のセクションでは、説明を参照してください。

1.5。参照心地理座標系と地心地理座標系

根据1.4,我们知道地理坐标系统是定义在一个数学椭球面上的,具体方程已经给出。

但是还有一个小问题:偏移。

虽然椭球面方程“决定”了地球的形状,但是原点的位置却没有指定。按理说,是统一使用地心才对的,还是处于“懒”,为了方便计算,会直接使用椭球的球心当原点。

事实上,如果地心≠椭球心,椭球面就会比较靠近某个地区,这当然是认为的,这种“靠近”就便于某个国家或地区的计算,因为一旦靠近,很多地方的位置偏差就很小。

我们说,

地心地理坐标系统:椭球的球心=地球的质心

参心地理坐标系统:椭球的球心≠地球的质心

当今为了全球计量需要,有两个我们熟知的地心地理坐标系:WGS84和CGCS2000。

也就是说,北京54和西安80实际上是两个参心坐标系,它们的椭球体分别是克拉索夫斯基1940椭球体和IUGG1975椭球体。

1.6. WKT举例

还是老话,WKT的文章太多了,不再赘述,只摘取一些比较简单的属性讲解。

①WGS84

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

GEOGCS定义了一个地理坐标系统,内部第一个属性是字符串"WGS 84"是这个地理坐标系的名字。

然后,这个地理坐标系统有基准面"DATUM",基准面下的"SPHEROID"是椭球体的意思,椭球体下的第二个、第三个属性是长半轴长和扁率的倒数。

最后AUTHORITY属性是这个地理坐标系的WKID信息,是4326.

②CGCS2000

GEOGCS["China Geodetic Coordinate System 2000",
    DATUM["China_2000",
        SPHEROID["CGCS2000",6378137,298.257222101,
            AUTHORITY["EPSG","1024"]],
        AUTHORITY["EPSG","1043"]],
    PRIMEM["Greenwich",0,
        AUTHORITY["EPSG","8901"]],
    UNIT["degree",0.0174532925199433,
        AUTHORITY["EPSG","9122"]],
    AUTHORITY["EPSG","4490"]]

和WGS84类似,不讲了。

1.7. 常见地理坐标系具体信息

这里不得不说的是,国家2000和WGS84几乎可以兼容,但是得先确定拿到的是真的国家2000的经纬度哦。

轶闻:其实还有一个新北京54坐标系的,WKID是4555,有兴趣的朋友可以查查这个坐标系的历史。

2. 投影坐标系统定义

2.1. 详细定义公式

PCS|x = f1(GCS|经纬度)

PCS|y = f2(GCS|经纬度)

简单解释一下:投影坐标系统的x坐标和y坐标分别由两个计算法则f1和f2计算,需要的参数有经度、纬度、椭球的参数。

2.2. 正算公式与反算公式

根据2.1,查阅资料,以4326做3857投影为例,以及CGCS2000做高斯克吕格投影为例。

不附代码。

① 网络墨卡托投影坐标系统

此处设网络墨卡托的地理坐标系统基于正球体,半径为R,点P的经纬度均为弧度十进制数:

 

 

x=R×弧度十进制经度

y=R×ln(tan(π/4 + 弧度十进制纬度/2))

此时,反算公式比较容易推导,不讲了。

② 高斯克吕格基于国家2000投影坐标系统

预备参数

椭球长半轴a;椭球扁率f;椭球短半轴b;椭球的第一第二偏心率e1、e2。

必备参数

经度J,纬度W

=====

第一步,计算辅助量R、t、η、p、X、dL

子午圈(就是所在投影带的中央经线圈)半径R

 

 

t=tanB

 

 

p=180*3600/π

(子午线弧长)

 

 

dL=B-中央经线度数

 第二步,计算辅助常量a0、a2、a4、a6、a8和m0、m2、m4、m6、m8:

 

 

 

 

 

 第三步,计算xy坐标:

 

 

 

 

 

反算公式即从x、y坐标算经纬度坐标。

此处不做展开,有兴趣的朋友可以参考下方的参考文档。 

2.3. 投影带问题

①换带操作

在arcgis中操作,其实只需要重投影即可。

一种方法是使用“投影”工具,将投影坐标系统的数据重新投影到它原本的地理坐标系统上,然后再用一次“投影”工具将地理坐标系统的数据再次投影到目标坐标系统上,完成换带。

另一种方法是直接用“投影”工具,将投影坐标系统的数据投影到目标PCS上即可。

具体操作见第4节。

②高斯克吕格投影坐标的判断

附一个坐标判断例子:

(41569821,4590855),已知在中国境内,已知地理坐标是国家2000.

横坐标是八位数,那么前两位一定是带号,41度带,那么就不可能是六度带,结果是三度带的高斯克吕格投影坐标系统,WKID是4529.

2.4. WKT举例

①网络墨卡托

PROJCS["WGS 84 / Pseudo-Mercator",
    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["Mercator_1SP"],
    PARAMETER["central_meridian",0],
    PARAMETER["scale_factor",1],
    PARAMETER["false_easting",0],
    PARAMETER["false_northing",0],
    UNIT["metre",1,
        AUTHORITY["EPSG","9001"]],
    AXIS["X",EAST],
    AXIS["Y",NORTH],
    EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext  +no_defs"],
    AUTHORITY["EPSG","3857"]]

最外层是PROJCS,即投影坐标系统。

第一个属性"WGS 84 / Pseudo-Mercator"是这个坐标系的名称。

第二个属性GEOCS是这个投影坐标系统的地理坐标系统,详见上文。

第三个属性PROJCTION是投影方法"Mercator_1SP"。

第四~七个属性是其他属性,顺序下来是中央经线经度、比例因子、假东、假北。

第八个属性是单,第九个、第十个属性分别指示X和Y的方向是东和北。

第11个属性是此投影坐标系统在PROJ4中的定义。

第12个属性是此投影坐标系统在EPSG中的WKID。

②国家2000的高斯投影

以WKID=4547为例:

PROJCS["CGCS2000 / 3-degree Gauss-Kruger CM 114E",
    GEOGCS["China Geodetic Coordinate System 2000",
        DATUM["China_2000",
            SPHEROID["CGCS2000",6378137,298.257222101,
                AUTHORITY["EPSG","1024"]],
            AUTHORITY["EPSG","1043"]],
        PRIMEM["Greenwich",0,
            AUTHORITY["EPSG","8901"]],
        UNIT["degree",0.0174532925199433,
            AUTHORITY["EPSG","9122"]],
        AUTHORITY["EPSG","4490"]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",0],
    PARAMETER["central_meridian",114],
    PARAMETER["scale_factor",1],
    PARAMETER["false_easting",500000],
    PARAMETER["false_northing",0],
    UNIT["metre",1,
        AUTHORITY["EPSG","9001"]],
    AUTHORITY["EPSG","4547"]]

最外层是PROJCS,即投影坐标系统。

第一个属性"CGCS2000 / 3-degree Gauss-Kruger CM 114E"是这个坐标系的名称。

第二个属性GEOCS是这个投影坐标系统的地理坐标系统,详见上文。

第三个属性PROJCTION是投影方法"Transverse_Mercator",横轴墨卡托的意思。

第四~八个属性是其他属性,顺序下来是起始经线经度、中央经线经度、比例因子、假东、假北。

第九个属性是单位。

第十个属性是此投影坐标系统在EPSG中的WKID。

假东是什么意思?因为如果用赤道和中央经线的交点作为原点,投影得到的原始坐标会有负值。

我们记原始坐标为P,则给y坐标(经度方向)加500km后的P'就不会是负值了。

在P'的y坐标值(经线方向)加上带号,例如上图中的红色数字20,就成了带带投影带的坐标。

x方向的坐标一般不变,除非在地方坐标系中有需要,则设置假北(False North)。

2.5. 投影坐标系统的xy和ArcGIS的xy

在测量学的规定中,投影坐标系统上,x方向是指南北方向,y方向则是东西方向;

而在ArcGIS中,x方向则是东西方向,y方向是南北方向,正好颠倒。

所以,获取一份投影坐标系统的数据时,如果是正统的测量数据,那么y值应该在导入ArcGIS时被用于x,x值则用于y。

ps:我一直觉得,x和y只是一个记号,但是人就是那么喜欢用,换ab也可以,用uv也可以,切记:只是个符号,不要把xy的方向绝对化。

3. 高程坐标系统【未写完】

我国的高程坐标系统,了解了解就可以了

一般用的是黄海85

要写一下GPS高度、大地高度、正高、正常高的含义。

4. 坐标系统转换

我们在坐标系统转换的时候,用的图形学变换方法是仿射变换。在三维空间中,进行坐标系统的转换就相当于进行了一次向量空间变换,需要一个转换矩阵。

坐标系统转换的实质就是地理坐标系统的转换。

当然,在书本上,会有投影坐标系统直接转换而不经过地理坐标系统的算法(《地理信息系统概论》黄杏元第三版),但是那个比较难。

4.1. 转换矩阵与n参数【未写完】

引入布尔莎模型等转换模型

4.2. ArcGIS中重投影操作【未写完】

使用“地理转换”工具和“投影”/“投影栅格”工具。

①PCS1转PCS2(不同GCS)

②PCS1转PCS2(相同GCS)

③PCS1回算PCS1.GCS

④GCS1转GCS2

我们发现,需要地理转换的操作,通常就意味着跨地理坐标系统转换,反过来说,跨地理坐标系统的转换就需要一个地理转换定义,也即n参数。

4.3. 前端转换计算之turf.js

turf.js只支持3857和4326的互转。

①使用turf.toWgs84()转换网络墨卡托的xy坐标到经纬度

②使用turf.toMercator()转换经纬度到xy网络墨卡托坐标

4.4. 前端转换计算之openlayers(6.x)

主要功能都在ol/proj模块下,另外在自定义坐标系和转换时会用到第三方库proj4.js,但是不是开发类的博客,不细展开。

①ol/proj.fromLonLat(coordinate, opt_projection)方法

fromLonLat方法将经纬度coordinate转换到目标坐标系opt_projection下,默认值是"EPSG:3857"。

对应方法是ol/proj.toLonLat()。

②ol/proj.get(string)

获取坐标系信息,string是"EPSG:3857"的字符串,必须大写EPSG。

返回一个ol/proj/Projection类型的对象

③ol/proj.addCoordinateTransforms(source, destination, forward, inverse)

添加两个坐标系之间的转换方法,source是待转换坐标系,destination是目标坐标系,二者均以"EPSG:XXXX"的字符串传入。

forward是

④ol/proj.proj4.register(proj4)

让openlayer知道你注册了一个自定义坐标系统。详情请参考proj4.js有关资料。

⑤ol/proj.getTransform(source, destination)

给定待转换坐标系source和目标坐标系destination,返回二者之间的转换方法。

⑥ol/proj.transform(coordinate, source, destination)

将坐标点从source坐标系到destination坐标系转换,source和destination均为"EPSG:xxxx"的字符串,EPSG大写。

4.5. 前端转换计算之cesium【未写完】

cesium只支持4326和3857的互相转换。常用的类有如下几个:

①Cesium.MapProjection类

②Cesium.GeographicProjection(ellipsoid)类

Cesium.WebMercatorProjection(ellipsoid)类

Cesium.Cartographic(longitude, latitude, height)类

Cesium.Cartesian3(x, y, z)类

4.6. *硬改数据坐标系的定义

在gis软件中为数据重新定义一个坐标系,这有可能出现极大问题。通常不推荐做这种非精确的转换。

実際、同様の問題に直面している、それは多くの場合、一部の人々は座標が、時々、データのハードライン編集がベールのような位置に移動させることができたか正確に気にしないです。

実際には、精度(大きなグループレベルに、例えば、都市の領域、または都市)高くなく、直接、時には、データの座標系ではなく、正確な地理的変換により、変換計算を座標の定義を変更しますそのような大規模の下に何も表示されませんでした。

特に、2000年の変化や国民WGS84座標系 - 確かにこれらの二つの座標系が非常に近いので。何?あなたは、変更または重大な逸脱にそれは難しい私に言いましたか?

あなたは本当にかなりGCJ02とBD09いわゆる何よりも、座標2000全国を得たかどうかについてどう思いますか。

 

隋Suinian

そして再書かれた3つのブログすることができ、これは2019年の終わりの前に座標系を、遅くまで起きて、成就コミットメントを所有することが考えられます。

私は、GISの専門家として、システムは、測量や地図作成の結果を使用することができなってきた座標、より厳格な定義と変換があり、測地職業上のより微妙な計算がある知っているが、。

私は私の読者は、この時点で、次の給油を理解することを願っています。

 

参考資料

[1]はガウス逆計算式:https://wenku.baidu.com/view/5776611cd4d8d15abf234e14.html

[2]情報工学大学PPT:https://wenku.baidu.com/view/88fb6e0d84868762cbaed50d.html

おすすめ

転載: www.cnblogs.com/onsummer/p/12082454.html