Več

Težave s poligonom python postgis

Težave s poligonom python postgis


Imam težave s primeri v knjigi "Geoprostorski razvoj Pythona". Ne morem pisati v poligone zbirke podatkov PostgreSQL iz TM_WORLD_BORDERS (poglavje 7, stran 202 v knjigi). Koda:

src_file = os.path.join ('TM_WORLD_BORDERS-0.3.shp') shapefile = osgeo.ogr.Open (src_file) layer = shapefile.GetLayer (0) za i v obsegu (layer.GetFeatureCount ()): feature = layer. GetFeature (i) name = feature.GetField ('NAME'). Decode ('Latin-1') geometry = feature.GetGeometryRef () wkt = geometry.ExportToWkt () cursor.execute ('INSERT INTO countries (ime, oris) ' +' VREDNOSTI (%s, ST_PolygonFromText (%s, 4326)) ' + ", (name.encode (' utf8 '), wkt)) connection.commit ()

Napisanih je le 30 od 246 poligonov. Toda funkcija geometry.IsValid () kaže, da je veljavnih 242 državnih poligonov.


Mislim, da se raznese pri prvem neveljavnem, pri uporabi morate uporabiti isvalid check