[postgis-users] PostGIS and TIGER/GML
Paul Ramsey
pramsey at refractions.net
Thu Sep 30 09:25:22 PDT 2004
Joshua Lieberman wrote:
> Not sure we have met, but I've been messing about in OGC for a few
> years and, following a company transition (Syncline to Traverse +
> EoGeo), I am becoming very involved in the use of open-source
> software. I have also benefitted greatly from the materials published
> out of the recent open-source / MapServer Users meeting and am now
> regretting that I was unable to attend.
There's always next year! Make sure you have free time in June/July 2005
:) Refractions will be there in spades, and have some excellent goodies
to show off.
> It was necessary, however, to simplify the TIGER/GML data
> considerably in order to serve it up.
This is what we have found working with our TIGER client. In order to
map it "nicely" with good cartographic results, some substantial
processing is required, both to make things label nicely at local zoom
levels and to provide generalized views at county/regional/state zoom
levels.
Our approach right now is to write an FME script for data loading, that
will process the TIGER data into multiple output tables in postgis,
suitable for use in geocoding and also in cartographic mapping. Among
the tables we are populating are things like:
- tiger_roads_local
- tiger_roads_local_cartographic
- tiger_roads_connector
- tiger_roads_connector_cartographic
- tiger_rails
- tiger_ferries
- tiger_water_lines
- tiger_water_polygons
- tiger_places
- tiger_tracts
- tiger_county_subunits
- tiger_counties
- tiger_zipcodes
- tiger_landmarks_polygons
- tiger_landmarks_points
Basically we are denormalizing and in places generalizing (in the
"cartographic" tables) TIGER for easier use for analytics and mapping.
We are also doing a mapserver map file that uses the tables we are
creating to make really nice base maps.
Since TIGER is freely redistributable, when we have run the whole data
set, we will re-export the results as dump files by state, so people can
load up the tables they want. Hopefully the postgis user population is
not so large that they will give us a massive bandwidth bill on the
downloads.
> I am curious now about any plans or ideas for PostGIS to support
> spatial data with a structural complexity more akin to what GML is
> capable of encoding, perhaps by being able to use complex objects in
> other than geometry columns, or by spreading complex properties among
> several tables.
Yes, but not with any new capabilities (well, maybe one or two). I have
a couple projects now where a topology model would be useful, and am
going to do some experiments. Fundamentally, a topology model, with some
triggers, and a new "polygonize" function should allow us to store
topology but also draw the contents of the database onscreen in pretty
pictures.
> I would be interested in your views on this, or to
> chat at some point about it. It's a discussion to have with
> developers of Geoserver and MapServer as well. It appears that the
> deegree developers are themselves thinking along the lines of using
> whatever object serialization the java package "hibernate" performs,
> which worries me somewhat.
I think the database should do the work. One of the first add-ons to our
uDig project will be a module for handling the editing of topology data,
in Oracle and PostGIS. Other than line manipulation, the database should
do the rest, updating built features etc. The mapping side should just
read the built features.
Oh, one new PostgreSQL feature might help us a lot. "Materialized
views". There has been some work on that lately (I talked to a guy at
OSCON who is working on them) and they would help with complex things
like a materialized view of a local level table that generates a
simplified regional level cartographic view on the fly.
> We do have some development capabilities to contribute to addressing
> this problem, if a consensus can develop on what approach to take.
Well, we should start by examining the Oracle topology model and
deciding what conventions we would like in a topology model of our own.
Once we define the column names and link tables, we can write it up and
do some PL/PGSQL triggers to maintain some of the basic relationships of
a topology model.
Paul
More information about the postgis-users
mailing list