E00Parser, an ActionScript 3 parser for the Arc/Info Export topological GIS format

First off, why mess with such a retro format as Arc/Info Export (.e00)?– any code written for this ASCII file type in the last few years has been on how to go from e00 to pretty much anything (especially to the non-topological data format, the shapefile).

Put simply, topological information makes a lot of things possible for the intrepid ActionScripter.

E00 files non-redundantly store all nodes, lines, and polygons that make up a geographic data layer. This geodata format is one of three currently distributed by the Census Bureau for boundary files (the others are the shapefile and the Ungenerate ASCII format). The GIS formats used in most web mapping applications (I’m thinking of shapefiles, GeoJSON, and KML) are non-topological, meaning features are stored independently, and topological information on shared borders and the like is quite difficult to extract. Like seriously hard. Something you don’t want to be doing in the browser. Matthew Bloch, of the NY Times, did his cartography master’s thesis (at Wisconsin, natch) on MapShaper, much of which involved a C++ server-side solution for building topology from a polygonal shapefile. Generalization requires non-redundant polylines so as not to create gaps between features when smoothing. Other visualization techniques, including cartogram construction and graph decomposition, also require knowing the shared borders of geographic features.

Ideally, such topological information could be created/extracted for any geography, regardless of the datasource. In reality, topology building is intensive and best suited to server-side processing. Using E00 files and my E00Parser lets you experiment with the visualization and cartographic techniques only possible when such topological information is known, without the expensive processing necessary to build it.

The code

I’ve gotten a ton of use out of Edwin van Rijkom’s SHP library. My noncontiguous cartogram, isolining, and political choropleth experiments relied on the code to load coordinate data in shapefile form at run-time, as did the early experiments that led to indiemapper. I’m hoping I’ll get just as much use out of this parser, for when adjacency information is critical to the visualization technique.

There are two main classes, E00Parser and E00Tools. E00Parser is based on the Perl extension Geo::E00 by Alessandro Zummo and Bert Tijhuis, with much aid from the (world famous) Arc/Info Export Format Analysis. There’s no way I would have attempted to write the AS3 E00 parser without Zummo and Tijhuis’ code, as theirs appears to be the only stand-alone open source code available for reading the format. Their Perl regular expressions were copied with few modifications, though I did fix an issue in some that was keeping their code from accurately reading certain sections of double-precision coverages. I wrote E00Tools to collect a handful of methods for working with the resultant data.

I setup a Google Code project for this work, as topology will likely form the basis for a decent amount of my cartographic experimentation in the near future.

Oh, BTW:

ESRI considers the export/import file format to be proprietary. As a consequence, the identified format can only constitute a “best guess” and must always be considered as tentative and subject to revision, as more is learned.

(from the Arc/Info Export Format Analysis)

How to use

After loading your ASCII E00 file into a string, use something like the following to parse it.

var data : Object = E00Parser.parse( e00Text );

The returned data object includes all information contained in the file, and can have as many as nine sections. Of most use are the arc (non-redundant list of polylines), pal (list of all polygons and their associated lines), and ifo (attributes and labels) sections. The exact structure of the returned object is described on the wiki here.

There are three sweet examples to be found in com.indiemaps.mapping.data.parsers.e00.examples.

Tools

E00Tools contains some methods for working with the resultant data of E00Parser.parse(). Included are methods for:

  • Drawing all features
  • Drawing individual features
  • Getting a list of polygon IDs for all features
  • Getting the centroid of a feature
  • Getting the shared border length of all features and their neighbors

Key above is the idea of the feature. Michigan is a feature. Features are not directly encoded in E00 files like they are in other formats. In a polygonal shapefile, for example, each feature is encoded as a multipolygon, constituted of one or more rings of points. In E00 files, only polygons are directly encoded; feature information (which polygons make up which features) can be ascertained from the INFO (ifo) section.

Experimentation

I created these AS3 classes for myself, because I wanted to experiment with topological geodata in visualization and cartographic applications. This typically boils down to knowing which features are neighbors and how much of a border they share. The E00Tools methods getAllFeatureNeighbors and getAllFeatureSharedBorderLengths gives you easy access to this information.

