[OSGeoJapan-discuss] [spatialite]LineString と
ASAHI Kosuke
asahi @ hcc.co.jp
2012年 12月 12日 (水) 01:04:19 PST
朝日です。
結果にlinestringとmultilinestringが混在しているということなので、
○結果をst_multiで全部multilinestringにしてしまう
create table intesetc_01 as
select
st_multi(intersecton(line.geom, polygon.geom)) as geom
from
line, polygon
where
intersects(line.geom, polygon.geom);
○multi→singleに変更
コマンドラインは思い出せず・・
spatialite-guiに下記のメニューがあるので、使うとmulti→singleにしたテー
ブルを作成してくれるはずです
http://cdn-ak.f.st-hatena.com/images/fotolife/w/waigani/20121107/20121107121603.png
こんな感じでどうでしょう?
(2012/12/12 17:23), sgw00412 @ nifty.com wrote:
> spatialite を使い始めました初心者です。
>
> ライン群とポリゴンでinterectionを試みていますが
> LineStringとMultiLineStringが混在すると,recover geometryに
> 失敗してしまいます。
>
> 初歩的な内容かも知れませんが,どなたかご教授頂ければ幸いです。
>
> <やった内容>
> create table intesetc_01 as
> select
> intersecton(line.geom, polygon.geom) as geom
> from
> line, polygon
> where
> intersects(line.geom, polygon.geom);
>
> 得られたinsect_01のgeomを選択し,recovery geometry
>
> Srid→line polygon と同じ値
> xyからlinestringでOKを押すと
>
> <エラーメッセージが出ます>
> Geometry column doesn't satisfies required concstains
> a ROLLBACK was automatically performed.
>
> というメッセージが出て進みません。
>
> check geometryをすると
> Linestring と multilinestring が それぞれカウントされるので
> linestringとmultilinestringが混在しているからrecover geometryできないと
> 思うのです。。。
>
> それではline群をみてみると:
> 蛇のとぐろみたく自ら交差してしまうラインがmultilinestringと判断されているよう
> です。
>
> これを解決する方法はないのでしょうか?
> たとえばmultilinestrinを強引にlinestringにconvertできれば解決するのでしょうか
> ・・・。
>
> 島田@気象協会(shimada @ jwa.or.jp)
>
> _______________________________________________
> OSGeoJapan-discuss mailing list
> OSGeoJapan-discuss @ lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>
--
北海道地図株式会社 研究開発課
朝日 孝輔
mailto:asahi @ hcc.co.jp
Tel : 0166-62-4711
More information about the OSGeoJapan-discuss
mailing list