I am building a feature for a web application. Basically would use the ABS (Australian Business Statistics) data to render the regions on the Google Maps.

I am able to implement the basic working prototype however the ABS dataset (65 MB Shapefile) is huge and contemplated to use the tools

  1. Map Shaper
  2. QGIS

for simplification. The rendering time is poor without simplification as the data set is huge.

Map Shaper was not really helpful because the shapefile (65 MB) didn't get imported into the database after simplification because of error 333 object not found (something like this).

QGIS helped me to simplify the shapefile from 65 MB to 4 MB, 2 MB, 1 MB depending upon the tolerance level (0.0001, 0.0020,0.0080 etc). I was able to successfully import this into the database and used it to render on maps. The rendering time has been significantly improved, however the spatial accuracy is going for toss because of the level of simplification. The functionality here is to store regions into the database for a user and then notify the users when a delivery matches.

We are using Grails, Postgres (using PostGIS), GeoJSON here to implement it.

Could anyone here assist me in simplifying the shapefile (Statistical Area Level 2) of size 65 MB to at least 1-2 MB without risking the spatial accuracy when we zoom in to the lowest level?


First of all I suggest to use postgis function ST_SimplifyPreserveTopology instead of qgis semplification.

If I understand it right you want to have a small file with an high level of detail... and thats impossibile (if you still want to use shape files). But you can do what other webgis do. You can create 2 or more shape files with different semplification levels and show them at different scales. When you are at lowest level you will visualize the 65 mb shape file.

Another way is making tiles of your high resolution shape file, that will improve your rendering time.

| improve this answer | |
  • Infact I tried the existing postGIS function ST_SimplifyPreserveTopology, didn't help much as rendering time for the level 3 data took 20 seconds which is way too long. How do we make tiles of the high resolution shape file? Could you explain me more? Any other suggestions? – user35554 Aug 11 '14 at 4:28
  • Making tiles its quite simple, you just need to intersect your layer with a vector grid layer (generated with qgis) and, after that, use the function of qgis "split vector layer". After that you have tiles and you have to link them in your webgis. – Sergio Aug 11 '14 at 7:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.