XL-Optim
  • Home
  • Skills
  • Experiences
  • Education
  • Publications
  • About
  • Woodworking
  • Posts
  • Posts
  • Software performance - Back to the basics
  • My oldest child got a college scholarship
  • Woodwork for a transportation scientist
  • We need to talk about the trust we put on software
  • AequilibraE embraces Pandas
  • AequilibraE networks for the entire world
  • Editing Transportation networks in GIS
  • Spatialite and Python in 2020
  • Struggling for relevance in the age of COVID-19
  • AequilibraE and Google OR-Tools
  • Extracting the most from NumPy
  • AequilibraE equilibrium traffic assignment
  • Opening the door to a whole new world with AequilibraE
  • Transportation modeling & intellectual honesty
  • New RasterStats
  • Having fun with public data - Part 1 (obtaining the data)
  • New version of AequilibraE for QGIS 3.X
  • Displaying OMX matrix in QGIS
  • Get them filtered: A new plugin for QGIS
  • Adding Python packages to QGIS 3 on Windows 10
  • Towards efficient geoprocessing of movement data (Part 1)
  • Holidays & AequilibraE
  • Biogeme on Windows using Docker
  • A little more Delaunay Lines
  • Separating the women from the girls
  • Matrix API and multi-class assignment
  • More convenience for AequilibraE users
  • AequilibraE's minor releases
  • An update on AequilibraE
  • AequilibraE's new release
  • Biogeme infrastructure
  • Scenario comparison
  • Stacked bandwidths
  • AequilibraE Linux support and desire lines
  • Reading TransCad files into Numpy arrays
  • New version of AequilibraE
  • QGIS plugin for computing raster statistics
  • Presenting AequilibraE to the open source community
  • The next step for AequilibraE: True multi-threading
  • Introducing AequilibraE for QGIS
  • Gravity distribution model in Python
  • Using Delaunay tringles to build desire lines
  • Using raster images to model commodities
  • Python's Traffic assignment module (All or Nothing)
  • Calling TransCAD from Excel
  • Cube's log file
  • Transcad video tutorials
  • US Refineries
  • Seasonality analysis
  • Shortest Path - Djikstra in MS Excel
Hero Image
Separating the women from the girls

The topic of this post is something I have been wanting to do since I published version 0.3 of AequilibraE, back on August 2016: Separating the aequilibrae python library (the computational engine that underlines most of the AequilibraE procedures) from the GUI part of the software (which is the QGIS interface). The goal? Being able to “pip install” AequilibraE and script models in any python (3) environment. Although the desire to do this change comes from quite a while back, I have only known acquired the knowledge and had the energy to implement this change (and the help of the wonderful Yu-Chu), which comes in the wake of the conversion of AequilibraE into QGIS 3.

July 1, 2018 Read
Hero Image
Matrix API and multi-class assignment

Taking the new version of AequilibraE for a ride, my first application used a data source that is very familiar to me, the Freight Analysis Framework. It is a rich data source, yet fairly small due to its large zones, thus making for pretty quick tests (even on my 9yo laptop). The first task was to import the FAF matrices into the AequilibraE format in a Python shell. And boy… That was easy and fast.

February 12, 2018 Read
Hero Image
More convenience for AequilibraE users

Like most minimally experienced transportation modellers and planners, I have used multiple modelling software in professional and academic life, but I could not properly appreciate the differences between some of the different software implementations until I became myself a “developer” with AequilibraE. One of these differences is how to define and number centroids and general nodes in the network. As I had been trained in transport modelling using TransCad, it seemed natural to have completely arbitrary node (and centroid) numbering for the models I was developing and using, even though I don’t recall “abusing” that feature.

December 16, 2017 Read
Hero Image
AequilibraE's minor releases

Just as I wrote in my last post, I continue to work on a major new release for AequilibraE, which will bring brand new matrix and tabular data formats, multi-class assignment (for traffic and Delaunay Lines). While chipping away on that task, I have been busy fixing bugs reported on Github (6 in the last 30 days). This work of responding to bug reports and enhancement requests have resulted in a great improvement on the stacked bandwidths and scenario comparison tools, and AequilibraE has reached a state that is at least as good as the best features found in commercial software.

