回答:
CREATE TABLE new_road_cl AS
SELECT ST_Intersection(r.geom, b.geom) AS geom,
b.attr1, b.attr2, b.attr3,
r.attr1, r.attr2, r.attr3
FROM road_blocks b, road_cl r
WHERE ST_Intersects(r.geom, b.geom);
the_geom
んgeom
か?
ネイサン、
1)ジオメトリが有効であることを確認してください。無効なジオメトリは、この種のエラーの主な原因です。SELECT ST_IsValid(geom);
2)実行しているgeoのバージョンは何ですか?する
SELECT postgis_full_version();
GEOS 3.2以降では、これらのトポロジー例外の問題のいくつかが実行されます。
アダムへ-ある日、彼はthe_geomを入力するのが面倒だと決めた:)-それで彼は「今からデフォルトは-geom」と宣言した。私たちはみんな自分の足にスタンプを押して言った-2.0まではNO
したがって、geogはgeographyのデフォルトであり、geomは2.0のジオメトリのデフォルトになります。
TopologyException: found non-noded intersection between LINESTRING (397766 6.83237e+006, 397769 6.83237e+006) and LINESTRING (397767 6.83238e+006, 397766 6.83237e+006) at 397766 6.83237e+006