El método add_geojson permite cargar y renderizar archivos GeoJSON directamente sobre el mapa.
Cada archivo GeoJSON se procesa como una capa independiente.
Nota libgd-gis evoluciona muy rápido, por lo que algunos ejemplos pueden dejar de funcionar temporalmente. Reportá problemas o pedí ayuda: https://github.com/ggerman/libgd-gis/issues o ggerman@gmail.com
require "gd/gis"
require "gd"
TOKYO = [139.68, 35.63, 139.82, 35.75]
map = GD::GIS::Map.new(
bbox: TOKYO,
zoom: 13,
basemap: :esri_satellite
)
map.style = GD::GIS::Style.load("solarized")
map.add_geojson("railways.geojson")
map.add_geojson("parks.geojson")
map.add_geojson("wards.geojson")
map.render
map.save("tokyo.png")
add_geojson?Cada llamada a add_geojson:
Cada GeoJSON se agrega como una capa nueva.
PointMultiPointLineStringMultiLineStringPolygonMultiPolygonEl estilo define cómo se visualiza cada tipo.
Las capas se renderizan en el orden de carga:
map.add_geojson("base.geojson")
map.add_geojson("overlay.geojson")
Las últimas capas se dibujan encima.
add_geojson depende completamente del estilo activo.
Ver examples/styles/ para ejemplos.
Luego del render, se pueden agregar overlays manuales
utilizando ruby-libgd.
Ejemplo: agregar una etiqueta
img = GD::Image.open("tokyo.png")
font = "../fonts/DejaVuSans-Bold.ttf"
img.filled_rectangle(24, 24, 264, 88, [0, 0, 0])
img.text(
"TOKYO",
x: 48,
y: 68,
size: 32,
color: [255, 255, 255],
font: font
)
img.save("tokyo.png")