-
move dependency
RPostgreSQLback to Suggests:, from Imports: -
st_centroid.sfandst_point_on_surface.sfnow also warn if attributes are not constant over geometries. -
summarisenow allows the user to define geometries for summaries; #714, by Kirill Mueller -
plot.sfnow emits a warning ifcoldoes not have length 1 ornrow(x), and requirespal(rather thancol) to set a palette for factors. -
plot.sfprovides control over legend keys usingkey.lengthandkey.width, decrease default key length; #731 -
sgbpobjects receive anas.data.framemethod; #715
-
GDAL read/write now supports logical variables; #722
-
add
st_cropto simplify cropping objects with a rectangular area; #720 -
fix bug in
[<-when columns are added to ansfobject; #718 -
use dynamic registration of S3 methods, similar to how hms does this; #710 by Kirill Mueller
-
(partially) address writing GPKG to network drive, writing to temp file first; #628
-
add Kirill Mueller as contributor
-
st_make_gridis now faster; #708, by Dan Baston -
st_readandst_writeare now generic, with methods for directly reading from and writing to database connections;st_read_dbandst_write_dbare now deprecated; #558, thanks to Etienne Racine @etiennebr -
Package
RPostgreSQLmoved from Suggests to Imports -
restore compatibility with GDAL 2.0.x versions (which won't have
gdal_utils); #686 -
read_sfcan now also read tables without geometry; #684, by Andy Teucher
-
method
distinctnow works; #669, #672 -
+,-,*and/for pairs of geometries (sfg,sfc) now return geometric union, difference, intersection and symmetric difference, respectively. -
st_castfromMULTIPOLYGONtoMULTILINESTRINGshould now work properly; #660 -
all Rcpp interfaces needed by package
starshave now been moved intosf; pkgstarsis now R-only, and onlysfneeds linking to GDAL. -
gdal_utils()now interfaces the 9 gdal utils using the C++ API -
improve resetting (base) plots; add
reset = FALSEin a call toplotto enable adding to plots that have a legend -
st_readnow returns adata.framewhen a table contains no geometries, rather than giving an error; it does emit a warning in this case. See https://stat.ethz.ch/pipermail/r-sig-geo/2018-February/026344.html -
move
pillarfromImports:toSuggests: -
update to the new rwinlib distribution of gdal (adds JPG2000); #639
-
speed up computation of centroids for largest polygon; #623
-
add
st_as_sfc.rawmethod -
Bugfix: binary operations (
st_intersection,st_difference, etc) no longer fail when operating on data frames of class"tbl_df"with common column names; #644
-
add
pillarto Imports: to provide method for printing WKT geometries in tibbles -
st_as_text, and subsequentlyformatandprint, now use argumentdigits(oroptions(digits = n)) to control the number of digits used for printing coordinates; default is nowoptions("digits"), which is typically 7. -
st_is_within_distancenow works with geographic coordinates -
st_castfromMULTIPOLYGONtoMULTILINESTRINGno longer changes the number of features/feature geometries, but conversion fromMULTIPOLYGONtoLINESTRINGnow (typically) does; #596 -
st_distancefor long/lat geographic coordinates now useslwgeom, accepting all geometry types; argumentdist_funis deprecated as a consequence, and distance calculations are different from those in sf versions 0.5-5 or earlier; #593 -
add package
lwgeomto Suggests;st_area,st_length,st_distance,st_segmentizefor long/lat CRS now use packagelwgeominstead ofgeosphere; #593 -
st_lengthnow returns zero for polygon-type geometries; #593 -
if present, add units of attribute to default plot title; #591
-
add
unnestmethod, which depends ontidyr> 0.7-2; #570 PR by @karldw -
add
largestoption tost_jointo get largest intersection match only; #547, by @tiernanmartin -
change default maximum number of feature to print to 10, controllable by
options(sf_max_print); #556 -
add
Hausdorff(andFrechetfor those with GEOS 3.7.0) as options tost_distance; addparfor densified versions -
add
st_snap, for snapping geometries to other geometries, within a tolerance -
make
st_wrap_datelinea generic, with methods forsf,sfcandsfg; #541 -
plot.sfandst_as_grob(used by ggplot2) are now robust against misspecified ring directions (holes that have the same direction as the exterior rings), by usingrule = "evenodd"; #540 -
functions depending on
liblwgeom(st_make_valid,st_geohash,st_plit) have been moved to their own package, https://github.com/r-spatial/lwgeom; argumentuse_gdalofst_transformhas been deprecated, instead one can now uselwgeom::st_transform_proj; sf now no longer tries to link to liblwgeom; #509, #537, #487 -
st_read,st_sfandst_sfcgain a parametercheck_ring_dir(default:FALSE) that checks ring directions and corrects to: exterior counter clockwise, holes clockwise, when seen from above. -
get rid of
classInt::classIntervalswarning if number of unique values is smaller than the number of breaks asked for
-
have
classIntin Imports:, to not break other package checks -
add vignettes 5: plotting sf objects and 6: miscellaneous; #324
-
add (default) color key to
plot.sfif single map is plotted, contributed by @hughjonesd; #528 -
st_as_sfccan now read EWKT; #530 -
argument
max.plottakes its default fromoptions(sf_max.plot=n), if present; #516 -
plot.sfgets an argumentspalto specify a color palette function; #526 -
plot.sfgets argumentsbreaksandnbreaks; add support forclassInt::classIntervalsstyles for finding class intervals (usingbreaks) -
add
st_as_sfmethods forppp,lppandpspobjects from spatstat. -
allow for direct route to proj.4 ignoring GDAL (requiring liblwgeom); #509, #511
-
add
printmethod forcrsobjects; #517 -
sf_extSoftVersionnow reveals whether GDAL was linked to GEOS; #510 -
better check input of
st_polygon; #514 -
add
st_node, similar torgeos::gNode -
support for reading
OFTInteger64Listfields; #508 -
sparse geometric binary predicate lists now have a class,
sgbp, and attributesregion.idandpredicate; #234, #524 -
prevent
st_splitfrom stopping the R session; #492 -
st_intersection,st_unionand so on now also print a message when used directly on long/lat coordinates; #496 -
add
repmethod forsfcobjects -
comparing two
crsobjects now uses the GDAL functionIsSame; #180 -
add
st_collection_extract, which, given an object with geometries of typeGEOMETRYorGEOMETRYCOLLECTION, returns an object consisting only of elements of the specified type; by Andy Teucher, #482 -
st_writeexports GeoJSON with UTF-8 encoding on Windows; #444 -
move package methods from Imports: to Depends: ; #478
-
deal better with precision setting and propagation; #476
-
fix bug in
st_layersin case layers have no geometry; #334 -
clarify argument
envelopeinst_voronoi; #474 -
change aggregate to make it return the same geometry as 'by', padding attributes with NA where needed; #453
-
fix compatibility problems introduced by
tidyr0.7-0 using rlang magic -
convert path names to UTF-8 in
st_read,st_writeandst_layers; #471 -
st_sfcconvertsNULLvalues into empty geometries, and correctly identifies emptyPOINTs; #466, #463 -
st_writeabbreviates column names if driver isESRI Shapefile; #464 -
add
of_largest_polygonargument tost_centroid, to get the centroid of the largest polygon; #450 -
fix use of
st_relateas join predicate forst_join; #454 -
fix bug where
st_intersectswith empty second argument would crash; #458 -
produce better WKT; #463
-
fix bug in
st_cast.sf; #461, #462 -
change
st_readSRS assignment logic; corrects reading projected geojson with gdal 2.2.0; #449 -
st_intersectionetc. ontblnow also returntbl; #448 -
[.sfpreserves class, e.g. oftbl; #448
-
support and propagate all Proj.4 +units=xx length units; #446
-
allow for arith ops on empty
sfcobjects -
have
st_graticulereturn an empty graticule object when argumentdatumisNA; -
export
as_Spatial, to make it easer for packages to convertsfcobjects without importingsf -
st_distancegains a parameterby_elementto obtain pairwise distances; #437 -
add the ability to
aggregateusing a simple featurebyargument; #429 -
make the
opargument to[.sfwork -
speed up
st_coordinatesforPOINTgeometries; #433 -
fix performance regression for
st_bbox; #418 -
correct bug in
st_union,st_differenceandst_sym_differenceintroduced in 0.5-2; #431 -
inform gdal about the CRS always through the proj4string, never through the epsg; see #424
-
properly deal with kilometre units; #424 (fixed by Karl Dunkle Werner)
-
add
st_is_within_distance, only to return a sparse index matrix; #419 -
have
st_graticulework with world2 (0,360); #421, #422, fixed by Ben Best -
st_graticuleto return graticules in native crs; tidyverse/ggplot2#2200 (WIP) -
st_graticuleto support data inNA_crs_; tidyverse/ggplot2#2199 -
fix bug when joining an sf-tibble with a
tibble; #414 -
read gdal
StringList,RealList, andIntegerListfields into a list-column; #416
-
made ready for rwinlib/gdal2; #408
-
make
[.sffor selections includingNAvalues likex[c(1,NA,2)]; #403 -
add a
[<-method forsfcobjects; automatically replacesNULLwith an empty geometry; #411 -
add
st_point_on_surface()to return a point that is guaranteed to be on the surface (standard compliance) -
read_sfnow returns an sf-tibble, an object of classc("sf", "tbl_df", "tbl", "data.frame") -
work around for
dplyr::filternot dispatching geometry column subsetting tosf::[.sfc -
allow
unitsobject asdistargument tost_buffer; these must be convertable toarc_degreefor geographic, and to a length unit for non-geographic data; #399 -
prevent gdal from crashing when trying to
st_transforman empty geometry; #398 -
add
st_as_sfcmethod forbbox, returning the bbox polygon; #377 -
strip file name extension from default layer name in
st_write; #392 -
have
st_sfreplaceNULLvalues in ansfclist-column with the appropriate empty geometry; #372 -
allow setting
ndiscrthroughggplot2::coords_sfto improve graticule plotting ingeom_sf; #396
-
add spatial indexes to most binary geometry operations; #394 and http://r-spatial.org/r/2017/06/22/spatial-index.html
-
drastically reduce memory footprint of
st_intersectionand similar; #394 -
support RSQLite 2.0 by providing an
st_as_sfcmethod for list columns of classblob -
drop dependency on dbplyr
-
better handle empty/NULL geometries in shapefiles; #351
-
add
unite_.sfmethod -
deprecate
FUNargument tost_join; #376 -
improve graticule tic label placement in
ggplot2; #375 and tidyverse/ggplot2#2119 -
improve
configurelogic to deal with libraries installed in custom locations; #335 -
fix bug where
geom_sfwouldn't deal with Z and/or M geoms; #373 -
return more conveniently typed empty geoms; #372
-
fix subsetting with
[ofsfusingdrop = TRUE, #370 -
in addition to
m, allowradunits tost_segmentize -
add example how to
st_readGeoJSON from a string; #185 -
add
separate_.sfmethod -
add
st_splitto split geometries (only available if compiled against liblwgeom), #359 -
fix bug reading and writing dates (months 1 off): #358
-
[.sf and [.sfc now also select on i when i is an
sfgobject, and accept a geometric predicate function with optional arguments; #352 -
on reading through GDAL, empty (NULL) geometries no longer result in an error; on creation, they no longer automatically give a
GEOMETRYobject; #351 -
on plotting with
ggplot2::geom_sf, empty geometries no longer break; grid functions returnnullGrob()for them; #351 -
arith operations on empty geometries no longer break or give warnings; #351
-
have
st_as_sf.data.frameby default break onNAvalues in coordinates; #342 -
have
st_joinaccept further arguments, to be passed on to thejoinfunction (e.g. a pattern forst_relate) -
have WKB reader throw an error on (some) malformed inputs, and check for buffer bounds
-
back-port
do_unionargument to dplyr <= 0.5.0, using lazyeval -
all strings returned from OGR/GDAL now get encoding set to
UTF-8, making them work on non-UTF-8 platforms; #5 -
$.crsnow retrieves proj4string components, such asst_crs(4326)$datumin addition toepsgandproj4string -
let
st_geohashreturn geohash for (average) points (only when sf was linked to liblwgeom)
-
summarise.sfnow always returns ansfobject, also for global (non-grouped) summaries. -
summarise.sfgains an argumentdo_unionwhich determines whether to union the geometries for which a summary is given, or tost_combinethem (not resolving boundaries); #331 -
rename argument
unionofaggregate.sfintodo_union, for consistency withsummarise; #331 -
add a
nest_method forsfobjects -
st_relategets apatternparameter, same asrgeos::gRelate; add examples to get rook and queen neighbour lists using this; #234 -
support for direct reading of spatialite and sqlite geometry wkb blobs
-
build proper support for
cbindandrbindmethods forsf, which work (as documented) when all arguments are of classsf;dplyr::bind_colsorst_sf(data.frame(sf, df))work for bindingdata.frames to ansfobject. -
st_segmentize()andst_line_sample()now accept units arguments -
document problem reading shapefiles from USB drives on OSX; #252
-
improve docs of
st_is_validandst_make_valid; #296 -
coercing
sftodata.framenow works better; #298 -
st_line_samplegains argumentsampleto specify the points t.b. sampled; #299 #300 thanks to @joethorley -
add compatibility to upcoming dplyr 0.6.0; #304 #42
-
write GDAL fields by name, not by number, fixing a KML problem #308
-
st_writegains argumentsdelete_layeranddelete_dsnto allow overwrite capability #307 #274 -
write_sfdefaults todelete_layer=TRUE, silently overwriting layers if they're already present -
compatibility with GDAL 2.2beta0; #303; #309
-
replace
st_write_dbwith a version that is fast for large datasets (#285), thanks to Josh London -
take out more memory leaking examples in tests
-
the
aggregatemethod forsfobjects now assumes thebyargument to be identical to that ofstats::aggregate -
st_wrap_datelinewraps (cuts up) geometries crossing the antimeridian, such that they no longer cross it.
-
restore 3.3.0 and c++11 requirement
-
st_readnow respects time that is read as UTC -
st_writenow writes time always as UTC, since GDAL does not have a mechanism to define local timezones other than "unkown" or "local" -
st_lengthnow works for POINT and MULTIPOINT (returning 0); POLYGON and MULTIPOLYGON are converted to MULTILINESTRING before computing length, thus giving polygon perimeter (#268) -
st_writenow hasupdatedepend on driver; now, for databases, the default isTRUE, otherwiseFALSE(it refers to update of the database, and not to overwriting the table in the database, this will by default not succeed); #274 -
st_readsupports reading objects with multiple geometry columns #257 #255 -
support writing (exporting) objects with non-standard columns, such as
unitsorPOSIXlt#264 -
catch dependencies on GEOS 3.3.5 (hence no 0.4-0 CRAN binary for MacOSX) #260
-
have
st_is_validcatch corrupt geometries too, returningNAin that case (requiring GEOS 3.5.0) -
add
st_make_valid, only available when sf was linked toliblwgeom -
add
st_coordinatesmethod, returning coordinates matrix with indexes -
remove
unlist.sfg -
add
as.matrix.sfg; have as.matrix.sfg add indexes to coordinates -
add
st_bind_colsmethod -
improve handling features that can't be projected
-
support uniform sampling over polygons on the sphere
-
add
st_sample, for sampling points on multipoints, linestrings, or polygons -
add
cmethod forsfcobjects -
import and export
magrittr::%>% -
support ggplot'ing geometrycollections
-
drop C++11 requirement, allowing build for older R versions
-
add
st_proj_info, modelled afterrgdal::projInfo -
overwriting datasets with
st_writeis no longer allowed; update=TRUE appends to them, permitted the driver supports appending. -
st_writegains an argument,update, which whenTRUEwill try to append to existing datasets (#204) -
added list of corresponding function for migration from sp, rgdal and rgeos to sf at https://github.com/edzer/sfr/wiki/migrating
-
remove deprecated
st_list -
rename
st_makegridtost_make_grid, andst_linemergetost_line_merge -
add NEWS.md file (#207)
-
faster conversion of
data.frameintoPOINTsfobject, usingst_as_sf(Mike Sumner) -
rbindmethod forsfobjects now keeps coordinate reference system
-
add
st_contains_properlyspatial predicate -
GEOS functions (geometry operations) now accept XYZ geometries (and ignore Z)
-
make
prepared = TRUEthe default for all geometry binary operations
-
add user interrupt checks in all GEOS geometry operations
-
make
st_graticuledo something useful for polar projections -
make
st_graticulereturnNAlabels when labels are useless -
add
merge.sfmethods to mergesfobject anddata.frame(#193) -
add
st_joinfor table joins based on (user-defined) spatial predicates -
add
dplyr-style non-spatial joins forsfobjects (left_join,full_joinetc.) (#193) -
allow for multiple non-gathered variables (#196)
-
add missing meridian to
st_graticule(#198)
-
add
mergemethod (#193) -
st_graticulefor laea (#198) -
allow
st_bufferwith feature-dependent buffer distance (#197) -
have
spreadreturn ansfobject (#196) -
clarify
overwrite = TRUEin write docs -
fix
st_as_sf.map(#194) -
add
preparedarg to spatial binary predicates, to speed up large intersections -
add
st_voronoiinterface (requires that lib GEOS >= 3.5.0) -
add
st_as_sfmethods formapobjects (library maps) -
add RStudio project file
-
have
st_bboxreturn abboxobject which has anst_crsmethod -
rename
st_drop_zmintost_zm, for general more handling of Z and M -
allow for 3D coordinates returned, when
+proj=geocent(#172; #103) -
fix
NA_integer_handling in shapefiles I/O (#184) -
add and fix
st_agrAPI, to set and get attribute-to-geometry relationships