Hot answers tagged

13

I added aerial imagery from GIS server and created fishnet over the area of interest: I use fishnet as index layer for my data driven pages, making sure the sorting order coincides with record order in fishnet table. I applied script (see below) to travel through pages, export them to temp raster, clip it to PNG raster named after page name. Result shows ...


7

For anyone who is still having this problem, in QGIS 2.10 you can go to Settings > Options > Rendering, and change the Map update interval to be larger. If QGIS can render all of the layers in less than this amount of time, it will update the whole canvas at once, which gets rid of the blinking. If it cannot update all the layers before this interval passes, ...


6

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. ...


5

I'm afraid the answer is: You can stop QGIS from blinking by funding a developer to implement a non-blinking version.


5

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 ...


5

You name 500MB cache size because of the setting you get when running the caching process after publishing a map service. This is the default setting you get in ArcGIS Desktop which can be seen in ArcMap > Customize > ArcMap Options > Sharing tab. You can disable this warning if you know that you are going to generate multiple caches of bigger size. Why 500?...


5

The problem in this case was rather stupid:) The cache mentioned above was residing in a folder, that was located in another folder, that was located in another folder. So despite the fact that I registered the main folder as a cache folder for the server, it couldn't read inside all these folders. So we created a new folder, named it exactly as the map ...


5

I would say that for zoom greater than 15, if you split your area of interest into smaller areas(Bounding box), you will be able to cache them in much less time by running multiple processes on a single machine. For example, you are running zoom 16 (having 50,000,00 tiles) on a machine and according to your average tile-caching speed, this process will ...


5

You can turn feature caching off from the Run menu > uncheck "Enable Feature Caching".


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 ...


4

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.


4

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 ...


4

Byte (see QNetworkDiskCache::setMaximumCacheSize). The cache is mainly used for WMS-C/WMTS - so you're probably not using that.


4

As said the cache is only use for network accesses - probably most useful for tiles in WMS-C and WMTS, but also use for the capabilities of WMS, WCS, WFS and for SVGs in case they aren't local. It's created on demand - ie. only when a network reply should be save for later reuse.


4

I think you should investigate Basemap Layers: Basemap layers are a kind of map layer that provides a framework onto which you display your dynamic operational information. Basemap display performance is very fast. Since basemap layers are relatively static and do not change frequently, their display can be computed once and reused many times. The ...


4

There are several overlapping issues here. ArcGIS Desktop is single-threaded, but can make use of a multi-core machine because it can then get the exclusive use of one core. Unless there's a Direct Connect connection to an enterprise geodatabase, in which case, each connection will be run as an additional thread. ArcGIS Server supports multiple cores ...


4

You can't do it in a single service, but you could do it with two services using scale ranges for visibility. Cache the one and leave the other dynamic. As far as creating tiles on demand: Space, I understand. If you don't have it you don't have it. Speed "issues" only occur for the first person ever to request the area. Thereafter, it goes as fast as ...


4

Turns out that ESRI just added this feature, but only for users of ArcGis server - the public server will have it turned off. The feature is called ExportTiles and it has been introduced in 10.2.1 for REST API: It'll export things into ArcGis's .Tpk or bundled image formats.


4

you might want to have a look at https://github.com/mapbox/tilelive-decorator This allows you to update properties of vector tile features dynamically from Redis, but I am sure you can implement it with an other data source. This should fit quite well with your use case. Underneath it uses https://www.npmjs.com/package/tile-decorator to do the actual work ...


4

You are going to get a lot of comments and answers regarding tuning of the PostgreSQL database, which you should do provided you have control over the database. But there are situations where local caching is desired, such as when you don't control the database and can't tune it. Or you have slow network connectivity between your client and the database. I ...


3

Check the server cache directory. with... http://mygisserver.com/arcgis/admin/system/directories/arcgiscache Ensure it is registered with the server. Make sure the cache geoprocessing service is running. You might also check the jobs folder to see if there is something hung up there. http://mygisserver.com/arcgis/admin/system/jobs Also check the ...


3

Monotonically increasing is a maths term that roughly means that "the next one is greater than this one". It doesn't have to be by the same amount each time. So in the context of GeoWebCache configuration, the code expects that the expiration rules increase in zoom level. You've pretty much got it in your second example: <expireCacheList> <...


3

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 ...


3

If you are using QGIS, you could utilise the OpenLayers plugin. Progams such as Mapertive can download tiles from OpenStreetMap, using the generate-tiles method. Other programs may be available for other sources. Mapertive exports the images into the 'Tiles' subfolder. Once you have the tiles downloaded, make a copy of one of the files in the qgis\python\...


3

As you can see here it is a known issue. There is bug submitted to GWC GitHub: https://github.com/GeoWebCache/geowebcache/issues/232


3

The expression "host the OpenLayers map on site" isn't much clear as using OpenLayers is more a client side topic: OpenLayers is a JavaScript library and works on the browser. Using OpenLayers doesn't depend in any way on the hosting machine. So I assume you would like to set up a geographic server. The things you should care about are: processing power (...


3

I would try to use the tilestache-seed.py script: https://github.com/TileStache/TileStache/blob/master/scripts/tilestache-seed.py You can get the bounds of your parcel (which units depend on the units of your data) and pass it into the script. use the '-x', '--ignore-cached' options to force the tiles to be regenerated. Since your data is coming from ...


3

The best reference for this is this page on the OSM Wiki. It has Pseudo code as well as code in various languages for converting from the XYZ tilenames, to the bounding box. The Pseudocode for this is as follows n = 2 ^ zoom lon_deg = xtile / n * 360.0 - 180.0 lat_rad = arctan(sinh(π * (1 - 2 * ytile / n))) lat_deg = lat_rad * 180.0 / π Note that this ...


3

Jakub Kania was correct in his comment that the date/time have to be added to the url to make it different from the url of tiles in the cache. You have to subclass OpenLayers.Layer.XYZ for that: OpenLayers.Layer.CustomXYZ = OpenLayers.Class(OpenLayers.Layer.XYZ, { getURL: function () { var url = OpenLayers.Layer.XYZ.prototype.getURL.apply(this, ...


3

concerning your question about how to update the bounding-boxes: Choose the layers menu: -- Click on the layer in the layers list: -- Recalculate the bounds If the extent keeps changing you could perhaps try to set the extent manually to the world extent...


Only top voted, non community-wiki answers of a minimum length are eligible