Daniel Dorling popularized the circular cartogram form among academic cartographers, outlining the symbology most notably in his 1991 PhD thesis and 1996’s Area Cartograms: Their Use and Creation (available here in PDF form along with many other gems of quantitative geography). Dr. Dorling made Pascal and C code available. I ported it to Python, and began experimenting, mostly in vain, on a method that worked with a shapefile as input, but without the expense of building topology. It produced at best a pale imitation. Dorling describes the gravity model used to produce the cartograms in his dissertation:

The algorithm which was developed to create the area cartograms worked by repeatedly applying a series of forces to the circles representing the places. Circles attract those they are topologically adjacent to; the strength of this attraction being greater the larger the distance is between them and the longer their common boundary.

The algorithm thus requires the shared border lengths of all features and their neighbors. Producing this info is easy with E00Tools, but it seems kind of backward to parse my geodata in ActionScript only to produce the rendering in Python. I’m working on porting Dorling’s algorithm to AS3 so I can go directly from geodata to cartogram without switching platforms.

Lee Byron mentions another technique, used to generate the Olympic Medal Count cartograms he helped produce for the Times. Byron didn’t release any code, but notes that a soft body force directed layout algorithm written in ActionScript was used. I haven’t been able to reproduce his method, but I’ve included an example that drops the topological information gathered from an E00 file into a Flare visualization using a force directed layout. The example is minimal, but shows how the E00 classes can be integrated with the Flare visualization API, and may point the way to a slightly different method for producing circular cartograms client-side.

