【问题标题】:GDAL doesnt recognize bipolar conic western hemisphere projectionGDAL 不识别双极圆锥西半球投影
【发布时间】:2018-04-11 16:34:09
【问题描述】:

我在使用特定投影时遇到问题。 proj4 中似乎支持它(http://proj4.org/usage/operations/projections/bipc.html)但是当我在 gdal 中使用它时,它就好像它不存在:

gdalsrs信息:

gdalsrsinfo -o proj4 "+proj=bipc +ns"

产量

failed to load SRS definition

gdalwarp:

gdalwarp -overwrite -s_srs EPSG:4326 -t_srs "+proj=bipc +ns" -of GTiff in.tiff out.tiff

产量

ERROR 1: Translating source or target SRS failed: +proj=bipc +ns

另外,运行proj -lp 会列出它bipc : Bipolar conic of western hemisphere

这些命令对我来说适用于更常见的(重新)投影,我已经在 GDAL 1.11.5 和 2.2.2 上尝试过。

为什么这个投影不起作用/我如何识别它?

【问题讨论】:

    标签: gdal map-projections


    【解决方案1】:

    GDAL 不支持所有投影。你可以用 Python 列出这些:

    #!/usr/bin/env python
    from osgeo import osr
    from subprocess import Popen, PIPE
    
    osr.UseExceptions()
    
    # Get the list of PROJ.4 projections
    proj = {}
    p = Popen(['proj', '-lp'], stdout=PIPE)
    for line in p.communicate()[0].split('\n'):
        if ':' in line:
            a, b = line.split(':')
            proj[a.strip()] = b.strip()
    
    # Brute force method of testing GDAL's OSR module
    supported = set()
    not_supported = set()
    for k in proj.keys():
        sr = osr.SpatialReference()
        try:
            _ = sr.ImportFromProj4('+proj=' + k)
            supported.add(k)
        except RuntimeError as e:
            not_supported.add(k)
    
    print('{0} total projections, {1} supported, {2} not supported'
          .format(len(proj), len(supported), len(not_supported)))
    print('Supported: ' + ', '.join(sorted(supported)))
    print('Not supported: ' + ', '.join(sorted(not_supported)))
    

    134 个总预测,47 个支持,87 个不支持

    支持:aea、aeqd、bonne、cass、cea、eck1、eck2、eck3、eck4、eck5、eck6、eqc、eqdc、etmerc、gal、geos、gnom、goode、gstmerc、igh、krovak、laea、lcc , merc, mill, moll, nzmg, omerc, ortho, poly, qsc, robin, sinus, somerc, stere, sterea, tmerc, tpeqd, utm, vandg, wag1, wag2, wag3, wag4, wag5, wag6, wag7

    不支持:airy、aitoff、alsk、apian、august、bacon、bipc、boggs、calcofi、cc、chamb、collg、crast、denoy、euler、fahey、fouc、fouc_s、gins8、gn_sinu、gs48、gs50、锤子,hatano,healpix,imw_p,isea,kav5,kav7,labrd,lagrng,larr,lask,latlon,lcca,leac,lee_os,lonlat,loxim,lsat,mbt_fps,mbt_s,mbtfpp,mbtfpq,mbtfps,mil_os,murd1, murd2, murd3, natearth, nell, nell_h, nicol, nsper, ob_tran, ocea, oea, ortel, pconic, putp1, putp2, putp3, putp3p, putp4p, putp5, putp5p, putp6, putp6p, qua_aut, rhealpix, rouss, rpoly, tcc, tcea, 天梭, tpers, ups, urm5, urmfps, vandg2, vandg3, vandg4, vitk1, weren, wink1, wink2, wintri

    【讨论】:

    • 很好的答案,谢谢。你会认为 GDAL 会有一个原生函数来列出它支持的内容(编辑:即在命令行工具中)
    • @BrianJacobs 好问题,可能有本地功能可以从 GDAL 访问受支持的投影,我会留意这一点。
    猜你喜欢
    • 2011-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 2015-07-29
    • 1970-01-01
    • 2016-06-22
    相关资源
    最近更新 更多