Barry Faassen created a nice example using new C# which allows to make things like e.g. Cartesian Product of 2 arrays very easy:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace FunctionalProgrammingInCSharp { class Program { static void Main(string[] args) { int[] a = { 1, 2, 3 }; int[] b = { 3, 4, 5 }; var r1 = a.Map(x => x * x ); var r2 = a.Map(b, (x, y) => x + y); var r3 = a.CartesianProduct(b, (x, y) => x * y); foreach (var item in r2) Console.WriteLine(item); } } public static class Seq { public static IEnumerable<T> Map<T>(this IEnumerable<T> a, Func<T, T> fun) { foreach (var x in a) yield return fun(x); } public static IEnumerable<T> Map<T>(this IEnumerable<T> a, IEnumerable<T> b, Func<T, T, T> fun) { int i = 0; foreach (var x in a) yield return fun(x, b.ElementAt(i++)); } public static IEnumerable<T> CartesianProduct<T>(this IEnumerable<T> a, IEnumerable<T> b, Func<T, T, T> fun) { foreach (var x in a) foreach (var y in b) yield return fun(x, y); } } }
- Main goal of the meeting is to define who can write 0.5 - 2 pages for the topics listed on Roadmap 2009 Paul, Onno, Edward, Gena, Jan Noort and Bert will select items and will send results to Gena, Friday morning as last.
- Plan will be written in English.
- Tasks related to the Plan 2009:
- Write short description of every item in Roadmap 2009
- Merge everything in one document
- Discuss with users, other groups, ZWS
- Estimate times, functionality to be implemented in 2009
- Schedule/GANTT for milestones
- Planned external meetings for the nearest months:
- April 1, HABITAT 2.0
- April 7, External Pizzacursus, STOWA/DUFLOW
- April 21, External Pizzacursus, Royal Haskoning
- April ??, Internal Pizzacursus
- In the coming 2 releases New features for short-time!
- Structures, 1st priority is to implement one structure 90%
- GIS: coordinate systems, labels, symbology
- Array-based function value store
- Automatic/manual serialization of functions into NetCDF, model input/output
- Flow model integration bug fixes
- Prototype/concept for the scenarios, comparison of model data, scripting/macro. Maybe even PowerPoint containing all design ideas if we will be short in time.
- TODO: JIRA, cleanup JIRA issues, add versions based on the planned meetings.
... a drawing below is related to the discussion about pre-configured models (like in SOBEK Settings), OpenMI-like exchange, toolbox .
See below a screenshot showing how OpenMI models can be integrated into the DelftShell in the future.
On the screenshot output variables of the MODFLOW and HEC-RAS models are presented - ground water level and flux into the ground.
Some links by Gena
http://www.opengeospatial.org/standards/as - The OpenGIS® Abstract Specification Topic 6: Schema for coverage geometry and functions
Network Analyst (there are videos in Demo showing how it works) http://www.esri.com/software/arcgis/extensions/networkanalyst/about/features.html
http://google-latlong.blogspot.com/2007/06/its-click-drag-situation.html - Google routes http://maps.google.com/help/maps/directions/ - can be interesting for Urban version, streets