[postgis-users] Normalizing nationalatlas.gov data
David Jantzen
david at culturemob.com
Mon Jun 23 11:23:02 PDT 2008
Wow, that one did it. The data is correct and the query returns in a
couple seconds. The query with ST_Union ran for almost 10 minutes so I
have no idea what it was doing.
I'll try to put together some repro steps with ST_Union and submit a
bug.
Thanks for your help Regina.
David
On Mon, 2008-06-23 at 08:37 -0400, Obe, Regina wrote:
> David,
>
> Union shouldn't cause any of those problems. If you are sure they have
> states demarcated in them, then could be a bug in ST_Union - so you
> should post a bug report with sample data.
>
> Other thought I just realized you can still use ST_Collect by doing the
> following
>
>
> INSERT INTO newtable(stusps, the_geom) SELECT stusps,
> ST_Multi(ST_Collect(f.the_geom)) as singlegeom
> FROM (SELECT stusps, (ST_Dump(the_geom)).geom As the_geom FROM
> somestatetable ) As f
> GROUP BY stusps
>
>
> ST_Collect is less likely to cause any strange abberations since its
> just collecting the geometries. Dump will dump out each POLYGON in the
> MULTIPOLYGON set.
>
> Note that dump returns a struct of the form (path, geom) -- so that's
> the reason I have that funky (ST_Dump(the_geom)).geom
>
> Since we really don't need the path.
>
> Hope that helps,
> Regina
>
>
>
>
>
> -----Original Message-----
> From: postgis-users-bounces at postgis.refractions.net
> [mailto:postgis-users-bounces at postgis.refractions.net] On Behalf Of
> David Jantzen
> Sent: Sunday, June 22, 2008 8:21 PM
> To: PostGIS Users Discussion
> Subject: RE: [postgis-users] Normalizing nationalatlas.gov data
>
> Okay, well that definitely gets me closer. Unioning creates single
> multipolygons for each state. However, for some reason some details are
> missing. For example, Puget Sound is gone, as are some of Great Lake
> borders. Any idea why that would be? Is data loss a known risk of
> unioning?
>
> On Sun, 2008-06-22 at 17:06 -0400, Paragon Corporation wrote:
> > Yes. Sorry I meant use ST_Union.
> >
> > INSERT INTO newtable(stusps, the_geom) SELECT stusps,
> > ST_Multi(ST_Union(the_geom)) as singlegeom FROM somestatefield
> > GROUP BY stusps
> >
> > -----Original Message-----
> > From: postgis-users-bounces at postgis.refractions.net
> > [mailto:postgis-users-bounces at postgis.refractions.net] On Behalf Of
> David
> > Jantzen
> > Sent: Sunday, June 22, 2008 12:32 AM
> > To: PostGIS Users Discussion
> > Subject: RE: [postgis-users] Normalizing nationalatlas.gov data
> >
> > Hi Regina, thanks for the response.
> >
> > The original data is made up of MultiPolygons, and so the result of
> > ST_Collect is a GeometryCollection. ST_Multi fails to convert the
> > collection into a MultiPolygon, maybe it can't do so. So, I guess the
> > question is whether it's possible to convert a GeometryCollection of
> > MultiPolygons into a single MultiPolygon.
> >
> > QuantumGIS can't read GeometryCollections (or at least 0.8.1 can't,
> maybe
> > newer versions can?), which is a requirement for what I'm trying to
> do. I
> > wonder if it could handle an array of MultiPolygons...
> >
> > Your second example looks the same as the first, did you mean to type
> > something else?
> >
> > Thanks,
> > David
> >
> > > INSERT INTO newtable(stusps, the_geom) SELECT stusps,
> > > ST_Multi(ST_Collect(the_geom)) as singlegeom FROM somestatefield
> > > GROUP BY stusps
> > >
> > >
> > > Or
> > >
> > > INSERT INTO newtable(stusps, the_geom) SELECT stusps,
> > > ST_Multi(ST_Collect(the_geom)) as singlegeom FROM somestatefield
> > > GROUP BY stusps
> > >
> > >
> > > ST_Collect tends to be faster and if they are single polygons is
> safe
> > > to use, with MULTIS it will create GEOMETRYCollections which are
> hard
> > > to deal with.
> > >
> > > ST_Union will dissolve some boundaries and can work with
> MULTIPOLYGONS
> > >
> > > Hope that helps,
> > > Regina
> > >
> > > -----Original Message-----
> > > From: postgis-users-bounces at postgis.refractions.net
> > > [mailto:postgis-users-bounces at postgis.refractions.net] On Behalf Of
> > > David Jantzen
> > > Sent: Saturday, June 21, 2008 7:37 PM
> > > To: postgis
> > > Subject: [postgis-users] Normalizing nationalatlas.gov data
> > >
> > > Hi All,
> > >
> > > I've been exploring the data up on nationalatlas.gov, in particular
> > > the states, counties and urban areas data:
> > >
> > > http://nationalatlas.gov/atlasftp.html?openChapters=%2Cchpref%
> > > 2Cchpbound#chppeopl
> > >
> > > I'd like to load these into a postgis-enabled database for use by
> our
> > > website. At the same time, I'd strongly prefer a set of normalized
> > > tables for all this information, so that we don't have redundant
> (and
> > > inconsistent) state, county, city information, etc, but rather,
> > > foreign keys. However, many of the data sets from nationalatlas are
>
> > > comprised of multiple polygon records for each entity. For example,
>
> > > the Washington state polygon data is spread across 50 rows.
> > >
> > > ?Is it possible to merge the multiple polygons into a single
> geometry
> > > object using postgis functions? (I tried various operations
> > > converting geometries to and from text without success.) Failing
> > > that, are there comparable data sets out there that can be
> normalized
> > > without turning the polygon data into a one-to-many relation?
> > >
> > > Thanks,
> > > David
> > >
> > >
> > > _______________________________________________
> > > postgis-users mailing list
> > > postgis-users at postgis.refractions.net
> > > http://postgis.refractions.net/mailman/listinfo/postgis-users
> > >
> > >
> > >
> > > _______________________________________________
> > > postgis-users mailing list
> > > postgis-users at postgis.refractions.net
> > > http://postgis.refractions.net/mailman/listinfo/postgis-users
> >
> > _______________________________________________
> > postgis-users mailing list
> > postgis-users at postgis.refractions.net
> > http://postgis.refractions.net/mailman/listinfo/postgis-users
> >
> >
> >
> > _______________________________________________
> > postgis-users mailing list
> > postgis-users at postgis.refractions.net
> > http://postgis.refractions.net/mailman/listinfo/postgis-users
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
> -----------------------------------------
> The substance of this message, including any attachments, may be
> confidential, legally privileged and/or exempt from disclosure
> pursuant to Massachusetts law. It is intended
> solely for the addressee. If you received this in error, please
> contact the sender and delete the material from any computer.
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
More information about the postgis-users
mailing list