KML
データベースにファイルをインポートしましたpostgis
。道路を選択すると、正しい結果が得られます。これは 1 つの道路です。行数は多くないので手動で並べることもできますが、100 行を超える道路もあります。
そこで、輸入時にラインストリングを注文したいと思います。
私はこれを持っています:
1 - ラインストリングをマージしたいと思います。これST_Union
を行うことは可能ですが、今それを行うと、結果が非常に奇妙になるため、行を並べ替える必要があります。
2 - ラインストリングを並べ替える必要があるため、テーブルに列の位置があります。折れ線の終点と始点を取得する方法を知っています。
私がこれを行うとき:
SELECT ST_AsText(ST_ClosestPoint(ST_GeomFromText('POINT(7.38770714271048 47.5497446465569)',4326),geometrie)),
ST_AsText(ST_ClosestPoint(geometrie,ST_GeomFromText('POINT(7.38770714271048 47.5497446465569)',4326)))
FROM sections
WHERE nom_voie = 'LA THERMALE';
7.38770714271048 47.5497446465569
エンドポイントです
道路 LA THERMALE のすべての行を返します。
おそらく注文せずにラインストリングをマージする別の解決策はありますか?
ラインストリングを連結すると、結果は false になります。ライン 1 のエンドポイントをライン 4 の開始点などに関連付けます。順序付けられていないためだと思います。