52 Comments

  1. Great article, thank you for sharing.

    Posted February 2, 2010 at 11:04 pm | Permalink
  2. We are a gaggle of volunteers and opening a new scheme in our community. Your web site offered us with useful info to paintings on. You have performed an impressive task and our whole community will be thankful to you.

    Posted January 8, 2012 at 5:16 am | Permalink
  3. Hi Zachary,.. Gis technology is the most sought off technology today. Its was great to find this post . by chance but so good reading here.

    Posted May 20, 2013 at 5:06 am | Permalink
  4. Hi! I simply would like to offer you a big thumbs up for
    your great information you have here on this post. I am returning to your site for more soon.

    Dianna
    Posted February 25, 2014 at 4:45 am | Permalink
  5. Do you have a spam problem on this blog; I also am a blogger, and I was wanting to know your situation; many of us have created some nice
    practices and we are looking to trade techniques with other folks, be sure to shoot me an email if interested.

    Posted March 3, 2014 at 4:32 pm | Permalink
  6. Hi, after reading this amazing paragraph i
    am too cheerful to share my know-how here with colleagues.

    Kareem
    Posted March 5, 2014 at 4:51 pm | Permalink
  7. If each and every report could be this detailed I’m certain you will find less
    fascinated men and women concerning this subject!

    Posted March 15, 2014 at 12:39 am | Permalink
  8. Hi there to all, how is all, I think every one is getting more from this website, and your views are nice for new users.

    Posted March 21, 2014 at 11:18 pm | Permalink
  9. cheap omega replica outlet
    This is a topic that is near to my heart… Many
    thanks! Where are your contact details though?

    Posted March 24, 2014 at 8:47 pm | Permalink
  10. Good information Regards!

    Posted March 25, 2014 at 11:29 am | Permalink
  11. magnificent issues altogether, you simply gained a logo
    new reader. What might you recommend about your put
    up that you simply made some days ago? Any certain?

    Posted March 26, 2014 at 8:37 pm | Permalink
  12. Hello! Do you know if they make any plugins to
    assist with Search Engine Optimization? I’m trying to get my blog to rank for some targeted
    keywords but I’m not seeing very good gains. If you know of any please share.
    Thank you!

    shine
    Posted March 26, 2014 at 9:22 pm | Permalink
  13. Right here is the perfect web site for everyone who would like to understand this topic.

    You know a whole lot its almost hard to argue with you
    (not that I actually will need to…HaHa). You definitely put a fresh spin on a
    topic which has been written about for many years. Excellent stuff, just wonderful!

    Posted March 27, 2014 at 7:28 am | Permalink
  14. Hey! I could have sworn I’ve been to this site before but after checking through some of the post I realized it’s new to me.
    Anyways, I’m definitely delighted I found
    it and I’ll be book-marking and checking back frequently!

    Posted March 27, 2014 at 3:15 pm | Permalink
  15. Wonderful data, Appreciate it!

    Posted March 27, 2014 at 10:41 pm | Permalink
  16. Hi, Neat post. There is an issue with your website in web
    explorer, would check this? IE still is the market
    leader and a big portion of other people will pass
    over your excellent writing due to this problem.

    Posted March 27, 2014 at 10:50 pm | Permalink
  17. But later on many men were seen sporting skinny denims.
    These jeans are designed to make you look and feel a size smaller.
    Reducing text, or in this case clothes to their componet parts.

    Posted March 29, 2014 at 3:36 am | Permalink
  18. It’s appropriate time to make some plans for the future and it’s
    time to be happy. I have read this post and if I could I wish to suggest you some interesting things or advice.
    Maybe you can write next articles referring to this article.
    I desire to read more things about it!

    Posted March 29, 2014 at 3:47 pm | Permalink
  19. Heya i’m for the primary time here. I found this board and I find It truly
    helpful & it helped me out a lot. I’m hoping to offer one
    thing back and help others such as you helped me.

    Posted March 29, 2014 at 4:52 pm | Permalink
  20. There is certainly a great deal to know about this subject.
    I love all of the points you have made.

    Posted March 29, 2014 at 5:22 pm | Permalink
  21. Everyone loves it whenever people get together and
    share thoughts. Great website, stick with it!

    Shayna
    Posted March 30, 2014 at 5:29 am | Permalink
  22. Spot on with this write-up, I absolutely believe that
    this web site needs far more attention. I’ll probably be returning to read more, thanks for
    the advice!

    Jeff
    Posted March 30, 2014 at 9:53 am | Permalink
  23. Perfectly voiced genuinely. .

    Posted March 30, 2014 at 4:15 pm | Permalink
  24. I enjoy what you guys are up too. This kind of clever work and coverage!

    Keep up the fantastic works guys I’ve added you guys to my personal blogroll.

    Posted March 30, 2014 at 10:03 pm | Permalink
  25. In the UK, usual tour dates include London, Manchester, Liverpool and Ireland as well as Nottingham, Bournemouth, Cardiff
    and Newcastle. “The Fed - Ex - Cup and the PGA Tour playoffs will continue to generate interest and excitement through September, with the Fall Series focusing on the drama of players fighting for their Taylor - Made Burner 2. Japan information can be found on the internet in no time.

    Posted March 31, 2014 at 1:46 am | Permalink
  26. I just couldn’t go away your site before suggesting that I really loved the usual information a person supply on your visitors?
    Is gonna be again frequently in order to check out new posts

    Posted March 31, 2014 at 9:16 am | Permalink
  27. Awesome things here. I’m very glad to peer your post.
    Thanks a lot and I’m taking a look forward to contact you. Will you please drop me a
    mail?

    Posted March 31, 2014 at 11:30 am | Permalink
  28. Hello, Neat post. There’s an issue with your website in internet explorer, might check this?
    IE still is the market chief and a good section of other folks will
    pass over your fantastic writing due to this problem.

    Posted April 1, 2014 at 3:56 am | Permalink
  29. If some one needs to be updated with newest technologies therefore he must be pay a quick visit this website and
    be up to date daily.

    Posted April 2, 2014 at 6:36 am | Permalink
  30. To see a pictorial example of how cards are removed, see the next section
    on removing the memory modules. A new expansion of Dell’s Inspiron portfolio, the Inspiron 15R
    Special Edition and 17R Special Edition feature the Waves Maxx
    - Audio 4 audio suite and Skullcandy speakers,
    and standard discrete graphics from AMD
    (Inspiron 15R Special Edition) and NVIDIA (Inspiron 17R Special Edition).
    Similar in price to the Dell Inspiron 15 above,
    the Gateway NV5613U drops a Gigabyte of RAM but doubles the hard drive space.

    Posted April 3, 2014 at 2:06 pm | Permalink
  31. Benq Joybook Lite U101 is powered with an Intel Atom Processor
    N270 and Windows XP Home Edition Linux Lite Operating
    system. These have transparent, independent LCD panels for each primary color (red,
    green and blue. This LCD projector can compete, and often beat,
    the most expensive and state-of-the-art television on the market today.

    Posted April 4, 2014 at 9:12 am | Permalink
  32. Along with almost everything that appears to be developing throughout this specific area,
    your points of view are relatively refreshing. However, I beg your
    pardon, but I do not subscribe to your entire idea, all be it exhilarating none the less.
    It seems to us that your comments are not completely validated
    and in simple fact you are generally your self not entirely certain of your argument.
    In any event I did take pleasure in examining it.
    I do enjoy the manner in which you have framed this specific

    Posted April 4, 2014 at 10:55 pm | Permalink
  33. For more information about Kesari tours you can visit. The rcovery of Japanese tourism was given a further boost in April this year, when the World Travel
    & Tourism Council Global Summit 2012 was held in Japan.

    If you are lopoking for a very forgiving driver this just might be
    your answer.

    Posted April 5, 2014 at 5:49 am | Permalink
  34. Is your browser accessing the internet without your control.

    Fortunately, Frash made itss way on the Jailbreaking scfene and allows the i - Phone,
    i - Pod Touch, and the i - Pad to stream Flash
    seamlessly on their i - Devices. Often people and companies
    involved in the wireless network do not have enough understanding of how insecure their network is until finally they get
    hacked into. A digital poste is an excellent part of the indoor digital
    signage equipment obtainable; these aare applied in many strange and unusuql spots such as lifts.

    You have a Sony Ericsson W995 and you’re ook with that, but what you really want right now is a nice set of apps
    to seal the deal.

    Posted April 7, 2014 at 7:53 am | Permalink
  35. Together with almost everything which appears to be building inside this
    particular area, your opinions tend to be rather radical. Nonetheless, I appologize, because I do not subscribe to
    your entire suggestion, all be it exhilarating none the less.
    It seems to me that your remarks are not completely validated and
    in actuality you are your self not really thoroughly certain of
    the argument. In any case I did take pleasure in reading
    it.
    I do love the manner in which you have framed this particular

    Posted April 7, 2014 at 6:10 pm | Permalink
  36. I enjoy what you guys are usually up too. This sort of clever work and coverage!

    Keep up the superb works guys I’ve incorporated you guys to blogroll.

    Posted April 9, 2014 at 4:08 pm | Permalink
  37. Awesome! Its in fact awesome post, I have got much clear
    idea concerning from this article.

    Joni
    Posted April 9, 2014 at 11:34 pm | Permalink
  38. Great weblog here! Additionally your web site so much up very fast!
    What web host are you using? Can I am getting your affiliate
    hyperlink to your host? I desire my web site loaded up as fast as yours lol

    Kerry
    Posted April 11, 2014 at 6:09 am | Permalink
  39. What you must do is to fill an online form.
    You could possibly hear web start bothering with the confidentiality of your respective information.
    The corporation handles all of the orders with great confidentiality.
    Why will you want to use the escort services? Listed
    below are the answers for you personally.

    Hollis
    Posted April 13, 2014 at 7:12 pm | Permalink
  40. Thank you for the good writeup. It in reality was once a enjoyment account it.
    Look complex to far brought agreeable from you!
    By the way, how can we keep up a correspondence?

    Posted April 14, 2014 at 2:49 am | Permalink
  41. Brazil chanel Bags
    I’m not sure where you’re getting your information, but great
    topic. I needs to spend some time learning much more
    or understanding more. Thanks for fantastic info I was looking for
    this info for my mission.

    Posted April 14, 2014 at 7:58 am | Permalink
  42. You should take part in a contest for one of the finest sites
    on the web. I will highly recommend this blog!

    Posted April 15, 2014 at 8:11 am | Permalink
  43. Argentina chanel Bag
    Hi there, i read your blog from time to time and i own a similar one and i
    was just wondering if you get a lot of spam
    remarks? If so how do you stop it, any plugin
    or anything you can suggest? I get so much lately it’s driving me mad so any assistance
    is very much appreciated.

    Posted April 17, 2014 at 7:14 pm | Permalink
  44. Wonderful blog! I found it while surfing around on Yahoo News.
    Do you have any suggestions on how to get listed in Yahoo News?
    I’ve been trying for a while but I never seem to get there!
    Thanks

    Posted April 18, 2014 at 7:48 pm | Permalink
  45. Italy chanel Bags
    Hello! I could have sworn I’ve visited this website before but after going through a few of the posts I realized it’s new to me.
    Anyways, I’m definitely happy I discovered it and I’ll be bookmarking it and checking back regularly!

    Posted April 19, 2014 at 4:50 am | Permalink
  46. Everything is very open with a really clear description of
    the issues. It was really informative. Your website
    is very useful. Many thanks for sharing!

    Posted April 19, 2014 at 9:30 am | Permalink
  47. Good info. Lucky me I came across your site by accident (stumbleupon).
    I have book-marked it for later!

    Posted April 19, 2014 at 9:32 pm | Permalink
  48. What i do not understood is in fact how you are no longer actually
    a lot more well-preferred than you may be now. You’re very intelligent.
    You know therefore significantly in relation to this subject, made
    me for my part believe it from a lot of numerous angles.
    Its like men and women aren’t fascinated until it’s something to do with Woman gaga!
    Your personal stuffs outstanding. All the time take care of it up!

    Posted April 20, 2014 at 2:00 pm | Permalink
  49. Hi colleagues, its great article on the topic of cultureand entirely
    explained, keep it up all the time.

    Posted April 21, 2014 at 10:19 am | Permalink
  50. You can do this by ensuring they eat sufficient fruit and vegetables.
    So it has a less full bodied flavor than tamari and it has
    a larger alcohol content which isn’t necessarily
    a problem but there’s less flavor to it and since it has wheat
    in it people with wheat allergies and people with gluten intolerance which is a big percentage of the population cannot
    consume it. Blueberries Chock filled with anti-oxidants and also
    phytoflavinoids, Blueberries are also high in potassium as well as ascorbic
    acid.

    Posted April 22, 2014 at 9:41 pm | Permalink
  51. I know this if off topic but I’m looking into starting my
    own blog and was curious what all is required to get set up?
    I’m assuming having a blog like yours would cost a pretty penny?
    I’m not very internet smart so I’m not 100% sure.
    Any suggestions or advice would be greatly appreciated. Thank you

    Posted April 23, 2014 at 2:31 am | Permalink
  52. I am sure this article has touched all the internet users, its really really nice post on building up new website.

    Posted April 23, 2014 at 6:57 am | Permalink

4 Trackbacks

  1. [...] Read more at IndieMaps . . . Get the code . . . SHARETHIS.addEntry({ title: “E00Parser, an ActionScript 3 Parser for the Arc/Info Export Topological GIS Format (IndieMaps)”, url: “http://kelsocartography.com/blog/?p=1937″ }); [...]

  2. By indiemaps.com/blog » Building topology in Flash on January 13, 2010 at 12:27 am

    [...] of the “four corners” states) are repeated. There are topological GIS formats, like Arc/Info Export (e00), but geospatial data are rarely distributed in such [...]

  3. [...] ActionScript I would use Edwin van Rijkom’s ESRI SHP parser, my own E00 parser, or some simple custom methods I’ve written to load in KML documents. Tom Carden of Stamen [...]

  4. [...] しかし、ほとんどの地理空間データフォーマットは(E00を除いて)非トポロジです。 (翻訳中) Updated: 2013年9月4日 at 7:26 AM ◀ D3.js バージョン 3.3 がリリースされました。 [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *