-
Notifications
You must be signed in to change notification settings - Fork 24
Expand file tree
/
Copy pathgeotiff.py
More file actions
32 lines (24 loc) · 922 Bytes
/
geotiff.py
File metadata and controls
32 lines (24 loc) · 922 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from geoscript.layer.raster import Raster
from org.geotools.gce.geotiff import GeoTiffFormat, GeoTiffWriter
from geoscript import util
class GeoTIFF(Raster):
def __init__(self, file, proj=None):
Raster.__init__(self, GeoTiffFormat(), file, proj)
def getpixelsize(self):
md = self._reader.getMetadata()
if md.hasPixelScales():
ps = md.getModelPixelScales()
return tuple(ps.getValues())
return Raster.getpixelsize(self)
pixelsize = property(getpixelsize, None)
def dump(self):
from org.geotools.coverage.grid.io.imageio import IIOMetadataDumper
md = self._reader.getMetadata()
dump = IIOMetadataDumper(md.rootNode).getMetadata().split('\n')
for s in dump:
print s
@staticmethod
def save(raster, filename):
writer = GeoTiffWriter(util.toFile(filename));
writer.write(raster._coverage.geophysics(False), None)
writer.dispose()