Metashape内部有非常丰富的坐标系类别,而我们在生产生活中得到的照片数据一般都是WGS-84坐标系,偶尔会有CGCS2000,但是在某些项目中我们需要将成果输出到其它坐标系下。另外,在某些自动化脚本编写中也涉及到坐标系的转换,如果搞不清楚的话真的是相当头大。
Metashape python API文档中其实已经对坐标系的转换做了明确的规定,但是demo太少,对新手很不友好。
下面将一对WGS-84("EPSG::4326")下的大地坐标转换到WGS-84(EPSG::32650)坐标系下:
import Metashape #导入Metashape模块
chunk=Metashape.app.document.chunk
#实例化WGS-84大地坐标系
EPSG_4326=Metashape.CoordinateSystem("EPSG::4326")
#实例化WGS-84 UTM Zone 50N坐标系
EPSG_32650=Metashape.CoordinateSystem("EPSG::32650")
#定义一组坐标
coord1=Metashape.Vector((114.22104946,39.82173946,1105.95))
#转换
coord2=Metashape.CoordinateSystem.transform(coord1,EPSG_4326,EPSG_32650)
print(coord2)
其运行效果如图所示:
可见关键就在Metashape.CoordinateSystem这个类,里面有折非常丰富的坐标系统可以选择,大家可以点击reference setting中的more选项搜索自己需要的坐标系。