sunsp.net

live simply in a networked, complex world

Part of my research heavily depends on innovative GIS algorithms, software development, and geocomputation. Here are some software packages that I have been working on. Now, the free continuous Cartogram generating program is available for downloading. The program is fast and can fully utilize the capacity of multi-threading CPUs. It has been applied to generate population cartograms for US states, US counties, China Provinces, and World Regions and Countries. More programs are coming soon on this page.

Geovisualization

WebGIS - Mapping our Physical and Social Worlds!

The future of GIS is web-based. The interactivity enabled by JavaScript and reactive app can greatly enhance the visualization of geospatial data. Spatial data retrieval, processing, computation, and visualization are converging in the environment of "Notebooks" with supports of R, Python, JavaScript, among others. Put in another way, WebGIS is now an integral part of the general spatial data analysis and modeling. While there are many options to implement, embed, and integrate WebGIS, Leaflet and d3 are two popular JavaScript libraries for creating interactive geovisuals in various environments.
Land Mapper Demo on Youtube: Part A and Part B
d3.js Live Demo: Bubble Menu and Linked Geographic and Tree Maps

Global Excess Nutrients Infographics

NYS Congressional District Maps

Fast Cartogram Algorithms

Cartogram creation program is available for download now!
Opti-DCN is a mathematically optimized rubber-sheet algorithm based on Dougenik, Chrisman, and Niemeyer's work. It utilizes a mathematical condition for topology equivalence to speed up the original rubber-sheet algorithm. Carto3F further uses a quadtree and parallel computation, as well as specially calibrated equations to improve the computational performance of Opti-DCN. The resultant Carto3F can COMPLETELY avoid topological errors in produced cartograms (pass the ArcGIS "check geometry" without errors). Its ability to theoretically and computationally maintain topology is unseen in other programs by the end of 2011. For simple maps like population maps of China, US, and Canada, Carto3F is faster than the diffusion-based methods on computers equipped with multi-thread CPUs. Carto3F's performance decreases with increasing complexity of maps, though. By contrast, the efficiency of the diffusion algorithm, in theory, is independent of map complexity. However, the preprocessing time for complex maps is much longer for the diffusion algorithm. For example, ScapeToad, a Java program of the diffusion algorithm, takes hours to prepare the world population map, mainly to create a grid, for cartogram creation.

US State Population Cartogram

US County Population Cartogram

China Population Cartogram

Sample Results: World population cartogram (Shapefile), China population cartogram (Shapefile),
Program and Documentation: Windows 32bit Program for Opti-DCN and Carto3F, Program Documentation
Demo on Youtube: Carto3F Installation and Application

Network Analysis

SUNA - Software for Unified Network Analysis

SUNA is a generic network analysis software written in C++ with MFC using MS Visual Studio 2008. It can create logical networks from real-world geographic networks like transportation or from virtual networks like co-authorship or citation. SUNA implements a number of functionalities for network analysis, statistics, visualization, and geotransformation. It can export logical networks to various formats, including Shapefile, Pajek, GraphViz, EMF, and spreadsheet for further analysis and visualization. SUNA supports transferring data to clipboard in vector format, thus allowing convenient "copy-paste" for high-resolution graphs. The visualization engine built in SUNA is OpenGL. Taking advantage of that, SUNA can produce rudimentary 3D scenes and drive-through style animation.

SUNA Networks

Screen Shots: #1, Virtual Network, #2, Transportation Network, #3, Drive Through Simulation

SNAP - Sociospatial Network Analysis Package

SNAP is an R package with a collection of R functions that utilizes geographic contiguity network and graph algorithms to analyze and visualize sociospatial networks. Essentially, it bridges GIS packages (sp, spdep, spatial, etc.) and network analysis packages (igraph, for example). SNAP also implements some important algorithms that seem missing from these popular R packages, e.g., the Berlaz's Heuristic Algorithm for polygon coloring (see R code here).

TCMA MST of Migrants

Selective Results: #1, Urban Geographers' Community, #2, Circular Cartogram, #3, Network-based Transformation

TNSS - Flow Visualization based on Networks Methods

TNSS is a network-based visualization method for one-to-many flow data. TNSS stands for Triangulation, Network, Simplification, and Smoothing. The method creates a virtual network from points through triangulation and then uses stylized shortest path finding routes to derive an approximate Steiner tree for the one-to-many Minard style tree for flow visualization. For details, read A spatial one-to-many flow layout algorithm using triangulation, approximate Steiner trees, and path smoothing.

Illinois Outmigration

Selective Results: #1, Outmigration from Illinois, #2, Texas Inmigration, #3, California InMigration, #4, Brazilian Soybean Exports,

Human-Environment System Modeling

HELIA - Raster Data and GIS Basics

This is a generic Java component for basic GIS functions developed for HELIA (Human-Environment Land Integrated Assessment) project. Using XML configuration files, the component can load, read, update, and write raster data in ESRI ASCII, IDRISI, Run Length Code formats. It has spatial analysis methods built in, including map algebra, Euclidean distance, neighborhood analysis, and overlay. Additionally, linking to Geotools, it also implements basic vector GIS functions, particularly geographic network analysis. This component is written in pure Java and does not require external libraries. It is available in jar format upon request.
Class Diagrams: #1, Overall, #2, Data, #3, Landscape, #4, Spatial Analysis, #5, GIS
Screen Shots: #1, Eclipse, #2, Repast 3.0

SLUCE 2 - Land Market Model

SLUCE 2 Land Market Model (LMM) is a standalone program implemented using Java and RepastSimphony 2.0. The main programmable component of LMM is also an independent, generic market module featuring bid/rent mechanism that could apply to markets of any commodities. Currently, LMM works as both farm/subdivision market and housing market in SLUCE 2. [link at OpenABM Model Library]

SLUCE LMM GUI

Screen Shots: #1, #2, #3, #4
Program: Link at CoMSES OpenABM Model Library
Manual: PDF
Locations of visitors to this page

Locations of Site Visitors

Valid XHTML 1.0 Strict Valid CSS 2.0