Dear Ákos, Thank you so much for your quick and detailed reply! I did not know about Google s2geometry.io library before, but now I noticed its impact on the sf package.
Have a great one! 叶翔 YE, Xiang THINKING SPATIALLY<http://www.linkedin.com/in/spatialyexiang>. Ph.D. in Spatial Statistics ________________________________ From: R-sig-Geo <r-sig-geo-boun...@r-project.org> on behalf of Bede-Fazekas Ákos <bfalevl...@gmail.com> Sent: Monday, February 19, 2024 18:24 To: r-sig-geo@r-project.org <r-sig-geo@r-project.org> Subject: Re: [R-sig-Geo] How to create inward (shrinking) buffer zones with st_buffer() [You don't often get email from bfalevl...@gmail.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ] Dear Xiang, sure it is possible. I suggest using a CRS that is projected, e.g. 3857 (Web Mercator), or turn off s2 geometry. If you turn off s2, then st_buffer() will interpret the dist parameter in degrees. Anyway, if you choose a small enough number, then you'll get a non-empty geometry. > sf_use_s2(FALSE) Spherical geometry (s2) switched off > st_buffer(a, -100) dist is assumed to be in decimal degrees (arc_degrees). Geometry set for 1 feature (with 1 geometry empty) Geometry type: POLYGON Dimension: XY Bounding box: xmin: NA ymin: NA xmax: NA ymax: NA Geodetic CRS: WGS 84 POLYGON EMPTY Warning message: In st_buffer.sfc(a, -100) : st_buffer does not correctly buffer longitude/latitude data > st_buffer(a, -0.001) dist is assumed to be in decimal degrees (arc_degrees). Geometry set for 1 feature Geometry type: POLYGON Dimension: XY Bounding box: xmin: -2.533411 ymin: 51.40595 xmax: -2.489763 ymax: 51.4315 Geodetic CRS: WGS 84 POLYGON ((-2.533083 51.41747, -2.528692 51.4204... Warning message: In st_buffer.sfc(a, -0.001) : st_buffer does not correctly buffer longitude/latitude data (I don't know why s2 can't deal with negative distance if the CRS is WGS-84.) HTH, Ákos ____________ Ákos Bede-Fazekas Centre for Ecological Research, Hungary 2024. 02. 19. 11:04 keltezéssel, Xiang Ye via R-sig-Geo írta: > Dear community, > > I am learning some basic geometry operation functions of sf package including > st_buffer(). > > It seems there should be no wonder if I provide a negative value to the dist > argument in st_buffer(), I should expect an inward/shrinking buffer zone (I > also followed here: > https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgis.stackexchange.com%2Fquestions%2F392505%2Fcan-i-use-r-to-do-a-buffer-inside-polygons-shrink-polygons-negative-buffer&data=05%7C02%7Cxiangye%40buffalo.edu%7C3442c930a8b649158f2a08dc3135888f%7C96464a8af8ed40b199e25f6b50a20250%7C0%7C0%7C638439353229473724%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=O%2FqzCFqVDv2%2FmjZWZTjLgYx73eq%2FxYVMz5yQKUW5jWw%3D&reserved=0)<https://gis.stackexchange.com/questions/392505/can-i-use-r-to-do-a-buffer-inside-polygons-shrink-polygons-negative-buffer>. > However, it turn out to be as long as I provide a negative value, the output > will be an empty geometry: > > library(sf) > library(spDataLarge) > st_geometry(bristol_zones[1, ]) -> a # a is the exemplary data set > >> a > Geometry set for 1 feature > Geometry type: MULTIPOLYGON > Dimension: XY > Bounding box: xmin: -2.534502 ymin: 51.40487 xmax: -2.488435 ymax: 51.43478 > Geodetic CRS: WGS 84 > MULTIPOLYGON (((-2.510462 51.42878, -2.507985 5... >> st_buffer(a, 100) > Geometry set for 1 feature > Geometry type: POLYGON > Dimension: XY > Bounding box: xmin: -2.536248 ymin: 51.40393 xmax: -2.486907 ymax: 51.43598 > Geodetic CRS: WGS 84 > POLYGON ((-2.517834 51.43188, -2.518218 51.4318... >> st_buffer(a, -100) > Geometry set for 1 feature (with 1 geometry empty) > Geometry type: POLYGON > Dimension: XY > Bounding box: xmin: NA ymin: NA xmax: NA ymax: NA > Geodetic CRS: WGS 84 > POLYGON EMPTY > > So I would like to know if it is possible to create inward buffer zones with > st_buffer()? If st_buffer() is not designed to perform this, what is the best > alternative? > > Thank you, and have a great start of the week! > > $B3pfF(B YE, Xiang > THINKING > SPATIALLY<https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.linkedin.com%2Fin%2Fspatialyexiang&data=05%7C02%7Cxiangye%40buffalo.edu%7C3442c930a8b649158f2a08dc3135888f%7C96464a8af8ed40b199e25f6b50a20250%7C0%7C0%7C638439353229481810%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=LI5uCDlgSC09%2BWqxLiZOTzTQs2dKFZ3wybiWz2Txp8w%3D&reserved=0<http://www.linkedin.com/in/spatialyexiang>>. > Ph.D. in Spatial Statistics > > [[alternative HTML version deleted]] > > _______________________________________________ > R-sig-Geo mailing list > R-sig-Geo@r-project.org > https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fr-sig-geo&data=05%7C02%7Cxiangye%40buffalo.edu%7C3442c930a8b649158f2a08dc3135888f%7C96464a8af8ed40b199e25f6b50a20250%7C0%7C0%7C638439353229485219%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=ZoOpUVvjOBdGRse3srYQwn33b46RCgiic9OKcoEBDys%3D&reserved=0<https://stat.ethz.ch/mailman/listinfo/r-sig-geo> -- Ezt az e-mailt átvizsgálta az Avast AntiVirus szoftver. https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.avast.com%2F&data=05%7C02%7Cxiangye%40buffalo.edu%7C3442c930a8b649158f2a08dc3135888f%7C96464a8af8ed40b199e25f6b50a20250%7C0%7C0%7C638439353229488426%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=0bOAAX%2FUAXJxbqmgaqgi2CWt9hUpQPXfSx%2FWjufMiR8%3D&reserved=0<http://www.avast.com/> _______________________________________________ R-sig-Geo mailing list R-sig-Geo@r-project.org https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fr-sig-geo&data=05%7C02%7Cxiangye%40buffalo.edu%7C3442c930a8b649158f2a08dc3135888f%7C96464a8af8ed40b199e25f6b50a20250%7C0%7C0%7C638439353229493290%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=X%2FOjP9Oy7Xe%2BwnqpObNLx0ct3R5HXQraeyjlQ2Cl3m0%3D&reserved=0<https://stat.ethz.ch/mailman/listinfo/r-sig-geo> [[alternative HTML version deleted]] _______________________________________________ R-sig-Geo mailing list R-sig-Geo@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo