simpler-tiles 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/simpler_tiles/raster_layer.c +32 -0
- data/index.erb +45 -18
- data/index.html +52 -20
- data/lib/simpler_tiles/map.rb +2 -2
- data/lib/simpler_tiles/version.rb +1 -1
- data/simpler-tiles.gemspec +1 -0
- data/test/test_simpler_tiles.rb +30 -29
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22d0e863687bc027956a3aa725e5eefa3ed707b6
|
4
|
+
data.tar.gz: f87f1123c15af135b559773b98d5dda545d68e36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c9a2a6659ccdace5e4d7e2667c28615b32c28593a240ccfdbd75ee192ca58a7fb5914bd1c599dd57ec61e28ee961b68efe417999ef0325348188e9e058e1fe15
|
7
|
+
data.tar.gz: 1214773c0446ccd8429b8d3db38315b42e87d5f47540b7af15faada3aea4eaa900aa107d252535eec05f3c6b14941015d48985d29c08e8a2188ebd5257eebb05
|
@@ -6,6 +6,13 @@
|
|
6
6
|
|
7
7
|
VALUE cSimplerTilesRasterLayer;
|
8
8
|
|
9
|
+
static simplet_raster_layer_t *
|
10
|
+
get_layer(VALUE self){
|
11
|
+
simplet_raster_layer_t *layer;
|
12
|
+
Data_Get_Struct(self, simplet_raster_layer_t, layer);
|
13
|
+
return layer;
|
14
|
+
}
|
15
|
+
|
9
16
|
static void
|
10
17
|
mark_layer(void *layer){
|
11
18
|
simplet_raster_layer_t *lyr = layer;
|
@@ -19,6 +26,27 @@ layer_free(void *layer){
|
|
19
26
|
simplet_raster_layer_free(lyr);
|
20
27
|
}
|
21
28
|
|
29
|
+
static VALUE
|
30
|
+
lanczos(VALUE self, VALUE boolean){
|
31
|
+
simplet_raster_layer_t *layer = get_layer(self);
|
32
|
+
simplet_raster_layer_set_resample(layer, SIMPLET_LANCZOS);
|
33
|
+
return Qnil;
|
34
|
+
}
|
35
|
+
|
36
|
+
static VALUE
|
37
|
+
bilinear(VALUE self, VALUE boolean){
|
38
|
+
simplet_raster_layer_t *layer = get_layer(self);
|
39
|
+
simplet_raster_layer_set_resample(layer, SIMPLET_BILINEAR);
|
40
|
+
return Qnil;
|
41
|
+
}
|
42
|
+
|
43
|
+
static VALUE
|
44
|
+
nearest(VALUE self, VALUE boolean){
|
45
|
+
simplet_raster_layer_t *layer = get_layer(self);
|
46
|
+
simplet_raster_layer_set_resample(layer, SIMPLET_NEAREST);
|
47
|
+
return Qnil;
|
48
|
+
}
|
49
|
+
|
22
50
|
VALUE
|
23
51
|
raster_layer_alloc(VALUE klass){
|
24
52
|
simplet_raster_layer_t *layer;
|
@@ -35,5 +63,9 @@ void init_raster_layer(){
|
|
35
63
|
rb_define_method(rRasterLayer, "source=", set_source, 1);
|
36
64
|
rb_define_method(rRasterLayer, "source", get_source, 0);
|
37
65
|
|
66
|
+
rb_define_method(rRasterLayer, "bilinear!", bilinear, 0);
|
67
|
+
rb_define_method(rRasterLayer, "lanczos!", lanczos, 0);
|
68
|
+
rb_define_method(rRasterLayer, "nearest!", nearest, 0);
|
69
|
+
|
38
70
|
cSimplerTilesRasterLayer = rRasterLayer;
|
39
71
|
}
|
data/index.erb
CHANGED
@@ -181,6 +181,16 @@ $ gem install simpler-tiles
|
|
181
181
|
</pre>
|
182
182
|
</p>
|
183
183
|
|
184
|
+
<p>
|
185
|
+
<em>Note for Mac OS X users:</em> You might get an error warning about
|
186
|
+
<tt>xcb-shm</tt> if so, you'll need to install
|
187
|
+
<a href="http://xquartz.macosforge.org/landing/">XQuartz</a>, and add a
|
188
|
+
search directory to your path with:
|
189
|
+
<blockquote>
|
190
|
+
<tt>export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/X11/lib/pkgconfig</tt>
|
191
|
+
</blockquote>
|
192
|
+
</p>
|
193
|
+
|
184
194
|
<p>
|
185
195
|
The api docs are <a href="http://rdoc.info/github/propublica/simpler-tiles/master/framesl">here</a>, and if you have
|
186
196
|
comments or questions head on over to <tt>#newsapps</tt> or <tt>#propublica</tt>
|
@@ -263,7 +273,7 @@ map = SimplerTiles::Map.new do |m|
|
|
263
273
|
m.set_bounds(-585080.885134, 6849466.721081, 4161303.603672, 9587780.816356)
|
264
274
|
|
265
275
|
Dir["\#\{ROOT\}/data/*.shp"].each do |shp|
|
266
|
-
m.
|
276
|
+
m.layer shp do |l|
|
267
277
|
l.query "select * from '\#\{File.basename shp, '.shp'\}'" do |q|
|
268
278
|
q.styles "stroke" => "#111111",
|
269
279
|
"line-join" => "round",
|
@@ -283,7 +293,7 @@ CODE
|
|
283
293
|
|
284
294
|
<p>
|
285
295
|
Simpler Tiles was designed to make <a href="http://wiki.openstreetmap.org/wiki/Slippy_Map">slippy maps</a>. The following is a basic tile
|
286
|
-
server using <a href="http://sinatrarb.com">Sinatra</a>. It will open display any shapefile
|
296
|
+
server using <a href="http://sinatrarb.com">Sinatra</a>. It will open display any shapefile in your home directory
|
287
297
|
by visiting a url like: <a href="">http://localhost:4567/shape/path/to/shapefile.shp</a>
|
288
298
|
</p>
|
289
299
|
|
@@ -317,7 +327,7 @@ get '/tiles/*/:x/:y/:z.png' do
|
|
317
327
|
m.slippy params[:x].to_i, params[:y].to_i, params[:z].to_i
|
318
328
|
|
319
329
|
# Add a layer based on the parameters in the URL
|
320
|
-
m.
|
330
|
+
m.layer File.join(ROOT, params[:splat].first) do |l|
|
321
331
|
|
322
332
|
# Grab all of the data from the shapefile
|
323
333
|
l.query "select * from '\#\{File.basename(params[:splat].first, '.shp')\}'" do |q|
|
@@ -362,7 +372,7 @@ __END__
|
|
362
372
|
<div id="map"></div>
|
363
373
|
<script>
|
364
374
|
var map = new L.Map('map');
|
365
|
-
var layer = new L.TileLayer('/tiles/\<\%\= params[:splat] \%\>/{x}/{y}/{z}.png')
|
375
|
+
var layer = new L.TileLayer('/tiles/\<\%\= params[:splat].first \%\>/{x}/{y}/{z}.png')
|
366
376
|
map.addLayer(layer).setView(new L.LatLng(38, -95), 1);
|
367
377
|
</script>
|
368
378
|
</body>
|
@@ -376,6 +386,37 @@ CODE
|
|
376
386
|
do as a simple replacement for QGIS!
|
377
387
|
</p>
|
378
388
|
|
389
|
+
|
390
|
+
<h2>Raster Demo</h2>
|
391
|
+
<p>SimplerTiles can also turn raster images, like NASA's <a href="http://landsat.usgs.gov/">Landsat</a> scenes, into map tiles. Here's a
|
392
|
+
variant of the previous code for a raster tile server that serves a Landsat 8 true color image of New York City.</p>
|
393
|
+
|
394
|
+
<%= highlight 'ruby', <<-CODE
|
395
|
+
|
396
|
+
# Set up the tile url to capture x, y, z coordinates for slippy tile generation
|
397
|
+
get '/tiles/:x/:y/:z.png' do
|
398
|
+
|
399
|
+
# Let the browser know we are sending a png
|
400
|
+
content_type 'image/png'
|
401
|
+
|
402
|
+
# Create a Map object
|
403
|
+
map = SimplerTiles::Map.new do |m|
|
404
|
+
m.slippy params[:x].to_i, params[:y].to_i, params[:z].to_i
|
405
|
+
m.raster_layer "path/to/raster.tif"
|
406
|
+
end
|
407
|
+
map.to_png
|
408
|
+
end
|
409
|
+
|
410
|
+
CODE
|
411
|
+
%>
|
412
|
+
|
413
|
+
<p>Here's the result map:</p>
|
414
|
+
|
415
|
+
<p>
|
416
|
+
<iframe src="http://projects.propublica.org/nyc-raster-demo/" width="600" height="600" scrolling="no" border="0" frameborder="0"></iframe>
|
417
|
+
</p>
|
418
|
+
|
419
|
+
|
379
420
|
<h2>Tips and Tricks</h2>
|
380
421
|
|
381
422
|
<p>
|
@@ -385,20 +426,6 @@ CODE
|
|
385
426
|
</p>
|
386
427
|
|
387
428
|
<ol>
|
388
|
-
<li>
|
389
|
-
If you are using a PostGIS backend make sure to limit your queries to
|
390
|
-
the bounds of the image. You will want to add a <tt>where</tt> clause to each
|
391
|
-
trip to the database like so:
|
392
|
-
<%= highlight 'ruby', <<-CODE
|
393
|
-
|
394
|
-
layer.query Shape.where("the_geom && SRID=4326;\#\{map.buffered_bounds.reproject(map.srs, 'epsg:4326').to_wkt}'\}").to_sql do |query|
|
395
|
-
# ...
|
396
|
-
end
|
397
|
-
|
398
|
-
CODE
|
399
|
-
%>
|
400
|
-
This will protect against doing a full table scan in your database.
|
401
|
-
</li>
|
402
429
|
<li>
|
403
430
|
<p>
|
404
431
|
If you are serving images as part of a tiled map, you'll also want to
|
data/index.html
CHANGED
@@ -161,7 +161,8 @@
|
|
161
161
|
GIS image generation library. It allows you to generate PNG based map
|
162
162
|
images without having to dip into straight C and easily connects with
|
163
163
|
ActiveRecord. It can display any vector data that
|
164
|
-
<a href="http://www.gdal.org/ogr/ogr_formats.html">OGR</a> can read
|
164
|
+
<a href="http://www.gdal.org/ogr/ogr_formats.html">OGR</a> can read and any
|
165
|
+
raster data that <a href="http://www.gdal.org/formats_list.html">GDAL</a> can read..
|
165
166
|
</p>
|
166
167
|
|
167
168
|
<p>
|
@@ -172,6 +173,14 @@ $ gem install simpler-tiles
|
|
172
173
|
</pre>
|
173
174
|
</p>
|
174
175
|
|
176
|
+
<p>
|
177
|
+
<em>Note for Mac OS X users:</em> You might get an error warning about
|
178
|
+
<tt>xcb-shm</tt> if so, you'll need to reinstall cairo with:
|
179
|
+
<blockquote>
|
180
|
+
<tt>brew reinstall cairo --without-x11</tt>
|
181
|
+
</blockquote>
|
182
|
+
</p>
|
183
|
+
|
175
184
|
<p>
|
176
185
|
The api docs are <a href="http://rdoc.info/github/propublica/simpler-tiles/master/framesl">here</a>, and if you have
|
177
186
|
comments or questions head on over to <tt>#newsapps</tt> or <tt>#propublica</tt>
|
@@ -208,10 +217,16 @@ $ gem install simpler-tiles
|
|
208
217
|
C structure and specifies the limit of the map in spatial coordinates.
|
209
218
|
</li>
|
210
219
|
<li>
|
211
|
-
<tt><a href="doc/SimplerTiles/Map.html">SimplerTiles::
|
212
|
-
the <tt><a href="http://propublica.github.com/simple-tiles/#
|
220
|
+
<tt><a href="doc/SimplerTiles/Map.html">SimplerTiles::VectorLayer</a></tt>: wraps
|
221
|
+
the <tt><a href="http://propublica.github.com/simple-tiles/#vector_layers">simplet_vector_layer_t</a></tt>
|
213
222
|
C structure and contains an OGR connection string for a particular data source,
|
214
|
-
and contains a list of <tt>SimplerTiles::Query</tt> objects.
|
223
|
+
and contains a list of <tt>SimplerTiles::Query</tt> objects. <strong>Note:</strong> The <tt>SimplerTiles::Layer</tt>
|
224
|
+
class now proxies to <tt>VectorLayer</tt>.
|
225
|
+
</li>
|
226
|
+
<li>
|
227
|
+
<tt><a href="doc/SimplerTiles/Map.html">SimplerTiles::RasterLayer</a></tt>: wraps
|
228
|
+
the <tt><a href="http://propublica.github.com/simple-tiles/#raster_layers">simplet_raster_layer_t</a></tt>
|
229
|
+
C structure and contains an GDAL connection string for a particular data source.
|
215
230
|
</li>
|
216
231
|
<li>
|
217
232
|
<tt><a href="doc/SimplerTiles/Query.html">SimplerTiles::Query</a></tt>: wraps
|
@@ -238,7 +253,7 @@ $ gem install simpler-tiles
|
|
238
253
|
|
239
254
|
<span class="no">ROOT</span> <span class="o">=</span> <span class="no">File</span><span class="o">.</span><span class="n">expand_path</span><span class="p">(</span><span class="no">File</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="bp">__FILE__</span><span class="p">))</span>
|
240
255
|
|
241
|
-
<span class="n">map</span> <span class="o">=</span> <span class="
|
256
|
+
<span class="n">map</span> <span class="o">=</span> <span class="no">SimplerTiles</span><span class="o">::</span><span class="no">Map</span><span class="o">.</span><span class="n">new</span> <span class="k">do</span> <span class="o">|</span><span class="n">m</span><span class="o">|</span>
|
242
257
|
<span class="n">m</span><span class="o">.</span><span class="n">srs</span> <span class="o">=</span> <span class="s2">"EPSG:3083"</span>
|
243
258
|
<span class="n">m</span><span class="o">.</span><span class="n">bgcolor</span> <span class="o">=</span> <span class="s2">"#ffffff"</span>
|
244
259
|
<span class="n">m</span><span class="o">.</span><span class="n">width</span> <span class="o">=</span> <span class="mi">423</span>
|
@@ -265,7 +280,7 @@ $ gem install simpler-tiles
|
|
265
280
|
|
266
281
|
<p>
|
267
282
|
Simpler Tiles was designed to make <a href="http://wiki.openstreetmap.org/wiki/Slippy_Map">slippy maps</a>. The following is a basic tile
|
268
|
-
server using <a href="http://sinatrarb.com">Sinatra</a>. It will open display any shapefile
|
283
|
+
server using <a href="http://sinatrarb.com">Sinatra</a>. It will open display any shapefile in your home directory
|
269
284
|
by visiting a url like: <a href="">http://localhost:4567/shape/path/to/shapefile.shp</a>
|
270
285
|
</p>
|
271
286
|
|
@@ -289,7 +304,7 @@ $ gem install simpler-tiles
|
|
289
304
|
<span class="n">content_type</span> <span class="s1">'image/png'</span>
|
290
305
|
|
291
306
|
<span class="c1"># Create a Map object</span>
|
292
|
-
<span class="n">map</span> <span class="o">=</span> <span class="
|
307
|
+
<span class="n">map</span> <span class="o">=</span> <span class="no">SimplerTiles</span><span class="o">::</span><span class="no">Map</span><span class="o">.</span><span class="n">new</span> <span class="k">do</span> <span class="o">|</span><span class="n">m</span><span class="o">|</span>
|
293
308
|
<span class="c1"># Set the background color to black</span>
|
294
309
|
<span class="n">m</span><span class="o">.</span><span class="n">bgcolor</span> <span class="o">=</span> <span class="s2">"#000000"</span>
|
295
310
|
|
@@ -342,7 +357,7 @@ $ gem install simpler-tiles
|
|
342
357
|
<span class="cp"> <div id="map"></div></span>
|
343
358
|
<span class="cp"> <script></span>
|
344
359
|
<span class="cp"> var map = new L.Map('map');</span>
|
345
|
-
<span class="cp"> var layer = new L.TileLayer('/tiles/<%= params[:splat] %>/{x}/{y}/{z}.png')</span>
|
360
|
+
<span class="cp"> var layer = new L.TileLayer('/tiles/<%= params[:splat].first %>/{x}/{y}/{z}.png')</span>
|
346
361
|
<span class="cp"> map.addLayer(layer).setView(new L.LatLng(38, -95), 1);</span>
|
347
362
|
<span class="cp"> </script></span>
|
348
363
|
<span class="cp"></body></span>
|
@@ -355,6 +370,34 @@ $ gem install simpler-tiles
|
|
355
370
|
do as a simple replacement for QGIS!
|
356
371
|
</p>
|
357
372
|
|
373
|
+
|
374
|
+
<h2>Raster Demo</h2>
|
375
|
+
<p>SimplerTiles can also turn raster images, like NASA's <a href="http://landsat.usgs.gov/">Landsat</a> scenes, into map tiles. Here's a
|
376
|
+
variant of the previous code for a raster tile server that serves a Landsat 8 true color image of New York City.</p>
|
377
|
+
|
378
|
+
<div class="highlight"><pre><span class="c1"># Set up the tile url to capture x, y, z coordinates for slippy tile generation</span>
|
379
|
+
<span class="n">get</span> <span class="s1">'/tiles/:x/:y/:z.png'</span> <span class="k">do</span>
|
380
|
+
|
381
|
+
<span class="c1"># Let the browser know we are sending a png</span>
|
382
|
+
<span class="n">content_type</span> <span class="s1">'image/png'</span>
|
383
|
+
|
384
|
+
<span class="c1"># Create a Map object</span>
|
385
|
+
<span class="n">map</span> <span class="o">=</span> <span class="no">SimplerTiles</span><span class="o">::</span><span class="no">Map</span><span class="o">.</span><span class="n">new</span> <span class="k">do</span> <span class="o">|</span><span class="n">m</span><span class="o">|</span>
|
386
|
+
<span class="n">m</span><span class="o">.</span><span class="n">slippy</span> <span class="n">params</span><span class="o">[</span><span class="ss">:x</span><span class="o">].</span><span class="n">to_i</span><span class="p">,</span> <span class="n">params</span><span class="o">[</span><span class="ss">:y</span><span class="o">].</span><span class="n">to_i</span><span class="p">,</span> <span class="n">params</span><span class="o">[</span><span class="ss">:z</span><span class="o">].</span><span class="n">to_i</span>
|
387
|
+
<span class="n">m</span><span class="o">.</span><span class="n">raster_layer</span> <span class="s2">"path/to/raster.tif"</span>
|
388
|
+
<span class="k">end</span>
|
389
|
+
<span class="n">map</span><span class="o">.</span><span class="n">to_png</span>
|
390
|
+
<span class="k">end</span>
|
391
|
+
</pre></div>
|
392
|
+
|
393
|
+
|
394
|
+
<p>Here's the result map:</p>
|
395
|
+
|
396
|
+
<p>
|
397
|
+
<iframe src="http://projects.propublica.org/nyc-raster-demo/" width="600" height="600" scrolling="no" border="0" frameborder="0"></iframe>
|
398
|
+
</p>
|
399
|
+
|
400
|
+
|
358
401
|
<h2>Tips and Tricks</h2>
|
359
402
|
|
360
403
|
<p>
|
@@ -364,17 +407,6 @@ $ gem install simpler-tiles
|
|
364
407
|
</p>
|
365
408
|
|
366
409
|
<ol>
|
367
|
-
<li>
|
368
|
-
If you are using a PostGIS backend make sure to limit your queries to
|
369
|
-
the bounds of the image. You will want to add a <tt>where</tt> clause to each
|
370
|
-
trip to the database like so:
|
371
|
-
<div class="highlight"><pre><span class="n">layer</span><span class="o">.</span><span class="n">query</span> <span class="no">Shape</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="s2">"the_geom && SRID=4326;</span><span class="si">#{</span><span class="n">map</span><span class="o">.</span><span class="n">buffered_bounds</span><span class="o">.</span><span class="n">reproject</span><span class="p">(</span><span class="n">map</span><span class="o">.</span><span class="n">srs</span><span class="p">,</span> <span class="s1">'epsg:4326'</span><span class="p">)</span><span class="o">.</span><span class="n">to_wkt</span><span class="si">}</span><span class="s2">'}"</span><span class="p">)</span><span class="o">.</span><span class="n">to_sql</span> <span class="k">do</span> <span class="o">|</span><span class="n">query</span><span class="o">|</span>
|
372
|
-
<span class="c1"># ...</span>
|
373
|
-
<span class="k">end</span>
|
374
|
-
</pre></div>
|
375
|
-
|
376
|
-
This will protect against doing a full table scan in your database.
|
377
|
-
</li>
|
378
410
|
<li>
|
379
411
|
<p>
|
380
412
|
If you are serving images as part of a tiled map, you'll also want to
|
@@ -415,7 +447,7 @@ $ gem install simpler-tiles
|
|
415
447
|
<h2>Change Log</h2>
|
416
448
|
|
417
449
|
<dl>
|
418
|
-
<dd><b>0.2.
|
450
|
+
<dd><b>0.2.1</b> — June 21st, 2014</dd>
|
419
451
|
<dt>Added raster support. (thanks <a href="http://github.com/ashaw">Al Shaw</a>)</dt>
|
420
452
|
<dd><b>0.1.1</b> — February, 10th 2014</dd>
|
421
453
|
<dt>Small fix for building on OSX.</dt>
|
data/lib/simpler_tiles/map.rb
CHANGED
data/simpler-tiles.gemspec
CHANGED
@@ -27,4 +27,5 @@ Gem::Specification.new do |s|
|
|
27
27
|
s.add_development_dependency(%q<minitest>, ["~> 4.0.0"])
|
28
28
|
s.add_development_dependency(%q<shoulda>, ["~> 3.5.0"])
|
29
29
|
s.add_development_dependency(%q<yard>, ["~> 0.8.0"])
|
30
|
+
s.add_development_dependency(%q<pygmentize>, ["~> 0.0.3"])
|
30
31
|
end
|
data/test/test_simpler_tiles.rb
CHANGED
@@ -17,7 +17,8 @@ class TestSimplerTiles < Test::Unit::TestCase
|
|
17
17
|
end
|
18
18
|
# to set a nodata flag on a landsat look img
|
19
19
|
# gdal_translate -a_nodata 0 someplaceintexas.jpg someplaceintexas_nodata.jpg
|
20
|
-
m.raster_layer "#{File.dirname(__FILE__)}/../data/someplaceintexas-nodata.jpg"
|
20
|
+
raster = m.raster_layer "#{File.dirname(__FILE__)}/../data/someplaceintexas-nodata.jpg"
|
21
|
+
# raster.lanczos!
|
21
22
|
end
|
22
23
|
|
23
24
|
assert map.valid?
|
@@ -32,34 +33,34 @@ class TestSimplerTiles < Test::Unit::TestCase
|
|
32
33
|
|
33
34
|
|
34
35
|
should "not crash with memory errors" do
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
36
|
+
GC.disable
|
37
|
+
t = 10.times.map do
|
38
|
+
Thread.new do
|
39
|
+
map = SimplerTiles::Map.new do |m|
|
40
|
+
m.slippy 3, 6, 4
|
41
|
+
m.layer "#{File.dirname(__FILE__)}/../data/tl_2010_us_state10.shp" do |l|
|
42
|
+
l.query "SELECT * from 'tl_2010_us_state10'" do |q|
|
43
|
+
q.styles 'fill' => "#061F3799",
|
44
|
+
'line-join' => "round",
|
45
|
+
'line-cap' => "square",
|
46
|
+
'seamless' => "true"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
m.raster_layer "#{File.dirname(__FILE__)}/../data/someplaceintexas-nodata.jpg"
|
50
|
+
end
|
50
51
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
52
|
+
assert map.valid?
|
53
|
+
map.to_png do |data|
|
54
|
+
assert data
|
55
|
+
File.open "#{File.dirname(__FILE__)}/out.png", "wb" do |f|
|
56
|
+
f.write data
|
57
|
+
end
|
58
|
+
assert data.length
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
t.map(&:join)
|
63
|
+
GC.enable
|
64
|
+
GC.start
|
64
65
|
end
|
65
66
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simpler-tiles
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Larson
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 0.8.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pygmentize
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.0.3
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.0.3
|
83
97
|
description: Ruby bindings for Simple Tiles
|
84
98
|
email: thejefflarson@gmail.com
|
85
99
|
executables: []
|
@@ -148,7 +162,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
148
162
|
version: '0'
|
149
163
|
requirements: []
|
150
164
|
rubyforge_project:
|
151
|
-
rubygems_version: 2.2.
|
165
|
+
rubygems_version: 2.2.2
|
152
166
|
signing_key:
|
153
167
|
specification_version: 4
|
154
168
|
summary: A set of ruby bindings for the Simple Tiles mapping library.
|