By the looks of it you render the QGIS WMTS in a different projection than the original WMTS. This can be seen by the angle of intersection of the highways. In QGIS this seem to be a perfect 90 degree angle, in the browser it is not. The reprojecting is done locally in QGIS, not at the server side. Therefore the original image gets distorted resulting in the ...
The zoomscales in QGIS probably differ from the configured grid set in GeoServer. This causes resampling of the images in QGIS resulting in less sharp images and less performance.
See GeoServer documentation.
You can change the zoomscales in QGIS via:
Different sets I use are: (Copy paste to XML, then ...
In other implementations (as in, our implementation) this is done with palette modification; you can quickly recolor a PNG image without touching the actual data, if you know the full original palette.
Google doesn't do that; they likely have a tile-based database and tiles of vector data that are rasterized on the fly.
Luckily you do not need to trust in what you read from the web but you can make a test with your own data. It is not as simple as "PNG tiles are much larger than JPEG, but have better quality". That is mostly true with aerial and satellite images which can be compressed effectively with lossy jpeg method. PNG is lossless and quality is thus perfect but the ...
answer to my comment(this code is for my tms scheme and you can adapt it to your need):
var originShift = 2 * Math.PI * 6378137 / 2.0;
var initialResolution = 2 * Math.PI * 6378137 / 256; //tilesize
var lon = 10;
var lat = 20;
var mx = lon * originShift / 180.0;
var my = Math.log(Math.tan((90 + lat) * Math.PI / 360.0)) / (Math.PI / 180.0);
my = my * ...
Unless you have access to some kind of geospatial server such as GeoServer, MapServer, or access to any ESRI Server products, rendering the GeoTiffs will be a problem.
What I have done in the past when lacking a geospatial server was convert what I can via QGIS to a geojson file. QGIS can handle several formats of data which can be exported in several ...
It sounds like you first tried a source install of Mapnik. At this time input plugins were properly installed into the default directory at /usr/local/lib/mapnik/input. But the postgis plugin was not built because you did not have the pg_config program available and/or the postgres-devel package. If you followed http://github.com/mapnik/mapnik/wiki/...
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 ...
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 ...
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\...
I know this isn't quite what you are looking for, but I thought you might find it useful anyway. Have you seen this example by Odoe which uses css filters on the maps? Might be limited outside of chrome
(B2) When you will try to request getCapabilities for the WMTS layer and layer name has same name in geowebcache.xml you will get the response which contains capabilities of two layers with the same name but different . If you are getting layers on client via OpenScales you'll notice that HashMap of my:Layer will be broken.
Different names in geowebcache....
Ran into the same issue (e), using namespace:layername for WMTS layer parameter solved this issue for me.
I noticed following behaviour:
Requesting a WMTS Tile without namespace for the WMTS layer parameter
always forces a reseed of tiles (e.g.
I suggest to use EPSG:3857 as CRS for the raster during the tiling process.
EPSG:900913 is not included in current GDAL and QGIS anymore, thus the special spherical mercator treatment is not applied. The proj definition for EPSG:3857 is
+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs
When publishing your map service in the Service Editor, Go to the Caching -> Advanced Settings. Down the page, where you see Area of interest to cache, you can set it to either Full extent of the map (maybe entire world), Current Extent of the map, or you can import the Area of Interest from a Feature Class. If you select the last one, ArcGIS prompts you for ...
Instead of creating metatiles I have now tested different tiling scripts that I've found. They are all using the same source image which is a JPG (with a .JGW) in EPSG:3857 projection. Bilinear has been used in scaling and the zoom level was 9.
generate_tiles.py (slightly modified): 22 minutes.
gdal2tiles.py (patched for 2 cpu cores): 3 minutes.
Since 10.1, there are two special system geoprocessing services that are called CachingTools and CachingControllers. These services are available in the System folder under the GIS Server connection. These services are responsible for starting and managing caching jobs. In order to be able to start caching a service, these services have to be started. From ...
It sounds like what you are really wanting is to be able to override specific tiles in a map.
20 km wrong in north/south direction is very probable to be caused by mixing spherical and ellipsoid representations of Earth.
Google Maps and Open Street Maps (OSM) use a tweaked Mercator (which seem to be called "Web Mercator") that is faster to calculate. The tile-software behind OSM likely also uses the spherical faster model, while your input data is ...
You should be able to easily achieve that by:
implement an on insert/update trigger which puts changed features on a work queue
a worker that periodically wales up and grabs stuff to do from the queue and refreshes tiles
Item 1 can be easily written in pure sql in postgres by means of a trigger.
As for item 2 you just need to call the seed program (all ...
To elaborate on johanvdw's answer: Files stored on hard drives use a minimum amount of storage, and the amount of storage they use is incremental and based on the formatted block size. The default windows block size is 4096 bytes, meaning that each file uses at least 4096 bytes of storage, and the amount of space used increments based on the block size. ...
There are two patents I found while asking that question myself:
Dynamic map rendering as a function of a user parameter US8103445
Demand based texture rendering in a tile based rendering system US20110254852
Couldn't find any official information on who uses these or similar schemes, yet I guess the second paper's drawings look pretty straight ...
I managed to find the issue with this after having a break for a while and coming back to it.
The Mapserver config needed the EXTENT parameter changing from
EXTENT 600000.000000 200000.000000 660000.000000 300000.000
EXTENT 600000.000000 200000.000000 660000.000000 300000.000000
Once I'd made this change I ran the command from ...
Here is a guide that is using Ordnance Survey tilecached rasters
(some tiles are no longer present - seems the location has been moved/expired)
How to Guide
I know this question has been asked some time ago, but just wanted to share what ESRI said about this if others run into this issue. The "Automatic cache updating" radio button or honored when you are going through the publishing or re-publishing process. If you don't want the server to cache your service automatically, just make sure the setting is set to ...