<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi,<div>I am trying to insert some data from GSHHS (<a href="http://www.ngdc.noaa.gov/mgg/shorelines/data/gshhg/latest/">http://www.ngdc.noaa.gov/mgg/shorelines/data/gshhg/latest/</a>), </div><div>into Posgis2  (Postgresql 9.1).</div><div><br></div><div>I receive the  "geometry contains non-closed rings" error on one of the imports.</div><div>But right after that, Postgres is not able to insert anything in the DB.</div><div><br></div><div>I'm wondering if the data are wrong (they contain some un-closed geometries), or if the whole import</div><div>is somehow wrogn or outdated.</div><div><br></div><div>Python source is taken from "Python Geospatial Development, 2nd. Edition", ch. 7.</div><div><br></div><div><br></div><div>This is the python source:</div><div><div><font face="Courier New">for level in [1, 2, 3, 4]:</font></div><div><font face="Courier New">    srcFile = os.path.join("data", "gshhg-shp-2.2.2", "GSHHS_shp", "f",</font></div><div><font face="Courier New">                           "GSHHS_f_L" + str(level) + ".shp")</font></div><div><font face="Courier New">    shapefile = osgeo.ogr.Open(srcFile)</font></div><div><font face="Courier New">    layer = shapefile.GetLayer(0)</font></div><div><font face="Courier New"><br></font></div><div><font face="Courier New">    print "start level {0}".format(level)</font></div><div><font face="Courier New"><br></font></div><div><font face="Courier New">    for i in range(layer.GetFeatureCount()):</font></div><div><font face="Courier New">        feature = layer.GetFeature(i)</font></div><div><font face="Courier New">        wkt = feature.GetGeometryRef().ExportToWkt()</font></div><div><font face="Courier New">        print "."</font></div><div><font face="Courier New">        try:</font></div><div><font face="Courier New">            cursor.execute("INSERT INTO shorelines " +</font></div><div><font face="Courier New">                           "(level,outline) VALUES " +</font></div><div><font face="Courier New">                           "(%s, ST_GeometryFromText(%s, 4326))",</font></div><div><font face="Courier New">                           (level, wkt))</font></div><div><font face="Courier New">        except psycopg2.InternalError as e:</font></div><div><font face="Courier New">            print u"wkt: {0}".format(wkt)</font></div><div><font face="Courier New">            print e</font></div><div><font face="Courier New">            exit()</font></div><div><font face="Courier New"><br></font></div><div><font face="Courier New">    print ""</font></div><div><font face="Courier New">    print "end level {0}".format(level)</font></div></div><div><font face="Courier New"><br></font></div><div><font face="Arial">and the exception I trap:</font></div><div><div><div><font face="Courier New">...</font></div><div><font face="Courier New">.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))</font></div><div><font face="Courier New">geometry contains non-closed rings</font></div><div><font face="Courier New">HINT:  "...9.995139 70.972889,-180.0 70.972944))" <-- parse error at position 54107 within geometry</font></div></div></div><div><font face="Courier New"><br></font></div><div><br></div></body></html>