Giter VIP home page Giter VIP logo

samesvd's People

Contributors

pramitghosh avatar

Watchers

 avatar  avatar

samesvd's Issues

Algorithms for similarity measures of polygons

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

  • a metric
  • invariant under affine transformations
  • easy to compute
  • matches intuitive notions of shape resemblances

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]

Try and reproduce parts of this paper

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.

Useful resources discussing distinction between self-similarity and self-affinity

The following publicly available resources may be useful:

bcd() fails for POINT features

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.

Automatically determine cell-sizes to check while running bcd()

Currently the argument l (cell side lengths to consider) to bcd() is set by default to

  • seq(10000, 100000, 10000): for self-similarity
  • matrix(rep(seq(10000, 100000, 10000), 2), ncol = 2): for self-affinity

However, 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:

  • the geometric size of the feature (i.e. the length and width of its bounding box)
  • the length of the shortest edge (for *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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.