1 |
|
2005-01-28 Jonathan Coles <[email protected]> |
2 |
|
|
3 |
|
* Thuban/Model/layer.py (RasterLayer.__init__): Make use_mask |
4 |
|
default to true. |
5 |
|
|
6 |
|
* Thuban/Model/load.py (SessionLoader.start_rasterlayer): Remove |
7 |
|
code that loads the state of the layer's use_mask flag. Its |
8 |
|
usefulness is still being debated. |
9 |
|
|
10 |
|
* Thuban/Model/save.py (SessionSaver.write_layer): Remove |
11 |
|
code that saves the state of the layer's use_mask flag. Its |
12 |
|
usefulness is still being debated. |
13 |
|
|
14 |
|
* Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): Pass |
15 |
|
options to ProjectRasterFile based on the state of layer.UseMask(). |
16 |
|
Catch more exceptions from ProjectRasterFile so that Thuban doesn't |
17 |
|
quit is there is a problem projecting. |
18 |
|
(BaseRenderer.draw_raster_data): Change the documentation to |
19 |
|
describe the new format (XBM) that the mask data will be in. |
20 |
|
|
21 |
|
* Thuban/UI/renderer.py (MapRenderer.draw_raster_data): The mask |
22 |
|
data is in XBM format when format='RAW' which means it doesn't |
23 |
|
need to be converted to a wxImage before being used as a mask |
24 |
|
for a wxBitmap. Assume that if format != 'RAW' that the image |
25 |
|
data and mask data are in the same format. |
26 |
|
|
27 |
|
* libraries/thuban/gdalwarp.cpp (GetImageData): If alpha is enabled |
28 |
|
and a mask is requested, convert the alpha band to a bit array in |
29 |
|
XBM format. if an alpha channel is requested, simply return the |
30 |
|
data in the alpha band. Provide better error handling by returning |
31 |
|
python error messages (also fixes RT #2947). |
32 |
|
(ProjectRasterFile): Support multiple mask options, rather than simply |
33 |
|
a flag indicating that a mask should or should not be used. Provide |
34 |
|
better error handling by returning python error messages. |
35 |
|
|
36 |
|
* test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection): |
37 |
|
Add mask data to test. |
38 |
|
|
39 |
|
* test/test_layer.py (TestLayer.test_raster_layer): Test that a layer |
40 |
|
should use the mask by default. |
41 |
|
(TestLayerModificaton.test_raster_layer): Test that a layer should use |
42 |
|
the mask by default. |
43 |
|
|
44 |
|
* test/test_load.py (TestRasterLayer.test): Remove testing for |
45 |
|
use_mask flag in file. |
46 |
|
|
47 |
|
* test/test_save.py (SaveSessionTest.testRasterLayer): Remove testing |
48 |
|
for use_mask in file. |
49 |
|
|
50 |
|
* test/test_load_1_0_1.py: Removed. Shouldn't have been checked in. |
51 |
|
|
52 |
|
2005-01-26 Jonathan Coles <[email protected]> |
53 |
|
|
54 |
|
Add a new dialog box for raster layers. The dialog box allows |
55 |
|
the user to toggle a mask that is generated by ProjectRasterFile |
56 |
|
and is used to only draw the real parts of the projected image. |
57 |
|
|
58 |
|
* Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): |
59 |
|
Instruct the warping code to generate a mask if the raster layer |
60 |
|
requests one. |
61 |
|
(BaseRenderer.draw_raster_data): Removed obsolete optional mask argument. |
62 |
|
|
63 |
|
* Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Removed |
64 |
|
obsolete optional mask argument. |
65 |
|
|
66 |
|
* Thuban/UI/classifier.py (Classifier): Change the parent class |
67 |
|
to LayerProperties and rework the code to support layout calls |
68 |
|
from the parent. |
69 |
|
(Classifier.dialog_layout): New. Layout the dialog box. |
70 |
|
(Classifier.map_layers_removed): Removed. Moved to parent class. |
71 |
|
(Classifier.map_replaced): Removed. Moved to parent class. |
72 |
|
(Classifier._OnTry): Renamed to OnTry to support parent class. |
73 |
|
(Classifier.OnClose): Removed. Supplied in parent class. |
74 |
|
(Classifier._OnCloseBtn): Removed. Supplied in parent class as OnCloseBtn. |
75 |
|
(Classifier._OnOK): Renamed to OnOK to support parent class. |
76 |
|
(Classifier._OnRevert): Renamed to OnRevert to support parent class. |
77 |
|
|
78 |
|
* Thuban/UI/layerproperties.py: New. Base class for layer properties |
79 |
|
dialog boxes. |
80 |
|
|
81 |
|
* Thuban/UI/rasterlayerproperties.py: New. Class for displaying |
82 |
|
raster layer properties. |
83 |
|
|
84 |
|
* libraries/thuban/gdalwarp.cpp: Replace the old gdalwarp.cpp code |
85 |
|
with the non-simple version supplied with gdal. This allows added |
86 |
|
features such as creating an alpha band. |
87 |
|
(GetImageData): Generate a mask array from the alpha band that is |
88 |
|
generated by gdal if the user has selected it. Try to support images |
89 |
|
that have more than three bands, such as images with RGB plus an |
90 |
|
alpha band. |
91 |
|
(ProjectRasterFile): Convert python argument for mask and tell |
92 |
|
gdal to enable or disable an alpha band. |
93 |
|
|
94 |
|
* Thuban/Model/layer.py (BaseLayer.Type): New. Returns a string |
95 |
|
describing what kind of layer the class is. Defaults to "Unknown", |
96 |
|
but should be overridden by subclasses. |
97 |
|
(Layer.Type): New. Override base class method. |
98 |
|
(RasterLayer.__init__): Create a flag for using a mask. Record extra |
99 |
|
data from gdal for display in the properties dialog. |
100 |
|
(RasterLayer.Type): New. Override base class method. |
101 |
|
(RasterLayer.UseMask): New. Returns True if the mask should be used. |
102 |
|
(RasterLayer.SetUseMask): New. Set if the mask should be used. |
103 |
|
(RasterLayer.ImageInfo): New. Return extra information about the image. |
104 |
|
|
105 |
|
* Thuban/Model/load.py (SessionLoader.start_rasterlayer): Load |
106 |
|
the mask information. |
107 |
|
|
108 |
|
* Thuban/Model/save.py (SessionSaver.write_layer): Save mask information. |
109 |
|
|
110 |
|
* Thuban/UI/mainwindow.py: Register the RasterLayerProperties and |
111 |
|
Classifier classes as dialogs to use with the proper layer types. |
112 |
|
|
113 |
|
* test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection): |
114 |
|
Fix test. |
115 |
|
|
116 |
|
* test/test_layer.py (TestLayer.test_raster_layer): Test new methods. |
117 |
|
(TestLayerModification.build_path): New. Support function. |
118 |
|
(TestLayerModification.test_raster_layer): New. Test new methods. |
119 |
|
|
120 |
|
* test/test_save.py (SaveSessionTest.testRasterLayer): Add tests for mask. |
121 |
|
|
122 |
|
* test/test_load.py (TestRasterLayer): Add tests for mask. |
123 |
|
|
124 |
|
* test/test_load_1_0_1.py: New. Copied from test_load.py. |
125 |
|
|
126 |
|
* test/test_baserenderer.py (SimpleRenderer.draw_raster_data): Removed |
127 |
|
obsolete optional mask argument. |
128 |
|
|
129 |
|
2005-01-26 Nina H�ffmeyer <[email protected]> |
130 |
|
|
131 |
|
* Extensions/ogr/ogrshapes.py: Added two dictionaries to ShapeStore |
132 |
|
which maps the ids and the ordinals. Fixed RowIdToOrdinal(), |
133 |
|
RowOrdinalToId() and ReadRowAsDict(). |
134 |
|
|
135 |
|
* Extensions/ogr/ogrstart.py: Added menu item which opens database |
136 |
|
layers for existing database connections. |
137 |
|
|
138 |
|
* Extensions/ogr/test/test_OGRShapestore.py: Fixed a message string. |
139 |
|
|
140 |
|
|
141 |
2005-01-26 Jan-Oliver Wagner <[email protected]> |
2005-01-26 Jan-Oliver Wagner <[email protected]> |
142 |
|
|
143 |
* Doc/manual/thuban-manual-de.xml: More translations. |
* Doc/manual/thuban-manual-de.xml: More translations. |