I got the tiles to overlay correctly. The problem was in the re-projection done by both ArcMap and QGIS. When I was checking the reprojected shapefiles in ArcMap and QGIS, they were overlaying correctly and had the correct SRIDs.
So I imported the shapefiles in WGS84 in PostgreSQL using the SRID4326 with shp2pgsql then used ST_Transfrom to reproject the ...
I am not sure if I completely understand what your application is doing. Are you sending a query to postGIS every time the bbox changes and then render the response as a vector layer? If that's the case, in my experience, there are no obvious solutions to the problem. No magic bullets yet, but still solutions can be found, here some ideas:
Maybe not what ...
So I am able to get all the layers in a single layer, a "composite" by using the MultiProvider provider in the class and just passing it the layers I want in the composite as the arguments. It results in a single JSON file that contains all of my layers. This is the layer I added in the cfg
I've written my own geojson map tiler driver in ruby. it's a quick and dirty ruby script to create geojson tiles from a postgis database using gdal/ogr. I could not find out how to cut the geojson directly, so I imported the json into a postgis database and exported them using ogr.
ogr is supposed to read geojson but I could not get the driver to work ...
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 ...
A. I don't think tilestache will have problem with serving 200 users (assuming that they're really just human users, not some bot scraping the server) from MBTiles.
B. Client side caching isn't really determined by the server architecture. So it is possible to use MBTiles (or another caching solution) on the client side, if you want to. See MapBox IOS ...
The default OSM preview page's URL is ip_address:port_number/osm/preview.html#10/37.8000/-122.2600 which indicate the zoom level is 10, so I guess you did not export mbtiles file up to that zoom level that's why TileStache generates empty page then you could manually change the zoom level and lat/lon value to force TileStache to work out preview page.
Geoserver is an OGC compliant Web server which can serve out data in OGC's web services, namely WMS, WFS & WCS.
You want to get GeoJSON Tiles, and use it in your Leaflet Map. GeoJSON tiles are not a OGC standard, and GeoServer can not serve out GeoJSON Tiles.
TileStache on the other hand, can serve out GeoJSON Tiles from ESRI Shapefile, PostgreSQL, ...
I would try to use the tilestache-seed.py script:
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 ...
You will need a Linux machine to deploy what you have been working on. I would use nginx as webserver/reverse proxy (because it serves static tiles very fast), the rest (tilestache,django) are very familiar on Linux distro (Ubuntu particularly), you can find many tutorials about deployment of Django + nginx on Google.
Does anyone know how i can display the UTF Character overlays by themselves?
Something like this is done by glower - it'd be possible to just display all grids all the time.
i want to understand more about how this technology works. I assume the utfgrid overlays are drawing as vector tiles beneath the image tiles but firebug isn't showing me much.
I had the same problem. Almost drove me crazy - documentation is a bit scarce and I started to look in the sources.
Turned out to be a bug in the mapnik library (installed from some Ubuntu PPA). After cloning the git repository and building everything from source, it is working fine now.
Note that the UTFGrid spec has provisions to avoid the character "\...
Render vector-tiles in a Leaflet Map : yes, you can use this Leaflet plugin, and point to your own tileserver in the configuration file.
Not sure to understand what is a wrapped MapBox Version, but normally the plugin should work with any vector tile source.
No, your data does not have to reside on MapBox server, look at what these amazing guys at Klokantech ...
To use different queries for different zoom levels you will have to provide queries for each zoom level that you want to use, I think it should be able to query from a different table as well, since we are only defining the database in the kwargs.
I have it working using this layer in the cfg
Tx for the feedback, this is important for others who find this question in the future. Are you using WGS84 in your tilestache configuration? There is also a 'projected' attribute you might have to set.
You are using VecTile class, I haven't played with that one yet, but you might be able to get it work (or atleast it will give you some clue/ideas to ...
When I set a value of 1 to the zoomOffset, the tilestache layer is visible.
Bing maps zoom levels start with 0. Looks like the tiles layer (like google) starts with 1. By giving a proper offset, tiles of the required zoom level are being requested and shown.
I asked a similar question and I am not aware of any tile server to support a time dimension.
The best solution I came up with, was to have different layers with the time dimension, see our demo version.
Weather.com seems to have a similar approach as you can see in their tile ulrs (with a timestamp in the folder/layer structure):
A little late to the game but if you want vector tiles in mbtiles format then I suggest the following:
Go to https://github.com/mapbox/tippecanoe and install it, if you are on a mac then brew install tippecanoe; Next you can tile the geojson directly using the following command: tippecanoe -e tiles -l layer_name file.geojson
By default shp2pgsql does NOT create indexes. You need to pass -I to make it generate a spatial index. http://postgis.net/docs/manual-1.3/ch04.html#id435762
Check if your table has an index by running \d tablename in psql. In the list of indexes should be a line with "gist" (unless you picked a different index) and your geometry column name.
You can add ...
Upon further testing and research I have found out that I can over-zoom the zoom 17 tiles all the way up to zoom 21 without any problems. Since the VectorTiles contain only the underlying geometry, and I am not simplifying the geometry, I am essentially getting the same information in the tiles just for a smaller extent (when I get zoom 18 onwards tiles).
There is no direct solution to this problem as per my knowledge. But there
is a workaround that can be used to solve the problem with map.
Do these steps in ArcMap
1) Clip your raster by the boundary using image analysis window.
2) Export the raster in "tif" format with Nodata value = 0
Do these steps in TileMill
3) Open tilemill project. Add the ...
Thanks for the answer, Bennos. I haven't tried that solution - I ended up using this: https://github.com/perrygeo/python-mbtiles
It's a smaller footprint than Tilestache and I liked how it could handle both the UTFGrid and Tiles from the same MBTiles file. It took a bit of modification to get to work correctly but for my purposes was better.
The answer is indeed located inside tilestache-seed.py. Since I need to trigger the cache invalidation whenever a feature is updated, I needed to extract the juicy bits. So now on post-save I pass the features to this method:
def invalidate_feature_cache(layer, features):
invaldiates the cached tiles that contain the features
As it turns out, TileStache ends up taking the file name from the configuration file and prepending it with a "/". So, for Windows, this means that you have to place your .mbtiles file at the root of your drive if you want the server to be able to find it.
Or, if you're feeling "hacky", you can go into the MBTiles.py file and hardcode a "." in front of the ...
The problem was not in my configuration or even with TileStache, but in my geometry_columns view in my DB. The geometry requested by my query had a SRID of 0 in that view (?!) and manually fixing that fixed TileStache's complaint.
tl:dr; TileStache was right. I should have listened.
Make sure your geometry columns contain the correct SRID. Run:
psql osmgis -c 'select * from geometry_columns;'
If your layer a) is not there, or b) has a SRID of 0, you'll need to look up how to remedy that so that the layer is there with the correct SRID. The right way to do that depends on your version of PostGIS.