Changelog
Source:NEWS.md
geolibre 0.2.0
First CRAN release. This release brings the R API to parity with the GeoLibre Python API. The package now covers every layer type the application reads, layer management, data-driven symbology, on-map controls, standalone HTML export, and a Shiny proxy that drives the live map.
New layer types
- Add
add_cog()and keepadd_raster()as its generically named alias. - Add XYZ raster tiles with
add_tile_layer(). - Add OGC services with
add_wms(),add_wmts(), andadd_wfs(). - Add
add_vector()for any format the in-browser vector control streams, withadd_geoparquet(),add_flatgeobuf(),add_shp(),add_kml(), andadd_gpkg()wrappers. Local files are read withsfand inlined instead. - Add
add_vector_tiles(),add_pmtiles(),add_3d_tiles(), andadd_video(). - Add points from coordinates, matrices, data frames, or CSV with
add_marker(),add_markers(),add_circle_markers(),add_marker_cluster(),add_heatmap(),add_xy_data(), andadd_csv(). -
add_xy_data()now builds ordinary data-frame point features in one pass, substantially reducing construction time for large tables. - Add
add_geojson()support for HTTP(S) URLs andsfc/sfgobjects, andadd_data()for column-driven symbology in one call.
Symbology and layer management
- Add
add_choropleth()andclassify_layer(), which compute the same graduatedvectorStyleStopsthe application’s Style panel produces, using equal-interval or quantile classification. - Add the color ramp catalog:
color_ramp_names(),get_color_ramp(), andinterpolate_ramp_colors(). - Add
get_layers(),get_layer(),layer_names(), andfind_layer_index()for inspection, andlayer_properties()andcolumn_values()for reading feature attributes back. - Add
set_layer_visibility(),show_layer(),hide_layer(),set_layer_opacity(),set_layer_style(),rename_layer(),move_layer(),duplicate_layer(),remove_layer(), andclear_layers(). Each accepts a layer id or a layer name. - Every
add_*()function now accepts style overrides as named arguments as well as throughstyle, soadd_geojson(map, data, fillColor = "red")works. - Layers now carry the application’s full default style, so a project round-trips without the application filling in gaps differently.
Map controls and the camera
- Add
add_legend()from a named vector, parallel label and color vectors, or a built-in preset;builtin_legend_names()lists the presets. - Add
add_colorbar()andadd_colormap()for continuous rasters, from a named ramp or a custom gradient. - Add
split_map()for before-and-after swipe comparisons. - Add
set_center(),set_zoom(),set_bearing(),set_pitch(), andfit_bounds(), which frames a bounding box and handles boxes that cross the antimeridian. - Add
set_basemap()andadd_basemap(), plus thebasemaps()catalog.geolibre()also takescenter,zoom,basemap, andnamedirectly. - Add
layoutandthemearguments togeolibre().layout = "full"shows the complete desktop interface.map_onlyis superseded bylayout = "maponly"and still works.
Projects, export, and credentials
- Add
to_html(), which writes a standalone page that needs no running R session. - Add
get_project()anddescribe_project(), andset_project_name(). - Add
redact_credentials(),redact_layer(), andredact_url().save_project()now strips credentials by default; passkeep_credentials = TRUEfor a trusted local file.
Shiny
- Add a command bridge so a proxy can drive the live map:
geolibre_fly_to(),geolibre_fit_bounds(),geolibre_zoom_to_layer(),geolibre_get_view(),geolibre_identify(),geolibre_layer_features(),geolibre_selected_features(),geolibre_drawn_features(),geolibre_list_algorithms(),geolibre_run_algorithm(),geolibre_to_image(), and the generalgeolibre_command(). - Replies arrive on
input$<outputId>_resultand user interaction oninput$<outputId>_event, alongside the existing_projectand_errorinputs.
Bug fixes
-
add_marker()and namedadd_markers()entries now reject invalid coordinates and properties instead of serializing malformed GeoJSON. -
set_view(bbox = )wrote an unknownboundsfield that the application ignored, so the requested extent was silently dropped. It now resolves the box to thecenter,zoom, andbboxthe application reads. - The default camera now matches the application’s own,
c(-100, 40)at zoom 2, rather thanc(0, 20).
geolibre 0.1.0
Initial release, on GitHub only.
- Add a responsive
htmlwidgetsinterface to GeoLibre for RStudio, Quarto, R Markdown, and Shiny. - Add GeoJSON and
sfvector layers and remote COG/GeoTIFF raster layers. - Add camera controls and
.geolibre.jsonproject import and export. - Add Shiny output, render, proxy, and live project-state bindings.
- Support hosted and self-hosted GeoLibre deployments.