sql >> Databáze >  >> RDS >> PostgreSQL

Jak převést bodový text na geometrii

Můžete také použít ST_MakePoint, který je pravděpodobně čistší, protože nemusíte zřetězit hodnoty zeměpisné šířky a délky jako text. Použijte jej ve spojení s ST_SetSrid k nastavení referenčního souřadnicového systému na 4326, např.

Select ST_SetSrid(ST_MakePoint(lon, lat),4326) from sometable;

vrátí typ geometrie. Všimněte si, že pořadí je lon/lat (x/y), což je příčinou mnoha zmatků, protože lidé říkají lat/lon v každodenní řeči.

ST_GeomFromText je obecně užitečnější, když máte geometrii ve formátu známého textu (WKT), např.

Select ST_GeomFromText('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 4326);

Pokud jsou vaše data skutečně ve tvaru ((-79.4609576808001,43.9726680183837)) a nechcete je rozdělit, jak jsem navrhl výše, správný formát pro použití s ​​ST_GeomFromText pro bod je:

Select ST_GeomFromText('POINT(-79.4609576808001 43.9726680183837)', 4326)

kde je SRID volitelné, ale doporučené.

Viz http://en.wikipedia.org/wiki/Well_Known_Text pro více informací.



  1. Výchozí hodnota úrovně Django DB pro sloupec

  2. Mysql Search zacházet s obdobími jako s prostory

  3. Jak dosáhnu top 1 v Oracle?

  4. Jak vyvinout offline první nativní aplikaci pro Android