12

I'm interested in the fastest way to serve PostGIS features. I can find several WMS improvements and alternatives (MapProxy, TileCache, Mapnik...) but not so many WFS Open Source improvements and alternatives. I'm not interested in tiles, but in polygons over my base layer. Served fast.

Could you please me point in the right direction?


Update:

I forgot to mention that my app shows cadastral information. And cadastral polygons must be selectable (not editable, they are only highlighted when you click on them).

I'm using right now a mix of WMS + Django generating GeoJSON objects when the user clicks on a part of the map, to avoid situations like thousands of polygons at same time in the client (OpenLayers).

I don't know if I'm in the right way (should I avoid potentially hard situations like thousands of pols in the client by rendering them via WMS or any other solution? Should I improve the way the polygons are served?)

3

5 Answers 5

6

What about simplifying geometries?

http://www.bostongis.com/postgis_simplify.snippet

https://stackoverflow.com/questions/1849928/how-to-intelligently-degrade-or-smooth-gis-data-simplifying-polygons

Or maybe a combination of WFS, WFS with simplified features and WMS?

1
  • Sounds good. Right now, I'm rendering the pols and serving them via WMS. I think the client won't handle millions of polygons at same time, but I may be wrong... Commented Aug 25, 2011 at 8:39
6

GeoServer provides a user setting to control the number of decimal places in the geometries which was put in there to speed up WFS serving.

Also make sure that the server is compressing the output only if your client can efficiently uncompress it.

Finally I've heard good things about tiny OWS in terms of speed.

1
  • I've heard about tiny OWS but never used it. Thanks for suggestion! Commented Aug 25, 2011 at 8:35
6

WFS caching might suit your needs. As far as I know, there are two open source solutions providing WFS caching: TileStache and GeoWebCache.

In TileStache's home page, features section it is said "Generates vector tiles from OGR datasources in GeoJSON usable in Polymaps"

GeoWebCache has some WFS caching capabilities since version 1.1.0 (the current one is 1.2.6):

GeoWebCache 1.1.0 (finally) released

...

1.c Basic WFS caching GeoWebCache 1.1.0 supports very basic WFS caching. The results from queries are stored to disk, there are currently no functions for inspecting them or programmatically removing them. The algorithm relies on computed hashes and does not check for uniqueness, so there is a minute chance for collisions. The motivation for this development was the SHP-ZIP (zipped shapefile) outputformat in GeoServer. These files can be huge and tremendously expensive to compute. This WFS service is, in its current state, not intended to be used for more complicated cases.

http://old.nabble.com/GeoWebCache-1.1.0-(finally)-released-td22870524.html

Unfortunately I have never worked with TileStache neither GeoWebCache, so I cannot share any experience about WFS caching.

2
  • Thanks. I'm considering 2 options: render my polygons and serve them via WMS + cache (there are millions of them, maybe too much for the client...) or try to serve my polygons via WFS + cache. I'm working with the first option right now. Commented Aug 25, 2011 at 8:37
  • 1
    I recommend the first option (WMS rendering on server side + cache). The WFS option implies that rendering will be done on client side. In my experience this is a problem for users having old web browsers or computers, a variable that you cannot control.
    – dariapra
    Commented Aug 25, 2011 at 12:10
3

I'm developing a big web-gis, I work with a lot of data (about 700.000 features per layer) The only solution is the one that you are doing, WMS for rendering the features and WFS for getting feature's info. Whta I'm doing (with good performance) is:

  • Geoserver (with native JAI library)
  • When the user click on the map, a wms getfeatureinfo is used to get the information (both shape and data) of the selected feature (here you should implement some filtering fucntion, if you have overlapped features)
  • The result of getFeatureInfo is added as feature on another layer to simulate the "selection highlight"
1
  • Thanks! The project was finally cancelled, but I think your solution is a good one. Commented Sep 11, 2012 at 17:43
1

Solid State DRAM Server

http://en.wikipedia.org/wiki/Solid-state_drive#DRAM-based

"DRAM bit demand coming from the server sector will climb 93.7% on year in the second half of 2011"

source: http://www.digitimes.com/Reports/Report.asp?datePublish=2011/08/16&pages=PD&seq=206

1
  • Thanks. I don't control this, but I can suggest it... Commented Aug 25, 2011 at 8:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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