GithubHelp home page GithubHelp logo

ndrd / sdna_open Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fiftysevendegreesofrad/sdna_open

0.0 0.0 0.0 176.72 MB

Open source fork of the sDNA (Spatial Design Network Analysis) software

License: Other

Shell 0.95% JavaScript 0.01% Ruby 0.38% C++ 45.30% Scheme 0.01% Python 4.62% C 4.16% PHP 0.24% Objective-C 0.01% Common Lisp 0.16% Tcl 6.56% R 7.69% Assembly 0.01% MATLAB 0.45% TypeScript 0.01% CSS 0.20% TeX 1.07% Clean 0.02% Makefile 6.79% HTML 21.40%

sdna_open's Introduction

sDNA: Spatial Design Network Analysis

This is the open source fork of the formerly proprietary sDNA software created by Crispin Cooper on behalf of Cardiff University. Alain Chiaradia was responsible for the initial idea, and Chris Webster for the initial funding and project mentoring.

We are grateful to various parties for financial contributions towards development: in no particular order, Hong Kong University, Tongji University, the UK Economic and Social Research Council, BRE, Wedderburn Transport Planning. Also research contributions in kind from Arup Ltd, WSP Global Engineering, BuroHappold and Sustrans.

If you are interested in sponsoring changes to sDNA, please get in touch with Crispin [email protected].

Copyright rests with Cardiff University and the code is released under GPL version 3.

For Users

Installation

Downloads of the windows installer are available here.

The original sDNA project website will also continue to host releases both for the closed-source-but-free-as-in-beer sDNA, and the commercial sDNA+. Depending on your needs, you may therefore prefer to install the proprietary build. Depending on how this fork develops, it is possible that future builds will offer different features.

If you wish to be kept apace of new sDNA developments, you might prefer the closed-source-but-free-as-in-beer version, as installing and unlocking this will add you to our mailing list. (At some point we will create a separate mailing list signup!)

Use

Use the software via any of the following means:

  • QGIS 2.14 (not 3 just yet)
    • as well as installing sDNA, you will need to install the sDNA QGIS plugin from the QGIS plugins dialog.
  • ArcGIS 10.2 onwards
  • Most products in the Autocad family
    • Autocad interface can process shapes only, no attached data.
    • For processing attached data, export/import to shapefiles from Autocad Map3d
  • Add the bin folder to your path and use sDNA command line scripts
  • Use the Python interface sdnapy.py; look at runcalculation.py for the reference example of how to do this

Documentation

An automated build of the documentation can be found on readthedocs.

Support

Please see the original project support page.

If filing a bug, please file to the database here on github.

For Developers

Building the software

Build requirements:

  • Microsoft Visual C++ professional 2008
  • Python 2.7
  • Sphinx
  • Advanced Installer
  • Boost C++ libraries version 1.55
  • Autocad (only if wanting to modify the Autocad interface)

First build the geos library using sDNA\geos\build.bat. After that, build_release.bat in project root does what it says on the tin.

The Autocad components are not rebuilt automatically. If editing the Lisp files, you will need to use the Autocad Lisp editor to rebuild the sdna.prv Lisp project.

Project Structure

Some key folders:

  • sDNA - C++ projects
    • sdna_vs2008 - the core sDNA dll
      • tests - tests of the above
    • geos, muparser - dependencies of sdna_vs2008
    • sdnacomwrapper, sdnaprogressbar, registersdna - respectively wrap the core sdna dll, provide a progress indicator and register the COM components on installation, all for Autocad
  • arcscripts - originally just for ArcGIS, now also comprises the QGIS, Python and command line interface
    • bin - command line tools
    • sdnapy.py - python interface
    • sDNAUISpec.py - defines user interface for both ArcGIS and QGIS
      • ArcGIS interprets this via sDNA.pyt
      • QGIS code to interpret this is found in the QGIS sDNA Plugin
  • autocadscripts - visual lisp interface for Autocad
  • installerbits - extras needed to create install package
  • docs - documentation

Tests

For testing the core network processing and numerical routines, fire up the sdna_vs2008.sln solution in sDNA\sDNA_vs2008. You will need the correct debug settings; unfortunately Visual Studio stores these with user information. Copy sdna\sdna_vs2008\sdna_vs2008.vcproj.octopi.Crispin.user.sample on top of your own sdna_vs2008.vcproj.yourmachine.yourusername.user file. Set build configuration to Debug Win32, and run. This calls scripts in sDNA\sDNA_vs2008\tests and diffs the output with correct outputs (the core of which are originally hand computed) in that directory. Any call to diff that shows differences is a test fail.

For test_parallel_results.py to work, you also need to build the parallel_debug Win32 configuration. When Debug Win32 is run as described above, serial and parallel results are compared to check they are identical.

Interfaces are not automatically tested, though arcscripts\sdna_environment.py can be tested by environment_test.py.

License

The bulk of sDNA Open is licensed under GNU GPL v3, with various other Free licenses for various modules. For full details see licensing.

sdna_open's People

Contributors

fiftysevendegreesofrad avatar drjeffreymorgan avatar jamesparrott avatar

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.