pramitghosh / samesvd Goto Github PK
View Code? Open in Web Editor NEW(Self-)similarity and (self-)affinity measures for spatial vector data
Home Page: https://pramitghosh.github.io/sameSVD/
License: MIT License
(Self-)similarity and (self-)affinity measures for spatial vector data
Home Page: https://pramitghosh.github.io/sameSVD/
License: MIT License
Sapozhnikov, V., & Foufoula‐Georgiou, E. (1996). Self‐affinity in braided rivers. Water Resources Research, 32(5), 1429-1439. https://doi.org/10.1029/96WR00490
PDF: http://efi.eng.uci.edu/papers/efg_023.pdf
is a well-known paper exploring self-affinity in a geographic context. It would be great if parts of the paper, particularly those involving calculation of self-affinity of the rivers Aichilik and Hulahula (in Alaska) and Brahmaputra (in Bangladesh), could be reproduced using this package in the form of a vignette.
Abstract:
Three braided rivers of different scales and different hydrologic/geomorphologic characteristics (the Aichilik and Hulahula in Alaska and the Brahmaputra in Bangladesh) are analyzed for spatial scaling using a logarithmic correlation integral method developed earlier by the authors. It is shown that the rivers exhibit anisotropic scaling (self‐affinity) with fractal exponents v x = 0.72–0.74 and v y = 0.51‐0.52, the x axis being oriented along the river and the y axis in the perpendicular direction. The fact that despite large differences in scales (0.5–15 km in braid plain width), slopes (7 × 10−3 to 8 × 10−5), and types of bed material (gravel to sand), the analyzed braided rivers show similar spatial scaling deserves special attention. It might indicate the presence of universal features in the underlying mechanisms responsible for the formation of the spatial structure of braided rivers. Also, comparison of fractal characteristics of braided rivers with those of single‐channel rivers and river networks suggests that braided rivers form a class of fractal objects lying between the classes of single‐channel rivers and river networks.
bcd()
fails for sf obj with POINT
geometry containing a single feature. Running
p = st_sf(st_sfc(st_point(c(0,0))))
bcd(p)
throws
Error in FUN(X[[i]], ...) : !anyNA(x) is not TRUE
Reason: overlay_grid()
is not able to produce the required grid successfully using sf::st_make_grid()
. Would be helpful if st_make_grid()
returns NULL
(or does something else) instead of throwing an error.
Algorithms for similarities between polygons are given in Arkin et al. (1991). It improves upon earlier studies where exact similarities were evaluated under affine transformations so that polygons with unequal vertices were classified as dissimilar. Furthermore, the algorithm gives a quantitative distance that's
E. M. Arkin, L. P. Chew, D. P. Huttenlocher, K. Kedem and J. S. B. Mitchell, "An efficiently computable metric for comparing polygonal shapes," in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 13, no. 3, pp. 209-216, March 1991, doi: 10.1109/34.75509. [PDF1], [PDF2]
Currently the argument l
(cell side lengths to consider) to bcd()
is set by default to
seq(10000, 100000, 10000)
: for self-similaritymatrix(rep(seq(10000, 100000, 10000), 2), ncol = 2)
: for self-affinityHowever, these default values may lead to erroneous results depending on the data under consideration. A function that could automatically determine optimal cell-sizes for which the grid is to be calculated will be beneficial. This can be based on factors such as:
*POLYGON
geometries) or the shortest line segment (for *LINESTRING
geometries)There have been studies in the past to determine optimal cell-sizes while calculating box-counting dimension with published literature (mostly in statistical physics). Pointers to these sources will be highly appreciated if posted below.
The following publicly available resources may be useful:
"Self-similarity and panorama of self-affinity" by Mandelbrot. PDF: https://courses.physics.ucsd.edu/2019/Spring/physics235/Madelbrot%20E6%20-OV%20on%20Self%20Affinity.pdf
Appendix B ("Fractals: Self-Similar and Self-Affine Systems") of Goehring, L., Nakahara, A., Dutta, T., Kitsunezaki, S., & Tarafdar, S. (2015). Desiccation cracks and their patterns: Formation and Modelling in Science and Nature. John Wiley & Sons. URL: https://doi.org/10.1002/9783527671922.app2
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.