Even,

I've tested a couple of Geospatial PDFs with the code that's in GDAL trunk.

The Canadian topos work well (e.g. ftp://ftp2.cits.rncan.gc.ca/pub/cantopo/50k_geopdf/085/b/cantopo_085b14_geopdf.zip). They were produced using ESRI ArcMap 9.2.6.1500. I get a properly geo-referenced GeoTiff after running gdal_translate.

I have another PDF produced by ArcMap10.0.0.2414. It has a main map and a keymap. The strange thing is that even though the coordinate system is UTM Zone 35 , it has a transformation matrix with geographic coordinates given. Here's a portion of the "dump" file:

 Item[4] : VP
  Type = array
   Item[0]:
    Type = dictionary
     Item[0] : Name = ÿþI (string)
     Item[1] : Measure
      Type = dictionary
       Item[0] : Subtype = GEO (name)
       Item[1] : LPTS
        Type = array
         Item[0]: 0 (int)
         Item[1]: 1 (int)
         Item[2]: 0 (int)
         Item[3]: 0 (int)
         Item[4]: 1 (int)
         Item[5]: 0 (int)
         Item[6]: 1 (int)
         Item[7]: 1 (int)
       Item[2] : GPTS
        Type = array
         Item[0]: 38.815000 (real)
         Item[1]: 23.644900 (real)
         Item[2]: 43.662600 (real)
         Item[3]: 23.387000 (real)
         Item[4]: 43.615000 (real)
         Item[5]: 31.889000 (real)
         Item[6]: 38.774900 (real)
         Item[7]: 31.540700 (real)
       Item[3] : GCS
        Type = dictionary
Item[0] : WKT = PROJCS["WGS_1984_UTM_Zone_35N",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",27.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]] (string)
         Item[1] : Type = PROJCS (name)
       Item[4] : Type = Measure (name)
       Item[5] : Bounds
        Type = array
         Item[0]: 0 (int)
         Item[1]: 1 (int)
         Item[2]: 0 (int)
         Item[3]: 0 (int)
         Item[4]: 1 (int)
         Item[5]: 0 (int)
         Item[6]: 1 (int)
         Item[7]: 1 (int)
     Item[2] : Type = Viewport (name)
     Item[3] : BBox
      Type = array
       Item[0]: 3168 (int)
       Item[1]: 2433 (int)
       Item[2]: 3557 (int)
       Item[3]: 2127 (int)
   Item[1]:
    Type = dictionary
     Item[0] : Name = ÿþA (string)
     Item[1] : Measure
      Type = dictionary
       Item[0] : Subtype = GEO (name)
       Item[1] : LPTS
        Type = array
         Item[0]: 0 (int)
         Item[1]: 1 (int)
         Item[2]: 0 (int)
         Item[3]: 0 (int)
         Item[4]: 1 (int)
         Item[5]: 0 (int)
         Item[6]: 1 (int)
         Item[7]: 1 (int)
       Item[2] : GPTS
        Type = array
         Item[0]: 40.190600 (real)
         Item[1]: 26.279300 (real)
         Item[2]: 40.767200 (real)
         Item[3]: 26.273100 (real)
         Item[4]: 40.769300 (real)
         Item[5]: 27.212000 (real)
         Item[6]: 40.192600 (real)
         Item[7]: 27.210200 (real)
       Item[3] : GCS
        Type = dictionary
Item[0] : WKT = PROJCS["WGS_1984_UTM_Zone_35N",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",27.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]] (string)
         Item[1] : Type = PROJCS (name)
       Item[4] : Type = Measure (name)
       Item[5] : Bounds
        Type = array
         Item[0]: 0 (int)
         Item[1]: 1 (int)
         Item[2]: 0 (int)
         Item[3]: 0 (int)
         Item[4]: 1 (int)
         Item[5]: 0 (int)
         Item[6]: 1 (int)
         Item[7]: 1 (int)
     Item[2] : Type = Viewport (name)
     Item[3] : BBox
      Type = array
       Item[0]: 57 (int)
       Item[1]: 2465 (int)
       Item[2]: 3052 (int)
       Item[3]: 46 (int)

------------------------

The resulting GeoTiff has a scaling problem, I suspect related to the transformation matrix.

Any thoughts on that?

Thanks!
Brent Fraser


_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to