zoukankan      html  css  js  c++  java
  • GDAl中定义了较为完备的坐标系统

    GDAL作为开源GIS底层空间数据的访问库,在开源GIS领域扮演着极重要的角色,在开源世界一个开源项目基于其它开源项目建立的事实面前,它实际有点开源GIS的基石的感觉。其对多种影像格式的出色支持,使其也被应用在很多的著名软件中,像Google Earth的底层在访问遥感影像时就使用了它、甚至ESRI的有些产品再访问多种数据格式影像时也用到了GDAL。DAL将OGR库纳入后,其对简单矢量数据的支持也很不错。

    这些天需要搞投影转化,希望搞一个比较通用的能对多种投影方式都能适用,为了软件的可靠性又不希望从最底层的公式开始编写,于是就查阅了Proj4的文档。

    一番折腾后发现Proj4尽管编程接口很简单,但是其定义坐标系时用的参数全是带格式的长字符串,这样写一两个程序作固定的坐标系统之间转换倒还方便,但是要做成类似于FME那样能在多种源和目标坐标系统之间自由选择就会比较麻烦,对于一些参数需要变化的投影就还要再包装一层来逐个设置参数。更为头疼的是接着发现Proj4的Nad文件夹下定义的投影中(epsg文件)没有关于Beijing54,Xian80的投影都没有datum选项,郁闷不知道怎么回事情,网上也没找到答案。

    # Beijing_1954_GK_Zone_19N

    <21479> +proj=tmerc +lat_0=0.000000000 +lon_0=111.000000000 +k=1.000000 +x_0=500000.000 +y_0=0.000 +ellps=krass +units=m

    美国的就有(红色)

    # NAD_1927_StatePlane_Alaska_2_FIPS_5002

    <26732> +proj=tmerc +lat_0=54.000000000 +lon_0=-142.000000000 +k=0.999900 +x_0=152400.305 +y_0=0.000 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096

    记得OGR中用到Proj4,所以找出GDAL的源代码包看,果然有。其Data目录下有有一批*.csv,*.dat,*.wkt文件,ellipsoid.csv/gdal_datum.csv/gcs.csv/pcs.csv几个文件就分别定义了椭球体/大地基准/地理坐标系/投影坐标系,并且相当的完备(见识所限,我见过的没见过的都有,呵呵!)wkt就不用说了。看来就选用GDAL了,立即着手调试。

     

  • 相关阅读:
    可能有点用的东西
    专题整理
    模拟赛x+1
    【原】如何利用 events 提升 k8s 集群可观察性
    【原】k8s ingress-nginx 针对指定 User-Agent 爬虫进行限速
    装饰者模式-动态的包装原有对象的行为
    观察者模式-将消息通知给观察者
    策略模式-定义一个算法族
    工厂模式-将对象的创建封装起来
    单例模式的五种实现方式及优缺点
  • 原文地址:https://www.cnblogs.com/flyingfish/p/667744.html
Copyright © 2011-2022 走看看