پایگاه داده مکانی
به صورت رایگان پایگاه داده مکانی ایجاد کنید

اتصال از Python و Node.js

نمونه کد با psycopg، GeoPandas و node-postgres

Python با psycopg

import psycopg

with psycopg.connect("host=HOST port=5432 dbname=DB user=USER password=PASS sslmode=require") as conn:
    rows = conn.execute("SELECT name, ST_AsGeoJSON(geom) FROM places LIMIT 10").fetchall()
    for name, geojson in rows:
        print(name, geojson)

Python با GeoPandas

import geopandas as gpd
from sqlalchemy import create_engine

engine = create_engine("postgresql+psycopg2://USER:PASS@HOST:5432/DB?sslmode=require")
gdf = gpd.read_postgis("SELECT * FROM parcels", engine, geom_col="geom")

Node.js با node-postgres

import pg from "pg";

const pool = new pg.Pool({
  connectionString: "postgresql://USER:PASS@HOST:5432/DB",
  ssl: { rejectUnauthorized: false },
  max: 3,
});

const { rows } = await pool.query(
  "SELECT id, ST_AsGeoJSON(geom)::json AS geometry FROM places WHERE ST_DWithin(geom::geography, ST_MakePoint($1,$2)::geography, 1000)",
  [51.389, 35.689]
);
در برنامه‌های وب حتماً از connection pool با حداکثر ۳ اتصال استفاده کنید تا از سقف پلن عبور نکنید.