links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Squeak for Mapping
Last updated at 8:11 pm UTC on 3 November 2006

Using Squeak for Nautical Charts and GPS

Uploaded Image: meme1e.jpg

The Microship is a one-person sail/solar/pedal trimaran with lots of computerization.

We're using Squeak as the guts of the embedded control system, and so we'd naturally like to use Squeak to display nautical charts and GPS data.

So we're looking for source code, knowledge, and volunteers. Contact Ned Konz or Steve Roberts if you want to help. Also, add to this page!

It looks as if free charts are available from NOAA (see below) in the IHO S-57 data format. So it would make sense to be able to read these.


Hans Baveco has posted some code to SqueakMap on April 23, 2004. From the description of that package:

Adds classes representing ESRI shapefiles. Commonly used types are handled: Polygon, Polyline, Point and MultiPoint shapes. Shape data are read from files and simply kept as-is in ByteArrays in ShapeMap objects. For further processing of shape data, conversion into real objects (Polygon, Arc, Point, etc) might be handier. Both the .shp file and the index file (.shx) are read. To get at the attributes of the shapes, the accompanying *.dbf file needs to be read (a dbf-reader is not incorporated in the current version). Besides reading, the only functionality included is viewing the contents of a ShapeMap as a Form.

See the SqueakMap entry here:

Volunteers and Sponsors so far

Patrick Cannon of Barco Software
has offered his Zaurus PDA (Qt/Linux) based charting software for our use.

Madis Listak said:
I read your message in Squeak mailing list.
I have found the next package so far: ftp://st.cs.uiuc.edu/Smalltalk/st80_r41/Regions
As I remember Analyst also has some kind of GIS.

I am building underwater robot myself and very
soon I am reaching to the point where I need
to integrate some GIS to my other software.
I am glad to help you with this. (I like Squeak too!)

Bob Williams said:
As part of my doctoral research I created an Object-Oriented AM/FM/GIS
system using Digitalk's VisualSmalltalk. It had features that comercial GIS
systems are just now implementing. Another student who worked for me a that
project got funding from the Department of the Navy to investigate
converting their charts to an object format. We created a public domain
version of my system for that project. So, I am familiar with both GIS and
some of the nautical issues.

I would like to implement my system in Squeak; however, I have not had the

So, if you move ahead with your project, I would like to be involved.

(later, about the dissertation):

It was David Arctur's dissertation: Design of an Extensible Object-Oriented
GIS Framework With Reactive Capability. (1996) It read the Defense Mapping
Agency's Vector Product Format.

If I remember correctly, Dave left the data in lat/long, which is OK for
most of the US, except for Alaska. The conversion process is called
projection and is in the realm of Geographers. I have only worked with
state plane projections; however, the USGS is a good source, both most of
their programs are in C. In would be nice to get someone with a background
in Geography for that part of the project.

Bob said:
I'm a perpetual lurker, but your message interested me. I've been thikning
about it, but I'm also curious as to making an interface for Garmin GPS's as a
front end for their data.

Let me know what you come up with in this area.

An associate of mine did some interfaces to a few Garmin devices in VW. What
I want to do is put that into a mapping system which would then fall into the
GIS area.

Tom Rushworth said:
I've never done any GIS work in Squeak, but I used to
do some in C. I know something about the old Arc/Info
file formats (before "shape"), and IGDS formats as well.
The code I have belongs to my old employer, but I can
answer questions, and if there is any interest I can ask
about releasing the code.

I also have C code that converts UTM's to geographic
coords (and back) according to at least two datums
(earth shape models). That code I can pass on if
you're interested, since the original Fortran it was
based on came from the Canadian government.


I've attached a tarball utm.tgz of the C source for utm2geo and geo2utm,
along with the original Fortran (in subdir "Originals"). Data
in UTMs can be plotted directly, so that gives you at least one
"projection", all you need to do is scale to fit the screen :).

Once you translate this to Smalltalk, you can run the testgrids
in the subdir "DevelStuff", and see that utm2geo(geo2utm()) is
at least close to the identity function :).

Diego Gomez Deck said:
In the past I used PlotMorph to create a poor-man GIS (you can see a
screenshot and download it from: PlotMorph)

You can also use: http://community.corest.com/~luciano/maps/ that looks nice.

Hans Baveco said:
I have visualworks code available to read ArcInfo files (ung and aat & pat files, the latter converted to dbf or csv) and to create an object world with the right topology from these files (consisting of polygon and arc objects). The code may be amateurish but works fine. If no one else has squeak code available for this purpose, I could try to extract and squeakify the relevant parts.

John-Reed Maffeo said:
Count me in! I have a Squeak framework to objectify and display SDTS Digital Line Graph(DLG) data. The framework is adaptable to Digital Elevation Model data, but I have not yet figured out how to display DEM data in 3D (any hints?.

I am using unprojected lat-long data for my graphics. Having looked into projection software and I think that linking to an existing library might be a good thing. However I am interested in learning how to code and used projections.

It looks like S57 data is encoded using ISO8211. This is the same encoding that is used in SDTS, so it should be possible to use/modify/extend my framework for this purpose as well.

Who is working on the front end?


Some links we've found so far:

This is definitely THE website on scientific map creation. It provides a free, opensource General Mapping Tool (GMT) which is able to produce postscript maps in every possible projection. This page is a must-read if you're interessted in maps. See also http://www.aquarius.geomar.de/omc/omc_intro.html for an online demo-site. (Seems to produce worse maps than the command line version, though.) – Johannes Grosse

Your comments:

You might want to look at the web site: House of Grime. Grime has compiled many if not all of the various GIS file formats and their respective user programs. The orientation is towards free/share-ware. I am not sure what might be there of interest or use, but you never know. – Mark Sundberg

Hi, I'm also interested in this project as I have a boat and do some sailing. I'd be interested in helping write the S-57 reader and interfaces to Garmin family of GPS units.
Todd Blanchard>mailto:tblanchard@mac.com