Gastner and Newman 2004, "Diffusion-based method for producting density equalizing maps"

Gastner & Newman - a pair of physicists at the University of Michigan - drew from fundamental laws of gas diffusion to create a really elegant method of generating contiguous cartograms. Their algorithm was used heavily during the 2004 US Presidential Elections and continues to be used by the Worldmapper project. Google Scholar finds 23 articles citing Gaster and Newman 2004 (as of 20 April 2007).

Gastner & Newman provide a great website with examples from the 2004 election as well as a C implementation of the algorithm.

Comments

I must say one thing...You

bookmared...Really enjoyable

bookmared...Really enjoyable .thanks
lose belly fat

Liza assures me that they've

Liza assures me that they've never left anyone behind at a house, not even, presumably, a very new person whom nobody knows. They think we have nothing better to do with our time. To state the proposition in reverse, low-wage Eve Adams Coupon Codes workers are no more homogeneous in personality or ability than people who write for a living, and no less likely to be funny or bright.

Phone Lookups

Thanks for the information your post is really awesome man Keep up the Good work!! Thanks,
Phone Lookups

Wow I read your Post, it is

Wow
I read your Post, it is really a good thing. You should improve it.

Voluntary Insurance
Long Term Care Insurance
Life Settlement

drewstewart

Today i will show the worlds best product that i have ever been seen on the site.It also taste different than others
cigar roller
wholesale cigar
corporate entertainment
mens gift ideas

java ftp

Thanks for sharing such a good topic god bless you. Keep it up.
java ftp
ftp server
ftp hosting

psychics

This blog is really interesting. I liked it much, the nice work must go on. Looking forward to more great posts. Regards
psychics
love spell
online psychic
psychic

Method

I created a map and added a data layer Sterling Silver Necklaces then added a join to an ODBC table.Sterling Silver RingsThen I clicked on the Cartogram button CZ Rings which launched CC 2.02.Thanks for share information.

In the new version of

In the new version of GoToMeeting, the 4.0 to be exact, the company Citrix, who developed this application, has sought to offer new communications features via the web in addition of course to improve those that already are incorporating them from previous versions of this program. The 2.0 and 3.0 GoToMeeting is today one of the most effective osluciones online conferences, easily and quickly beating all other formats with its gotomeeting promo code availability.

hello

I then got a preview of statistics in the text box-which I believe were due to the very small sizes of countries.
thanks JOn- biodegradable
biodegradable plastic
biodegradable plastics

Thanks

Your post is really awesome man. Thanks for sharing it. You really rock.
Regards,
Aden Jeff -contractors insurance

thanx

Thanks for sharing the great interesting post. I liked it much, the nice work must go
on. Looking forward to more nice posts.

Regards,

hulda clark

Thanks

Your post is really good. Thanks for sharing. I really appriciate it.
Regards,
Jacob - dr hulda clark

california contractors insurance

hello

This is really interesting post. I really liked it, keep up the nice work. Looking forward

to more great posts like this.

Thanks,

Aaron -
california contractors insurance

gulftex operating

Your post is really awesome

Your post is really awesome man. Thanks for sharing it. You really rock.
Regards,
Aden Jeff - san diego real estate

how about implementing their algorithm in CartogramCreator?

I agree, Newman & Gastner's algorithm looks great. Any plans to implement it in CartogramCreator? My desire is to do continuous cartograms, like theirs.

I have been working for a while on getting N&G's algorithm to work for me, but so far have not found ways (that don't require ArcInfo Workstation) to get data into the required formats. Then yesterday someone told me about CartogramCreator. Looking forward to giving it a spin.

Lars

toolbar button doesn't appear

Hello again,

I'm trying your script, CartogramCreator (v2.02, 2007-07-21). I followed the instructions in the Readme.txt file, at least the first two sentences; then it says 'The template adds a new button called "Cartogram" to the standard toolbar.' But no new button has appeared in the standard toolbar.
What is the button supposed to look like? Are you sure it's supposed to go in the standard toolbar? I have uploaded a screenshot to http://www.huttar.net/lars-kathy/tmp/cartogram-creator.png

Since the button doesn't appear, there seems to be no way to proceed. Is there any other way to invoke the CartogramCreator dialog?

I'm running ArcMap - ArcEditor, v. 9.2, build 1830.

Thanks,
Lars

problem solved; now, a compile error

OK, I read your PDF paper and learned that the new button is on the "tools" toolbar, not the "standard" toolbar.
So I found it and clicked.
Visual Basic opened, with an error dialog: "Compile error: Can't find project or library" and the function name 'Format' is highlighted in the code of UpdateTextBox(), where it says
strArea = Left(Format(dArea, " ####.00"), 12)

When I click the Help button for the compile error, the help page says to look for missing references; but none of the references are marked as missing, as far as I can tell. (The only references I can see in the project are references to Normal.mxt.)

Again, I've posted a screenshot of the error to: http://www.huttar.net/lars-kathy/tmp/cc-compile-err.png

Thanks for any help. FWIW, VB says its version is 6.3, (c) 2001.

Lars

found workaround

Strange that it couldn't find "Format()", but could find "Left()", even though both are in the same library (VBA.Strings).

Anyway, I was able to get rid of the error by replacing "Format(" with "VBA.Strings.Format(".
And the same with Space().

Onward...
Lars

"Invalid use of null"; then "Shape" field not found.

OK... I've gotten further.
Now I'm getting an error, "Invalid use of null"

Steps to reproduce:

I created a map and added a data layer; then added a join to an ODBC table.
Then I clicked on the Cartogram button, which launched CC 2.02.
The CC dialog shows the Attributes tab, on which Original Area Value says "Polygon Area", and New Area Value is blank.
I clicked on the latter to set the value. Three field names were displayed. I selected one. After a pause, an error dialog appeared:
Run-time error '94':
Invalid use of Null

When I clicked the Debug button, the second of the following two lines was highlighted (in Sub cboAVattr_Change()):

If (iName_attr > -1) Then
g_aFeatures(i).sName = pFeature.Value(iName_attr)

According to the debugger, the expressions have the following values:
iName_attr = 21
pFeature.Value(iName_attr) = null
g_aFeatures(i).sName = null
g_aFeatures(i) = (a non-null object instance)
pFeature.Value(0) = 30

From googling around, it looks like assigning null to a string variable is not allowed in VB. So I changed the above to
If (iName_attr > -1 And Not IsNull(pFeature.Value(iName_attr))) Then
g_aFeatures(i).sName = pFeature.Value(iName_attr)
and let the "else" clause take care of things if the value is null:
Else
g_aFeatures(i).sName = "FID " & pFeature.Value(0)

Does that sound right?

Once I had made that change, I restarted and got it to accept a New Area Value without giving an error.
I then got a preview of statistics in the text box. (There were also warnings, which I believe were due to the very small sizes of countries: DESIRED FEATURE SIZE TOO SMALL!!! DESIRED AREA SHOULD NOT BE NEGATIVE OR ZERO!!!
WARNING!!! AVOID SCALING FEATURES MORE THAN THREE ORDERS OF MAGNITUDE!)

However, once I clicked on "Create Cartogram", I got the following error:

Run-time error '5': Invalid procedure call or argument.
The highlighted line in the debugger was:
Set pIn_field = pIn_fields.Field(pIn_fields.FindField("Shape"))
in CopyFeatureClassToShapeFile. This seems to be because In_fields.FindField("Shape") returns -1.
FWIW, pIn_fields.Field(1).Name is "DCW_countries.Shape", but apparently the above call is not picking that up.