Hot answers tagged cache
5
The cache directory at C:/Users/Russell/.qgis/cache/ is actually the WMS-C/WMTS cache as @jef has mentioned. That's why it's in the Network tab of the Options dialog along with the WMS search address and proxy settings.
The naming is unfortunate but it has nothing to do with the render caching which is used to speed up redraws and other common operations. ...
4
Given that you are requesting WMS tiles, you can use a cache service like WMS-C (WMS Cached), Tile Map Service (TMS) or Web Map Tile Service (WMTS); the latter is an OGC standard. There are several implementations of these standards; to mention some, there are GeoWebCache, TileCache or MapProxy.
Because you are using GeoServer, I think that the best ...
4
You could create a TEMPORARY (or better UNLOGGED if you use pg9+) table to store the precalculated data (along with trigger functions to keep it in sync), but that's not an out-of-the-box solution as you'd have to write the queries yourself.
But before you do that, you may want to try EXPLAIN and EXPLAIN ANALYZE on your view query, you may be able to find ...
3
It depends on tiling software.
For example, in MapProxy (what is excellent choice for tiling), you can define 'coverages' in your configuration: http://mapproxy.org/docs/1.5.0/seed.html#id7, and regenerate only those areas. So, whenever your polygons change, define new coverage and re-seed your cache.
3
FeatureLayers and RasterLayers are layers created in memory, not in the scratch workspace (in background processing they create a file referencing the memory position but that is all).
In order to remove those layers residing in memory, you need to explicitly delete them one by one using arcpy (they do not fall out of scope until Python exits). Note that ...
3
For caching postgres queries you should take a look ad pgPool II. pgPool is a middleware for postgres which, among other useful things, has an in-memory cache for queries. Please note that if even a single parameter changes the results will not be fetched from the cache (for obvious reasons).
Depending on how the queries are made if the BBOX changes the ...
2
Assuming your dataset doesn't change on a regular basis I think @dariapra's approach is the best for rendering images, but unfortunately it won't change the performance of your GetFeatureInfo requests - the database still needs to be queried each time.
You might consider using GDAL's ogr2ogr (or pg2shp but I've never used this) to export your dataset into a ...
2
Check out this article reviewing Cloud Web Mapping APIs
It has some of the answers you are looking for and handy links to the licensing docs. I think you will need to read the key sections yourself to make a call on this as offline usage depends very much on how you are planning to implement the solution.
2
If I read this right, it sounds like you are a bit familiar with arcpy refresh issues. I believe you will be able to get by this if you use
arcpy.RefreshCatalog()
arcpy.RefreshCatalog documentation
2
What type of strategy are you using? If you are using the boundingBox strategy, at each pan/zoom OL will do a new request to get the features that are inside the map.
Depending on how many features you have, to lower the number of ajax request you can try to use the OpenLayers.Strategy.Fixed instead.
About caching, OpenLayers has a caching controls, but I ...
1
I was indeed correct with my hypothesis.
The correct way to set up Apache so that our requests are never duplicated unless required is to set a Expires mod in the HTTPD.conf file.
First, enable the module:
LoadModule expires_module modules/mod_expires.so
Then, turn on caching for PNG images:
ExpiresActive on
ExpiresByType image/png "access plus 1 year"
...
1
Well, it's been a few days. I've since given up on GeoWebCache and flopped over to MapProxy. It's MUCH more customizable. It's yaml configuration is open enough to allow me to specify the vendor keys in its own config, along with as many different providers/layers/caching routines I need.
I highly recommend it!
1
There's an easy "fix" if you're brave enough to change the code source of QGIS:
Open 'qgsmaptoolpan.cpp', and into the corresponding 'canvasMoveEvent' member, add the sentence "mCanvas->refresh();" as follows:
void QgsMapToolPan::canvasMoveEvent( QMouseEvent * e )
{
if (( e->buttons() & Qt::LeftButton ) )
{
mDragging = true;
// move map ...
1
Well there is lots of options you can do to improve speed.
It depends on your skills.
If you have long queries you may be in need to tune Postgresql memory resources.
If you have javascript skills you can override the WMSGetFeatureInfo control from Openlayers and cache results into control to avoid repeated queries.
If you know a little about server ...
1
Try using http headers to control the cache in the local browser or caching proxy server and set a shorter time interval such as 5 mins or 15 mins depending on how static your data is. This way you can get some of the benefit of caching and let the http cache or http caching proxy handle the expiry.
1
If I understood correct your problem is that it is impossible to determine the combination of layers with each request as users can select any of the 140 layers and the client is sending one request for all layers combined (ie not a request for each layer).
In that case you could try fronting your WMS servers with a caching service like MapProxy or Mapcache ...
Only top voted, non community-wiki answers of a minimum length are eligible
