This zip contains three files: 1. readme.txt (this file) 2. srid.sql 3. setup-zigGIS-2.0.1-Launch.exe Other sections: 4. Additional Detailed Instructions 5. Finding Help 1. readme.txt Me again. 2. srid.sql Apply this to your PostGIS server. PostGIS ships with the majority of ESRI's projections missing. The srid.sql file is an SQL script that remedies this. Although it's not required you run this script, zigGIS will be dramatically crippled without it. Run the script against your spatial_ref_sys tables. 3. setup-zigGIS-2.0.1-Launch.exe Apply this to your ArcGIS Desktop clients. This will install zigGIS. Once installed, start ArcGIS then right-click any toolbar. Select the "zigGIS" option to reveal the zigGIS toolbar. Now you're ready to add data. First create a .zig connection file (there's an example of one in the zigGIS start menu folder), then open it by clicking the "Add zigLayer" button on the zigGIS toolbar from within ArcGIS. The window will display all available layers. Select one or more and click OK. 4. Additional Detailed Instructions ArcGIS Desktop Clients: o All clients require both the .Net 2.0 Framework Runtime and ArcObjects .Net. The .Net Framework can be found at http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=en ArcObjects .Net is part of the setup on the ArcGIS install disk. The .Net Framework must be installed before the ArcObjects .Net option is enabled in the ArcGIS setup. o Run the zigGIS installer (if the above steps were skipped you'll get yelled at, but you won't break anything). o Once you've installed you'll need to create a zig file in order to connect to the PostGIS database. In the start menu you'll find an example of one. It should be obvious what the file requires but we're happy to answer any questions if you're having difficulties (see Finding Help). o All view / read only operations are performed exactly as you would on standard shapefile layers. E.g., zoom, pan, browse the attribute table, etc. o Editing operations, however, differ slightly. To edit, follow these steps: 1. Select the features you wish to edit. Or clear the selected features if you wish only to add new features. 2. Begin an edit session by clicking the "Edit zigLayer" button. 3. You will now notice a new layer "zig-edit-layer" upon which you will perform all your edits. You will also notice the "Edit zigLayer" button will remained toggled while the edit session is active. 4. Edit "zig-edit-layer" as normal: change attribute data, adjust the feature's shape, delete features, add new features, etc. 5. When you finish editing, commit the changes by, again, clicking the "Edit zigLayer" button. Doing so will post your changes to the database and will toggle the "Edit zigLayer" button. 6. Voila! PostGIS Server: o zigGIS performance is greatly improved by caching. In order for a PostGIS table to offer caching it must include a column on which zigGIS tracks updates. Add a "timestamp with time zone" column named "updatedon" to any table you want zigGIS to cache. Prime the column with the now() function. Priming would look something like this: ------------------------------------------------------------------------------- UPDATE mytable SET updatedon=now() ------------------------------------------------------------------------------- The "updatedon" column must be set each time a record is updated. This is automatically handled by zigGIS. However, zigGIS captures the timestamp of the client machine. This is problematic since networked machines' clocks aren't necessarily synchronized. We therefore suggest adding a trigger to the tables that use the "updatedon" column. The following will override the timestamp values from zigGIS and will ensure one clock authority across all edits: ------------------------------------------------------------------------------- CREATE OR REPLACE FUNCTION update_timestamp() RETURNS "trigger" AS $BODY$ BEGIN NEW.updatedon = now(); RETURN NEW; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE; ------------------------------------------------------------------------------- Apply this to tables with the "updatedon" column: ------------------------------------------------------------------------------- CREATE TRIGGER update_timestamp_trigger BEFORE UPDATE ON mytable FOR EACH ROW EXECUTE PROCEDURE update_timestamp(); ------------------------------------------------------------------------------- Although caching is a great performance boost, it must be used with caution. There's currently no way to set memory consumption limits so there's a potential zigGIS will consume all available memory on the client machine; each table that's cache-enabled will be loaded in its entirety. o It's generally a good idea to index columns that are commonly searched. Therefore you should index the "updatedon" columns and you should always have a GiST index on your geometry columns. 5. Finding Help We're working as hard as we can getting our support page online. Eventually you'll be able to find more help at www.obtusesoft.com/how.html. But, for now, PLEASE do not hesitate to reach us at info@obtusesoft.com. We will answer each and every email as soon as humanly possible. Thank you, again, for your support! zigGIS Team Obtuse Software