Objectix Java based GIS Solutions


- IUF Loader
    - IUF FAQ
    - Requirements
    - Download
    - Java VM Notes
    - Performance Notes
- jGridshift

About us

Q I am running Windows, so how do I look at the content in these huge IUF files?
A gVim www.vim.org. An oldie but a very goodie.
Q LogicaCMG has re-issued an incremental file that I applied some weeks ago. How do I replace it?
A Backup, backup, backup. There is no easy way to 'undo' a single file from the past. Go to your backup from before the problem and reapply everything. We issue the strongest possible recommendation that you do not mix business transactional data and IUF data in the same database. This scenario has happened a number of times and you will only do yourself a mental injury if you try to unravel linked business and IUF data.
Q There is a PFI column and an ID column in the 'current' tables with the same data in them. Why two columns?
A PFI is the logical primary key of the 'current' tables, but some DBMS and spatial products have a definite preference for numeric or even integer keys. For example SQL Server performs orders of magnitude better with an integer key (using prepared statements) than a character key. The ID column is intended to be a simple meaningless key that is mappable to PFI. At present all PFIs in the IUF are integer, so we mapped them directly to ID. Elsewhere in the Land Victoria Property Database PFIs are not numeric, and there is no guarantee that they will remain so in the IUF. If non-numeric PFIs appear in the IUF they will be mapped to the negative integer range through the pfi_map table to separate them from the existing positive values.
Q The 'data_problem' table reports thousands of geometry problems in the data, what do they mean?
A The Objectix loader checks for illegal and invalid geometry before it attempts to store it in the database. Illegal geometry is repaired where possible and treated as empty geometry where repair is not possible. Empty geometry is flagged invalid. Geometry is also checked for validity after construction, and flagged. For linestrings (eg cad_area_bdy) the only illegal condition is less than two points. This is repaired but remains invalid. For polygons (eg parcel_view) there are several scenarios:
  • UNCLOSED LINEAR RING - One of the rings (shell or holes) is not closed. We just attempt to close these and continue.
  • ILLEGAL LINEAR RING - One of the rings (shell or holes) has less than 4 points (closed). If the ring is a hole we just leave it out and continue. If the ring is a shell the polygon is empty.
  • ILLEGAL POLYGON (NO SHELL) - The first ring is not a shell, polygon is empty.
  • INVALID POLYGON (FORMAL OGC) - We use the defacto standard Java geometry library (JTS from vividsolutions.com) to validate polygons. We apply a formal OGC polygon check that includes self intersection in all rings, hole intersection and improper hole containment. Invalid polygons are accepted and flagged as invalid
The polygonal material is the worst affected percentage wise, and amounts to about 0.02% invalid for the seed.
Q I am not a Java person, how do I examine the source code?
A Java source code is plain text, so you can use any text editor to view and edit it. If you are more than a casual browser, we suggest the excellent Eclipse IDE (open source of course, initially from the new age people at IBM).