September 20, 2017 Read
Hero Image
An update on AequilibraE

A few of my readers have noticed my absence on this blog and the seemingly slow development of AequilibraE, so I decided to share what is going on and what the plans are for the next 6 months. The current version of AequilibraE (0.3.5.x) is the most powerful and robust version of AequilibraE yet, with emphasis on robust. This is the first version that had consistent answers to bug reports and followed with a few minor releases correction each one of the reported bugs.

August 12, 2017 Read
Hero Image
AequilibraE's new release

It has been quite a while since I last released a version of AequilibraE, but a new one just hit the QGIS repository. The long time between releases was initially due to an attempt to include select link analysis in the assignment, but a LOT happened in the meantime, and although this version still does not have the select link analysis, it comes with many other very exciting features. The first exciting new feature is the ability to make Delaunay lines with a much wider range of values for zone IDs, which do NOT have to be sequential anymore.

June 18, 2017 Read
Hero Image
Biogeme infrastructure

This is one more of those posts that I don’t actually believe I am making. A couple of months ago I was posed with the requirement of estimating a series of simple Multinomial Logit Models for a pretty exciting project at work, and I had to decide which tool I was going to use. Despite the fact that I had a license of NLogit that I could use, I felt like it would make more sense to use Biogeme, especially because working with Python would make my life a LOT easier.

April 23, 2017 Read
Hero Image
Scenario comparison

Just like it happened for the stacked bandwidth tool, I got a “ feature request” from colleagues at work for a scenario comparison tool, much in the style available in every single commercial software available out there. However, as QGIS allows for the creation of stacked bandwidths, it was natural to create something a little better that would overcome a major flaw of the scenario comparison tools I know. As you are probably used to see, traditional scenario comparison tools are only able to plot the difference in flows between two scenarios, but you lose the perspective on the total flow on each link.

January 2, 2017 Read
Hero Image
Stacked bandwidths

Since everybody in my office knows that I develop AequilibraE, every once in awhile somebody will ask me if I plan to implement a particular feature (most of which sound more like a mix of wishful thinking and feature request, of course). This dynamic has two nice components. The first one is that some pretty smart and knowledgeable people are also thinking about open source, and the second is that they give me some pretty nice ideas of new features, some of which I had never thought about.

December 25, 2016 Read
Hero Image
AequilibraE Linux support and desire lines

The last few weeks have been quite busy for me, with a quick trip to the US, a short and sweet conference in New Zealand and the costumary TRB paper reviewing and committee business coordination. However, I got to finish two new features of AequilibraE. Desire lines (including the Delaunay lines I proposed about two years ago – Original post here) Full support for Linux 64 bits (compiled on a Linux Mint 18) The Desire Lines GUI features the brand new interface for importing matrices into AequilibraE, which continues to support NumPy arrays and text style (O, D, Flow) arrays.

September 11, 2016 Read
Hero Image
Reading TransCad files into Numpy arrays

This is a very short post, mostly because I was not really planning on making it. However, a few colleagues of mine that work with TransCad asked me about some pieces of code I wrote almost two years ago to import TransCad matrices and binary files into Numpy Arrays. They asked me why I never published it, and the answer was I don’t know. These libraries were never too sophisticated, and were mostly developed so I could go seamlessly from TransCad’s modelling outputs to Python and so some less-than-conventional modeling and data analysis, for which GISDK is just not suitable for.

August 24, 2016 Read
Hero Image
New version of AequilibraE

I realize now that it has been well over a year since my last post, but I think I have a few good reasons: I moved to Australia (our hearts are still in the US, but we are living down under now) I completely re-factored AequilibraE, and it is now a much more robust and versatile piece of software I lost track of time (not really a good reason, but I will play this card anyways) Enough with excuses, and on with the matter of this post.

August 21, 2016 Read
  • ««
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
  • »»
Navigation
  • Skills
  • Experiences
  • Education
  • Publications
Contact me:
  • pedro@outerloop.io
  • pedrocamargo
  • Pedro Camargo, Ph.D.

Toha Theme Logo Toha
© 2022 Copyright.
Powered by Hugo Logo