2016-10-04 9 views
1

gmlファイルから投影を取得しようとしています。これは、ファイルの先頭である:gmlファイルから投影を取得するには

from osgeo import ogr, osr 
driver = ogr.GetDriverByName('ESRI Shapefile') 
dataset = driver.Open(r'c:\data\yourshpfile.shp') 

# from Layer 
layer = dataset.GetLayer() 
spatialRef = layer.GetSpatialRef() 
# from Geometry 
feature = layer.GetNextFeature() 
geom = feature.GetGeometryRef() 
spatialRef = geom.GetSpatialReference() 

しかしspatialRefの両方のバージョンは、[None](なし):

<?xml version="1.0" encoding="UTF-8"?> <eop:Mask xmlns:eop="http://www.opengis.net/eop/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml/3.2" gml:id="S2A_OPER_MSK_CLOUDS_SGS__20160914T145755_A006426_T31UCT_B00_MSIL1C"> <gml:name>MSK_CLOUDS pixels mask from data-strip S2A_OPER_MSK_CLOUDS_SGS__20160914T145755_A006426_T31UCT_B00_MSIL1C</gml:name> <gml:boundedBy> 
    <gml:Envelope srsName="urn:ogc:def:crs:EPSG:8.7:32631"> 
     <gml:lowerCorner>300000 5690220</gml:lowerCorner> 
     <gml:upperCorner>368340 5777580</gml:upperCorner> 
    </gml:Envelope> </gml:boundedBy> <eop:maskMembers> 
    <eop:MaskFeature gml:id="OPAQUE.0"> 
     <eop:maskType codeSpace="urn:gs2:S2PDGS:maskType">OPAQUE</eop:maskType> 
     <eop:extentOf> 
     <gml:Polygon gml:id="OPAQUE.0_Polygon"> 
      <gml:exterior> 
      <gml:LinearRing> 
       <gml:posList srsDimension="2">320340 5776020 320520 5776020 320520 5775960 320700 5775960 320700 5775900 320760 5775900 320760 5775840 320820 5775840 320820 5775660 320760 5775660 320760 5775600 320700 5775600 320700 5775540 320340 5775540 320340 5775600 320280 5775600 320280 5775660 320220 5775660 320220 5775900 320280 5775900 320280 5775960 320340 5775960 320340 5776020</gml:posList> 
      </gml:LinearRing> 
      </gml:exterior> 
     </gml:Polygon> 
     </eop:extentOf> 
    </eop:MaskFeature> 
... 

私はhttps://pcjericks.github.io/py-gdalogr-cookbook/projection.htmlからのコードを使用してみました。

ファイルから、投影がバウンディングボックスに表示されていることがわかります(その最初の行の最後に2行目のEPSGコードのエンベロープがあります)。(それは 'ファイル内のどこにいても「crs」または「EPSG」と言うことができます)。

どのように私は投影情報にアクセスするか教えていただけますか?

どういうわけか、バウンディングボックスに移動して投影を取得できますか?

答えて

0

通常、顆粒によって提供されるJPEG 2000ファイルに投影情報があります。

GDAL使用することがある:* .jp2

gdalinfoはあなたを与える:

PROJCS["WGS 84/UTM zone 21N", 
GEOGCS["WGS 84", 
    DATUM["WGS_1984", 
     SPHEROID["WGS 84",6378137,298.257223563, 
      AUTHORITY["EPSG","7030"]], 
     AUTHORITY["EPSG","6326"]], 
    PRIMEM["Greenwich",0, 
     AUTHORITY["EPSG","8901"]], 
    UNIT["degree",0.0174532925199433, 
     AUTHORITY["EPSG","9122"]], 
    AXIS["Latitude",NORTH], 
    AXIS["Longitude",EAST], 
    AUTHORITY["EPSG","4326"]], 
PROJECTION["Transverse_Mercator"], 
PARAMETER["latitude_of_origin",0], 
PARAMETER["central_meridian",-57], 
PARAMETER["scale_factor",0.9996], 
PARAMETER["false_easting",500000], 
PARAMETER["false_northing",0], 
.... 

ザッツ私は

を持っているすべての
関連する問題