Hi,
I am trying to insert some data from GSHHS 
(http://www.ngdc.noaa.gov/mgg/shorelines/data/gshhg/latest/), 
into Posgis2  (Postgresql 9.1).

I receive the  "geometry contains non-closed rings" error on one of the imports.
But right after that, Postgres is not able to insert anything in the DB.

I'm wondering if the data are wrong (they contain some un-closed geometries), 
or if the whole import
is somehow wrogn or outdated.

Python source is taken from "Python Geospatial Development, 2nd. Edition", ch. 
7.


This is the python source:
for level in [1, 2, 3, 4]:
    srcFile = os.path.join("data", "gshhg-shp-2.2.2", "GSHHS_shp", "f",
                           "GSHHS_f_L" + str(level) + ".shp")
    shapefile = osgeo.ogr.Open(srcFile)
    layer = shapefile.GetLayer(0)

    print "start level {0}".format(level)

    for i in range(layer.GetFeatureCount()):
        feature = layer.GetFeature(i)
        wkt = feature.GetGeometryRef().ExportToWkt()
        print "."
        try:
            cursor.execute("INSERT INTO shorelines " +
                           "(level,outline) VALUES " +
                           "(%s, ST_GeometryFromText(%s, 4326))",
                           (level, wkt))
        except psycopg2.InternalError as e:
            print u"wkt: {0}".format(wkt)
            print e
            exit()

    print ""
    print "end level {0}".format(level)

and the exception I trap:
...
.968778,-179.804972 70.969583,-179.807611 70.969556,-179.810111 
70.970389,-179.815056 70.970417,-179.817583 70.971222,-179.8225 
70.971278,-179.825083 70.972083,-179.827639 70.972056,-179.830083 
70.972917,-179.835139 70.972889,-179.8375 70.973722,-179.840139 
70.973722,-179.842556 70.974556,-179.847583 70.974583,-179.850167 
70.975417,-179.855028 70.975389,-179.857611 70.976194,-179.860083 
70.976278,-179.862667 70.977083,-179.865056 70.977056,-179.8675 
70.977917,-179.870111 70.977889,-179.872639 70.978694,-179.877556 
70.97875,-179.880139 70.979556,-179.885 70.979528,-179.887611 
70.980417,-179.917639 70.980389,-179.920111 70.979556,-179.930111 
70.979583,-179.932611 70.97875,-179.940083 70.978722,-179.942583 
70.977889,-179.952583 70.977917,-179.955083 70.977083,-179.960167 
70.977111,-179.962639 70.976278,-179.967556 70.97625,-179.970028 
70.975417,-179.975056 70.975389,-179.977611 70.974611,-179.982639 
70.974583,-179.985111 70.97375,-179.9925 70.973722,-179.995139 70.972889,-180.0 
70.972944))
geometry contains non-closed rings
HINT:  "...9.995139 70.972889,-180.0 70.972944))" <-- parse error at position 
54107 within geometry


Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
postgis-users mailing list
[email protected]
http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users

Reply via email to