Build Status |
---|
Functions to create graphs from gridded geospatial data to enable things like least cost path and corridor analysis as well as other graph metrics.
Archive of early development of SpatialGraphs.jl -- preserved because it is a dependency for other work
License: MIT License
Need to make sure that functions work as expected in cases when a nodemap has separate connected components. Add a corresponding test.
Add either lat/lon coordinates for vertices, or entire geometries, as well as info on projections? Not sure what this should look like.
Maybe something like this:
mutable struct SpatialWeightedGraph
graph::AbstractSimpleWeightedGraph
geometries::Vector{AbstractGeometry}
end
This would enable easy mapping of of paths or cost distances to geographic space/geometries.
Then add methods for all of the LightGraphs/SimpleWeightedGraphs functions, e.g.:
has_edge(a::SpatialWeightedGraph, b, c) = has_edge(a.graph, b, c)
The alternative is for the user to store this information elsewhere and make sure it remains properly sorted. That asks more of the user and may introduce more opportunities for user error.
Right now, an underlying assumption is for each pixel in a raster to be a unique graph vertex, but this may not fit all use cases. Allow a single vertex to "occupy" multiple raster pixels in geographic space.
The lift shouldn't be too hard, but need to test that it works, particularly in converting paths or pathstates back to rasters.
Another consideration would be converting paths to lines. Right now path(s)_to_linestring(s)
require a nodemap with unique node indices for every pixel. Maybe these functions just aren't offered in this case.
Need to make graph construction functions for GeoArrays ignore NaNs in addition to missingval
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.