1

(x,y,z) 座標を複合 CRS から別の座標に変換しようとしています。この例をオンラインで見つけましたが、うまくいきます。

import pyproj

cmpd_crs = pyproj.crs.CompoundCRS(name="WGS 84 + EGM96 height", components=["EPSG:4326", "EPSG:5773"])
trans = pyproj.Transformer.from_crs(cmpd_crs, "EPSG:4979") # epsg 4979 is Geographic 3D CRS 
trans.transform(45, -122, 10)

これは報告します

(45.0, -122.0, -10.386833190917969)

しかし、EPSG コードを使用して複合 CRS 間で他の変換を実行しようとすると、うまくいきません。例えば:

import pyproj

c1 = pyproj.crs.CompoundCRS(name="NAD83+cgvd28",components=["EPSG:4617","EPSG:5713"])
c2 = pyproj.crs.CompoundCRS(name="NAD83+cgvd2013",components=["EPSG:4617","EPSG:6647"])

transformer = pyproj.Transformer.from_crs(c1,c2)
transformer.transform(45, -122, 10)

これは報告します(変更なし)

(45.0, -122.0, 10.0)

import pyproj

c1 = pyproj.crs.CompoundCRS(name="WGS84 + EGM96", components=["EPSG:4326", "EPSG:5773"])
c2 = pyproj.crs.CompoundCRS(name="NAD83+cgvd2013",components=["EPSG:4617","EPSG:6647"])

transformer = pyproj.Transformer.from_crs(c1,c2)
transformer.transform(45, -122, 10)

これは報告します(変更なし)

(45.0, -122.0, 10.0)

また

import pyproj

c1 = pyproj.crs.CompoundCRS(name="NAD83+cgvd28",components=["EPSG:4617","EPSG:5713"])

transformer = pyproj.Transformer.from_crs(c1,"EPSG:6649")
transformer.transform(45, -122, 10)

これは報告します(まだ変更はありません)

(45.0, -122.0, 10.0)

洞察はありますか?どうもありがとう!!

4

0 に答える 0