/[thuban]/branches/WIP-pyshapelib-bramz/ChangeLog
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1655 by bh, Mon Aug 25 16:05:33 2003 UTC revision 1770 by bh, Thu Oct 2 15:15:35 2003 UTC
# Line 1  Line 1 
1    2003-10-02  Bernhard Herzog  <[email protected]>
2    
3            * test/test_layer.py (TestLayer.test_empty_layer): Explicitly
4            close the dbf file we create so that it's contents have been
5            written properly.
6    
7            * libraries/shapelib/shptree.c, libraries/shapelib/shpopen.c,
8            libraries/shapelib/shapefil.h, libraries/shapelib/dbfopen.c:
9            Update to shapelib 1.2.10
10    
11    2003-10-01  Jan-Oliver Wagner <[email protected]>
12    
13            * Thuban/UI/tree.py, Thuban/UI/main.py: Remove the #! line as
14            it annoys lintian which warns about these files not being
15            executable. The #! isn't necessary here since if you absolutely
16            must execute them you can always say "python <filename>".
17    
18    2003-09-26  Bernhard Herzog  <[email protected]>
19    
20            * Thuban/Model/classgen.py (GenQuantiles0): Removed since it's
21            only used in GREAT-ER but not used in Thuban itself. When GREAT-ER
22            is ported to a newer the import will fail, so it should be noticed
23            immediately that this function is gone.
24            Fixes RT#1919
25    
26    2003-09-26  Bernhard Herzog  <[email protected]>
27    
28            Add a DTD for the projection files and make thuban write valid
29            projection files
30    
31            * Resources/XML/projfile.dtd: New. DTD for thuban's projection
32            files
33    
34            * Thuban/Model/resource.py (ProjFileSaver.write): Use
35            'projectionlist' as the name in the document type declaration so
36            that it matches the element type of the root element.
37    
38            * test/test_proj.py (sample_projfile, sample_projfile2): Use
39            'projectionlist' as the name in the document type declaration just
40            as it is done now in the files thuban would write
41            (sample_projfile, sample_projfile_data): Fix spelling of
42            "Mercator"
43            (TestProjFile.doTestWrite): Validate the written and the expected
44            XML data
45            (TestProjFile): Derive from ValidationTest so that we can run xml
46            validation tests
47    
48    2003-09-24  Bernhard Herzog  <[email protected]>
49    
50            * Thuban/UI/renderer.py (ExportRenderer.render_legend): Do not
51            modify the list returned by map.Layers() in place since it is the
52            actual list of layers used by the map.
53    
54    2003-09-23  Jan-Oliver Wagner <[email protected]>
55    
56            * Doc/manual/thuban-manual.xml: Added subsection to chapter
57            Extensions to describe the extensions coming with the Thuban
58            standard package (gns2shp and importAPR).
59    
60    2003-09-23  Bernhard Herzog  <[email protected]>
61    
62            * libraries/thuban/wxproj.cpp (project_point): if there's an
63            inverse but no forward projection, convert to degrees after
64            applying the inverse projection. Fixes RT#2096
65    
66            * test/test_wxproj.py: New. Test cases for wxproj.so. One test
67            implicitly tests for the fix to RT#2096
68    
69            * test/support.py (FloatComparisonMixin.assertFloatSeqEqual):
70            Check that the sequences have the same lengths
71    
72            * Resources/Projections/defaults.proj (Geographic projection): Use
73            a much more precise value for the to_meter attribute.
74    
75    2003-09-22  Bernhard Herzog  <[email protected]>
76    
77            * test/support.py (initthuban): Make sure to unset the LANG env.
78            var. so that tests that compare translated strings work. Solves RT
79            #2094
80    
81    2003-09-22  Jan-Oliver Wagner <[email protected]>
82    
83            Small improvement of APR import.
84    
85            * Extensions/importAPR/test/test_apr.py (aprTest.test_LClass):
86            Added tests for text-ranges.
87    
88            * Extensions/importAPR/apr.py (APR_LClass.GetThubanRange): Now
89            returns a string object if the range is based on text.
90    
91            * Extensions/importAPR/importAPR.py (import_apr_dialog): Unified
92            range retrieval.
93    
94    2003-09-22  Jan-Oliver Wagner <[email protected]>
95    
96            Initial version of the importAPR extension which is in
97            experimental state.
98    
99            * /Extensions/importAPR/, /Extensions/importAPR/samples/,
100            /Extensions/importAPR/test/: New directories.
101    
102            * /Extensions/importAPR/samples/README: New: Howto load the samples.
103    
104            * /Extensions/importAPR/samples/iceland.apr: New: A sample APR
105            file which refers to the Thuban Iceland demo data.
106    
107            * /Extensions/importAPR/test/README: New: Howto execute the tests.
108    
109            * /Extensions/importAPR/test/test_apr.py: New: Tests for APR classes.
110    
111            * /Extensions/importAPR/apr.py: New: Classes for ArcView Objects
112            as in '.apr'-files.
113    
114            * /Extensions/importAPR/odb.py: New: Classes for generic ArcView
115            ODB Objects as in '.apr', '.avl' and other files.
116    
117            * /Extensions/importAPR/__init__.py: New: Init to make this
118            directory a package.
119    
120            * /Extensions/importAPR/importAPR.py: New: Import a ArcView
121            project file (.apr) and convert it to Thuban.
122    
123    2003-09-22  Jan-Oliver Wagner <[email protected]>
124    
125            * Extensions/gns2shp.gns2shp.py: The main module of gns2shp.
126    
127    2003-09-19  Jan-Oliver Wagner <[email protected]>
128    
129            * Doc/manual/thuban-manual.xml: Extended section 'Installation'
130            with description on RPM installation and RPM binary package
131            creation.
132    
133    2003-09-18  Bernhard Herzog  <[email protected]>
134    
135            * setup.py (data_files): Only add the mo files if the Locales
136            directory actually exists, so that setup.py works with a fresh CVS
137            checkout
138    
139    2003-09-12  Jan-Oliver Wagner <[email protected]>
140    
141            * Examples/simple_extensions/simple_tool.py: bugfix: Tool is now
142            in viewport, not anymore in view
143    
144    2003-09-04  Jan-Oliver Wagner <[email protected]>
145    
146            Introducing first Extension (gns2shp).
147    
148            * Extensions, Extensions/gns2shp, Extensions/gns2shp/test: New.
149    
150            * Extensions/__init__.py: New. init to make this dir a package.
151    
152            * Extensions/gns2shp/__init__.py: New. init to make this dir a package.
153    
154            * Extensions/gns2shp/test/README: New. some info on this test directory.
155    
156            * Extensions/gns2shp/test/ls.txt: New. test data set (Liechtenstein).
157    
158            * Extensions/gns2shp/test/test_gns2shp.py: New. Test for correct creation
159            of Shapefile from GNS text file format
160    
161    2003-09-03  Jan-Oliver Wagner <[email protected]>
162    
163            Fix/workaround for bug #2019:
164            https://intevation.de/rt/webrt?serial_num=2019
165    
166            * Thuban/UI/identifyview.py (IdentifyView.ID_STOP): New.
167            (IdentifyView.__init__): Added another button that allows to
168            stop the identify mode.
169            (IdentifyView.OnStop): New. Stops the identify mode.
170    
171    2003-09-03  Jan-Oliver Wagner <[email protected]>
172    
173            Introducing a new exception dialog that allows to exit the
174            application immediately.
175            This fixes bug #2060: https://intevation.de/rt/webrt?serial_num=2060
176    
177            * Thuban/UI/exceptiondialog.py: New. A special exception dialog.
178    
179            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
180            Made strings available to translations. Exchanged the simple
181            ScrolledMessageDialog by the new ExceptionDialog.
182    
183    2003-09-01  Bernhard Herzog  <[email protected]>
184    
185            * NEWS: New. Summary of changes and release notes.
186    
187            * MANIFEST.in: Add NEWS
188    
189    2003-09-01  Bernhard Herzog  <[email protected]>
190    
191            * MANIFEST.in: Correct the include statement for the mo-files and
192            include the documentation too.
193    
194            * setup.py (data_files): Add the .mo files
195            (setup call): Up to version 0.9.0
196    
197    2003-09-01  Bernhard Herzog  <[email protected]>
198    
199            * Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Change the
200            parameter list to just parent and session
201            (ChooseDBTableDialog.__set_properties): Removed. Setting the
202            selection of empty list boxes is not allowed (and produces C++
203            assertion errors) and the rest of the setup is better done in
204            __init__ anyway.
205            (ChooseDBTableDialog.OnCancel, ChooseDBTableDialog.OnOK)
206            (ChooseDBTableDialog.OnLBDClick, DBDialog.OnOK): Use the Python
207            builtins True/False for booleans to avoid warnings from wxPython
208    
209            * Thuban/UI/mainwindow.py (MainWindow.AddDBLayer): Adapt to new
210            ChooseDBTableDialog constructor parameters.
211    
212    2003-09-01  Bernhard Herzog  <[email protected]>
213    
214            * Thuban/Model/postgisdb.py
215            (PostGISTable): Extend doc-string
216            (PostGISTable._fetch_table_information): Set the column index
217            correctly, pretending ignored columns don't exist.
218    
219            * test/test_postgis_db.py (TestPostGISIgnoredColumns): New tests
220            for postgis tables with data types not yet supported by thuban.
221    
222    2003-08-29  Bernhard Herzog  <[email protected]>
223    
224            * HOWTO-Release: Tweak item about running the tests.
225    
226    2003-08-29  Jan-Oliver Wagner <[email protected]>
227    
228            * /Doc/manual/thuban-manual.xml: updated to version 1.0pre2.
229    
230    2003-08-29  Bernhard Herzog  <[email protected]>
231    
232            Add some missing parameters to projections. Proj complains about
233            them on windows but for some reason not on Linux.
234    
235            * test/test_save.py (SaveSessionTest.testLayerProjection): Add
236            missing required projection parameters
237    
238            * test/test_proj.py (TestProjFile.test): Add missing required
239            projection parameters
240    
241            * test/test_load_0_8.py (TestLayerProjection.file_contents)
242            (TestLayerProjection.test): Add missing required projection
243            parameters and tests for them
244    
245            * test/test_load.py (TestLayerProjection.file_contents)
246            (TestLayerProjection.test): Add missing required projection
247            parameters and tests for them
248    
249            * test/test_layer.py (TestLayer.test_base_layer): Add missing
250            required projection parameters
251    
252    2003-08-29  Bernhard Herzog  <[email protected]>
253    
254            * libraries/pyprojection/Projection.i: Use pj_get_errno_ref to
255            access the pj_errno because directly accessing pj_errno doesn't
256            work on windows if the proj library is in a DLL
257    
258            * libraries/pyprojection/Projection_wrap.c: Update from Projection.i
259    
260    2003-08-28  Bernhard Herzog  <[email protected]>
261    
262            * test/test_proj.py: Import things from Thuban after calling
263            initthuban
264    
265            * test/test_load.py (LoadSessionTest.filenames): New class
266            variable with the filename attributes to normalize
267            (LoadSessionTest.check_format): Pass self.filenames to
268            sax_eventlist to normalize the filename attributes
269    
270            * test/xmlsupport.py: Add cvs keywords
271            (SaxEventLister.__init__): New parameter filenames which indicates
272            attributes that contain filenames
273            (SaxEventLister.startElementNS): Normalize the filename attributes
274            with os.path.normpath
275            (sax_eventlist): New parameter filenames to pass through to
276            SaxEventLister
277    
278            * test/test_derivedshapestore.py: Make this file callable as a
279            program to execute the tests
280            (TestDerivedShapeStoreExceptions.test_table_with_wrong_size): Bind
281            the session to self.session so that it gets destroyed properly
282    
283            * test/test_layer.py (TestLayer.tearDown): Call the session's
284            Destroy method
285    
286            * test/test_map.py (TestMapBase.tearDown): Destroy self.session
287            too if it exists
288            (TestMapAddLayer.test_add_layer): Bind the session to self.session
289            so that it gets destroyed properly
290    
291            * test/postgissupport.py (reason_for_not_running_tests): Add a
292            test for the existence of popen2.Popen4.
293    
294            * test/test_save.py (SaveSessionTest.tearDown): New. Provide a
295            reliable way to destroy the sessions created in the test cases
296            (SaveSessionTest.test_dbf_table): Bind the session to self.session
297            so that it gets destroyed properly
298            (SaveSessionTest.testLayerProjection): Bind the session to
299            self.session so that it gets destroyed properly
300    
301            * test/test_session.py (UnreferencedTablesTests.tearDown): Make
302            sure that the session is destroyed properly
303    
304            * test/test_shapefilestore.py: Make this callable as a program to
305            execute the tests
306    
307            * test/test_scalebar.py: Remove unnecessary import of _ from
308            Thuban
309    
310            * test/support.py (print_garbage_information): Call initthuban
311            here because it may be called indirectly from test cases that test
312            test support modules which do not use anything from thuban itself
313            (ThubanTestProgram.runTests): Remove unnecessary debug print
314    
315    2003-08-28  Bernhard Herzog  <[email protected]>
316    
317            * Thuban/version.py (longversion): Update to 0.9
318    
319            * Thuban/UI/mainwindow.py: Remove some unused imports
320    
321            * README: Add section about required additional software. Add date
322            and revision CVS keywords
323    
324            * HOWTO-Release: Add item about the translations. Add date and
325            revision CVs keywords and change formatting to match README a bit
326            better
327    
328            * po/de.po: Update for 0.9
329    
330            * test/README: Tweak the wording a little because many tests are
331            not really unittest.
332    
333    2003-08-27  Bernhard Herzog  <[email protected]>
334    
335            As preparation for the 0.9 release, switch thuban files to a
336            non-dev namespace
337    
338            * Thuban/Model/save.py (SessionSaver.write_session): Write files
339            with the http://thuban.intevation.org/dtds/thuban-0.9.dtd
340            namespace
341    
342            * Thuban/Model/load.py (SessionLoader.__init__): Accept the
343            http://thuban.intevation.org/dtds/thuban-0.9.dtd namespace too
344    
345            * test/test_save.py (SaveSessionTest.dtd)
346            (SaveSessionTest.testEmptySession)
347            (SaveSessionTest.testSingleLayer)
348            (SaveSessionTest.testLayerProjection)
349            (SaveSessionTest.testRasterLayer)
350            (SaveSessionTest.testClassifiedLayer)
351            (SaveSessionTest.test_dbf_table)
352            (SaveSessionTest.test_joined_table)
353            (SaveSessionTest.test_save_postgis): Update for new namespace
354    
355            * test/test_load.py (LoadSessionTest.dtd, TestSingleLayer)
356            (TestLayerVisibility.file_contents, TestLabels.file_contents)
357            (TestLayerProjection.file_contents)
358            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
359            (TestPostGISLayer.file_contents)
360            (TestPostGISLayerPassword.file_contents)
361            (TestLoadError.file_contents, TestLoadError.test): Update for new
362            namespace
363    
364    2003-08-27  Bernhard Herzog  <[email protected]>
365    
366            Make the table interface distinguish between row ids (an integer
367            that uniquely identifies a row) and row ordinals (a simple row
368            count from 0 to NumRows() - 1)
369    
370            * Thuban/Model/postgisdb.py (PostGISTable.RowIdToOrdinal)
371            (PostGISTable.RowOrdinalToId): New methods to conver between row
372            ids and row ordinals
373            (PostGISTable.ReadRowAsDict, PostGISTable.ReadValue): New keyword
374            parameter row_is_ordinal to indicate whether the row parameter is
375            the row id or the ordinal
376    
377            * Thuban/Model/transientdb.py (TransientTableBase.RowIdToOrdinal)
378            (TransientTableBase.RowOrdinalToId)
379            (AutoTransientTable.RowIdToOrdinal)
380            (AutoTransientTable.RowOrdinalToId): Same new methods as in
381            PostGISTable.
382            (TransientTableBase.ReadRowAsDict, TransientTableBase.ReadValue)
383            (AutoTransientTable.ReadRowAsDict, AutoTransientTable.ReadValue):
384            Same new parameter as in PostGISTable.
385    
386            * Thuban/Model/table.py (DBFTable.RowIdToOrdinal)
387            (DBFTable.RowOrdinalToId, MemoryTable.RowIdToOrdinal)
388            (MemoryTable.RowOrdinalToId): Same new methods as in PostGISTable.
389            (DBFTable.ReadValue, DBFTable.ReadRowAsDict)
390            (MemoryTable.ReadValue, MemoryTable.ReadRowAsDict): Same new
391            parameter as in PostGISTable.
392    
393            * Thuban/UI/tableview.py (DataTable.RowIdToOrdinal)
394            (DataTable.RowOrdinalToId): New methods to convert between row ids
395            and row ordinals.
396            (TableGrid.SelectRowById): New method to select a row based on its
397            ID as opposed to its ordinal
398            (DataTable.GetValue, TableGrid.OnRangeSelect)
399            (TableGrid.OnSelectCell, LayerTableGrid.select_shapes)
400            (QueryTableFrame.OnQuery, QueryTableFrame.get_selected)
401            (LayerTableFrame.__init__): Convert between row ids and row
402            ordinals as appropriate
403    
404            * test/postgissupport.py (PostGISDatabase.__init__): Add
405            doc-string.
406            (PostGISDatabase.initdb): The optional third item in a tuple in
407            tables is now a (key, value) list with additional arguments to
408            pass to upload_shapefile
409            (upload_shapefile): New parameter gid_offset to allow gids that
410            are not the same as the shapeids in the shapefile
411            (PostgreSQLServer.get_default_static_data_db): Use the new
412            gid_offset to make the gids in landmarks 1000 higher than the
413            shapeids in the shapefile
414    
415            * test/test_viewport.py
416            (TestViewportWithPostGIS.test_find_shape_at_point): Adapt to the
417            new shapeids in the landmarks table
418    
419            * test/test_transientdb.py
420            (TestTransientTable.run_iceland_political_tests)
421            (TestTransientTable.test_transient_joined_table): Add tests for
422            the new table methods and new keywords arguments.
423    
424            * test/test_postgis_db.py
425            (TestPostGISTable.test_read_row_as_dict_row_count_mode)
426            (TestPostGISTable.test_read_value_row_count_mode)
427            (TestPostGISTable.test_row_id_to_ordinal)
428            (TestPostGISTable.test_row_oridnal_to_id): New test for the new
429            table methods and the new arguments
430            (TestPostGISShapestorePoint.test_shapes_in_region)
431            (TestPostGISShapestorePoint.test_shape_raw_data)
432            (TestPostGISShapestorePoint.test_shape_points)
433            (TestPostGISShapestorePoint.test_shape_shapeid)
434            (TestPostGISShapestorePoint.test_all_shapes)
435            (TestPostGISTable.test_simple_query)
436            (TestPostGISTable.test_simple_query)
437            (TestPostGISTable.test_simple_query)
438            (TestPostGISTable.test_read_value)
439            (TestPostGISTable.test_read_row_as_dict): Adapt to the new
440            shapeids in the landmarks table
441    
442            * test/test_memory_table.py
443            (TestMemoryTable.test_read_row_as_dict_row_count_mode)
444            (TestMemoryTable.test_read_value_row_count_mode)
445            (TestMemoryTable.test_row_id_to_ordinal)
446            (TestMemoryTable.test_row_oridnal_to_id): New test for the new
447            table methods and the new arguments
448    
449            * test/test_dbf_table.py
450            (TestDBFTable.test_read_row_as_dict_row_count_mode)
451            (TestDBFTable.test_read_value_row_count_mode)
452            (TestDBFTable.test_row_id_to_ordinal)
453            (TestDBFTable.test_row_oridnal_to_id): New test for the new table
454            methods and the new arguments
455    
456    2003-08-26  Bernhard Herzog  <[email protected]>
457    
458            * Thuban/Model/postgisdb.py (PostGISShapeStore.BoundingBox): Use a
459            more postgis specific but much faster method to get the bounding
460            box
461    
462    2003-08-26  Bernhard Herzog  <[email protected]>
463    
464            * Thuban/Model/postgisdb.py (PostGISTable.Title)
465            (PostGISShapeStore.AllShapes): Add these missing methods.
466            (PostGISShapeStore.ShapesInRegion): No need to raise
467            StopIteration. We can simply return
468    
469            * test/test_postgis_db.py (TestPostGISTable.test_title)
470            (TestPostGISShapestorePoint.test_all_shapes): New tests for the
471            new methods
472    
473    2003-08-25  Bernhard Herzog  <[email protected]>
474    
475            * Thuban/Model/postgisdb.py (shapetype_map): Add MUTLIPOLYGON.
476    
477            * test/test_postgis_db.py (PolygonTests): New class containing
478            those tests from TestPostGISShapestorePolygon that can also be
479            used to test MUTLIPOLYGON tables
480            (TestPostGISShapestorePolygon): Most tests are now in PolygonTests
481            so derive from that
482            (TestPostGISShapestoreMultiPolygon): New class with tests for
483            MUTLIPOLYGON tables
484    
485            * test/postgissupport.py (PostGISDatabase.initdb): Allow the
486            tables argument to have tuples with three items to override the
487            WKT type used.
488            (PostgreSQLServer.get_default_static_data_db): Use the above to
489            create a polygon table with MUTLIPOLYGONs
490            (point_to_wkt, coords_to_point, polygon_to_wkt, coords_to_polygon)
491            (arc_to_wkt, coords_to_multilinestring): Rename from *_to_wkt to
492            coords_to*
493            (coords_to_multipolygon): New. Convert to MUTLIPOLYGON
494            (wkt_converter): New. Map WKT types to converters
495            (upload_shapefile): New parameter force_wkt_type to use a
496            different WKT type than the default
497    
498  2003-08-25  Bernhard Herzog  <[email protected]>  2003-08-25  Bernhard Herzog  <[email protected]>
499    
500          * Thuban/UI/application.py          * Thuban/UI/application.py
# Line 941  Line 1438 
1438    
1439          * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as          * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as
1440          it annoys lintian which warns about these files not being          it annoys lintian which warns about these files not being
1441          executable. The #1 isn't necessary here since if you absolutely          executable. The #! isn't necessary here since if you absolutely
1442          must execute them you can always say "python <filename>".          must execute them you can always say "python <filename>".
1443    
1444          * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Remove          * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Remove

Legend:
Removed from v.1655  
changed lines
  Added in v.1770

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26