patmalcolm91 / qgis-plugin-flow-map-arrow-curver Goto Github PK
View Code? Open in Web Editor NEWA QGIS plugin which can be used to generate curved flow lines for use in creating a non-branching OD flow map.
A QGIS plugin which can be used to generate curved flow lines for use in creating a non-branching OD flow map.
Allow the user to input formulas for the pixel width and radius, which then would be used with the map scale to calculate the actual values. Upon creation of the layer, the graphic properties could also then be automatically adjusted to match.
Implement FlowMap.reduceFlowLineIntersections() and FlowMap.moveFlowLinesOffNodes().
Remove existing checks in force calculation functions and perform a single check at the very beginning, filtering out reversed flows if necessary.
If no node layer is given as input, allow the option to generate a node layer from the lines. Include calculation of flows (in, out, and total), so node size can be displayed based on these values.
Several of the force calculation functions can be parallelized to improve performance.
Trace:
File "/home/patrick/.qgis2/python/plugins/FlowMapArrowCurver/JennyAlgorithm.py", line 713, in run
fm.reduceFlowLineIntersections()
File "/home/patrick/.qgis2/python/plugins/FlowMapArrowCurver/JennyAlgorithm.py", line 565, in reduceFlowLineIntersections
if inAndOutFlows[i].interesectsFlowLine(inAndOutFlows[j]):
File "/home/patrick/.qgis2/python/plugins/FlowMapArrowCurver/JennyAlgorithm.py", line 114, in interesectsFlowLine
intersect = Geometry.findIntersectionOfLineSegments(p1, p2, p3, p4)
File "/home/patrick/.qgis2/python/plugins/FlowMapArrowCurver/Geometry.py", line 269, in findIntersectionOfLineSegments
mBetween = (y3 - y2)/(x3 - x2) # the slope between two points on different lines
ZeroDivisionError: float division by zero
Large datasets take a very long time to process, and the progress dialog doesn't always appear, so QGIS appears to be frozen. When selecting a layer, QGIS should warn the user if the number of flowlines is very high.
Get algorithm working reliably.
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.