Postgis Topology is a must if correct and up to date maps are important for you. 1) Normalize data, for instance shared edges should only be represented once. Why : Avoid the possibility for gaps , overlaps, spikes and other error in the result. 2) Must be simple to expand or reduce a polygon surface even if the border line contains thousands of points. Why : Moving many points on a screen is difficult and time consuming and its's often is easier just to draw a new line. 3) Only the actual changes should be written to the database. Why : Or else you may get problems because of projections, different number off decimals in client, protocol and server. 4) Removing lines should cause old surfaces reappear with original borders for layers that has 100% coverage. Why : We want end users update our maps because they know best what is like there, but then we must accept errors and then it should easy to correct these error in a efficient way. 5) Generalize and simplify on the fly. Why : To reduce the amount bytes on wire it's important to give the user a good end user experience. We have now made a simple web client for updating topology layers of type surface, line and points where we are using a simple generic protocol based on JSON. |