- カテゴリ:
ST_ISVALID¶
指定された GEOGRAPHY または GEOMETRY オブジェクトが 有効な形状 を表している場合、TRUE を返します。無効な形状の例としては、自己交差やとがった突起のある形状があります。
構文¶
引数¶
geography_or_geometry_expression引数は型 GEOGRAPHY または GEOMETRY の式にする必要があります。
戻り値¶
これは BOOLEAN 値を返します。
使用上の注意¶
ST_ISVALID は形状の有効性のみをチェックします。データは変更しません。空間形式(WKT、WKB、EWKT、EWKB、GeoJSON など)からオブジェクトを構築する場合、変換関数(TO_GEOGRAPHY、TO_GEOMETRY、ST_GEOGRAPHYFROMWKT、ST_GEOMETRYFROMWKT など)は入力を解析し、デフォルトで形状の検証または修復を試みます。変換関数が形状を修復できない場合は、無効な形状を許可しない限り、エラーを返します。
無効な可能性があるデータ(後で修正する予定のデータなど)を取り込むには、変換関数を呼び出すときに、追加の
allow_invalid引数に TRUE を指定して、無効な形状を許可してください。その後、ST_ISVALID 関数を使用して、テーブル内の無効な行にフラグを付けることができます。一部の地理空間関数は、無効な形状を指定すると、エラーまたは使用できない結果を返す場合があります。ST_ISVALID 関数を使用して有効性を確認します。空間分析を実行する前に、無効な形状を修正することができます。
形状が無効な場合の簡単な修正方法としては、わずかに正または負の距離でバッファ処理を行うこと(たとえば、小さな突起を削除したり、自己交差を解消したりするため)と、その後に ST_ISVALID 関数を使用して再度有効性を確認することが含まれます。
例¶
以下の例では、 ST_ISVALID 関数を使用しています。
ポリゴンが有効な形状であるかどうかを判断します。
ST_BUFFER 関数を使用して小さなバッファを追加することで、無効な形状を修正します。