私は緯度と経度の2つの列(実数型)を持つテーブルを持っています。 これらのポイントがベルギーにあるかどうかは、SQLクエリ(postgreSQL)から直接知りたいです。 は、私はすでにパイソン(Geopy)でいくつかのことを見てきましたが、要求の数が限られている(geopy.exc.GeocoderServiceError:HTTPエラー429:あまりにも多くのリクエスト )...postgresql latitude longitude belgium
任意のアイデア? 種類について
私は緯度と経度の2つの列(実数型)を持つテーブルを持っています。 これらのポイントがベルギーにあるかどうかは、SQLクエリ(postgreSQL)から直接知りたいです。 は、私はすでにパイソン(Geopy)でいくつかのことを見てきましたが、要求の数が限られている(geopy.exc.GeocoderServiceError:HTTPエラー429:あまりにも多くのリクエスト )...postgresql latitude longitude belgium
任意のアイデア? 種類について
PostGISエクステンションを使用して直接Postgresで実行できます。ベルギーの図形をテーブルに格納する必要があります。
呼び出す関数はST_CONTAINSで、最初のジオメトリに2番目のジオメトリが含まれている場合はTrueまたはFalseを返します。
SELECT layer_pt.* FROM layer_belgium, layer_pt WHERE ST_Contains(layer_belgium.geom, layer_pt.geom);
最初の形状は、ベルギーの形状になると、もう一つはあなたのポイントになります。他の国がある場合は、ベルギーのみを取得するようにクエリを制限する必要があります。
ポイントジオメトリがなく、その座標だけなので、オンザフライでcreate the point geometryにする必要があります。
SELECT layer_pt.* FROM layer_belgium, layer_pt WHERE ST_Contains(layer_belgium.geom, ST_GeomFromText('POINT(' || layer_pt.y || ' ' || layer_pt.x || ')', 4326));
を見て、PostGISのでより多くの助けを必要とするなら、それは非常に便利です、ありがとうございます! –
大歓迎です! – JGH