<div dir="ltr"><div><span style="font-size:12.8px">></span><span style="font-size:12.8px">I want to calculate GMaps tile numbers that intersect a geometry in a range of zooms,</span><span style="font-size:12.8px"><br>>and was looking for any prior work along these lines. </span></div><div><span style="font-size:12.8px">>What I need is a function which takes geom, minimum zoom, and maximum zoom and returns a set of z,x,y which intersect the geometry<br></span>><span style="font-size:12.8px">Has anyone done this before?<br></span><br>AS I know osm2vectortiles project[1]  using a traversing quadtree[2] based solution for detecting changed tiles: </div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">[1]  </span><span style="font-size:12.8px">on <a href="http://osm2vectortiles.org/docs/" target="_blank">http://osm2vectortiles.<wbr>org/docs/</a>     </span><span style="font-size:12.8px">Academic Material  -> </span><span style="font-size:12.8px"> Bachelor thesis PDF </span></div><div><span style="font-size:12.8px"> and search for   : "</span>5.4 calculate changed tiles"  ->    PostgreSQL Implementation</div><div> github:  -> "<span style="color:rgb(167,29,93);font-family:consolas,'liberation mono',menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre-wrap">CREATE OR REPLACE</span><span style="color:rgb(51,51,51);font-family:consolas,'liberation mono',menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre-wrap;background-color:rgb(248,238,199)"> </span><span style="color:rgb(167,29,93);font-family:consolas,'liberation mono',menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre-wrap">FUNCTION</span><span style="color:rgb(51,51,51);font-family:consolas,'liberation mono',menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre-wrap;background-color:rgb(248,238,199)"> </span><span style="color:rgb(121,93,163);font-family:consolas,'liberation mono',menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre-wrap">overlapping_tiles</span><span style="color:rgb(51,51,51);font-family:consolas,'liberation mono',menlo,courier,monospace;font-size:12px;line-height:20px;white-space:pre-wrap;background-color:rgb(248,238,199)">(" </span></div><div> <a href="https://github.com/osm2vectortiles/osm2vectortiles/blob/master/src/import-sql/functions.sql#L1" target="_blank">https://github.com/<wbr>osm2vectortiles/<wbr>osm2vectortiles/blob/master/<wbr>src/import-sql/functions.sql#<wbr>L1</a></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">[2]  <a href="http://javisantana.com/2014/10/22/traversing-quadtree.html" target="_blank">http://javisantana.com/2014/<wbr>10/22/traversing-quadtree.html</a><br></span><br><br><br>> ... <span style="font-size:12.8px">outside of postgis  ...</span></div><div><span style="font-size:12.8px"><br></span></div><div>The Mapbox Tile-Cover [ "generate the minimum number of tiles to cover a geojson geometry" ] </div><div> is implemented is JavaScript [ <a href="https://github.com/mapbox/tile-cover" target="_blank">https://github.com/mapbox/<wbr>tile-cover</a> ]  </div><div>so maybe it can be call via  PostgreSQL PL/v8</div><div><br><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-09-10 2:35 GMT+02:00 Paul Norman <span dir="ltr"><<a href="mailto:penorman@mac.com" target="_blank">penorman@mac.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I want to calculate GMaps tile numbers that intersect a geometry in a range of zooms, and was looking for any prior work along these lines. What I need is a function which takes geom, minimum zoom, and maximum zoom and returns a set of z,x,y which intersect the geometry.<br>
<br>
My initial naive idea is to write a recursive query which starts at minzoom, finds intersecting tiles, then for each intersecting tile finds intersecting tiles at zoom z+1 until maxzoom is reached.<br>
<br>
Implementations of this idea outside of postgis are <a href="https://github.com/openstreetmap/osm2pgsql/blob/master/expire-tiles.cpp" rel="noreferrer" target="_blank">https://github.com/openstreetm<wbr>ap/osm2pgsql/blob/master/<wbr>expire-tiles.cpp</a> and <a href="https://github.com/openstreetmap/chef/blob/master/cookbooks/tile/files/default/ruby/expire.rb" rel="noreferrer" target="_blank">https://github.com/openstreetm<wbr>ap/chef/blob/master/cookbooks/<wbr>tile/files/default/ruby/<wbr>expire.rb</a><br>
<br>
Has anyone done this before?<br>
______________________________<wbr>_________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@lists.osgeo.org" target="_blank">postgis-users@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/postgis-users" rel="noreferrer" target="_blank">http://lists.osgeo.org/mailman<wbr>/listinfo/postgis-users</a></blockquote></div><br></div>