Tüm Ürünler
Search
Belge Merkezi

Hologres:PostGIS spatial functions

Son Güncelleme:Oct 06, 2026

PostGIS, Hologres'e mekânsal veri türlerini, işlevlerini ve operatörlerini ekler. Sınırlayıcı kutu filtrelemesinden yakınlık aramalarına, çokgen kesişim kontrollerinden mesafe hesaplamalarına kadar coğrafi verileri depolamak, sorgulamak ve analiz etmek için bu uzantıyı kullanın.

Hologres, PostGIS 3.0.0 sürümünü destekler.

Motor desteği

Hologres V1.3 ve sonraki sürümlerde, çoğu PostGIS işlevi Alibaba Cloud tarafından geliştirilen Hologres Query Engine (HQE) üzerinde çalışır; bu motor PQE'ye kıyasla daha iyi sorgu performansı sunar. V1.3 öncesi sürümlerde işlevler PostgreSQL Query Engine (PQE) üzerinde çalışır ve performans daha düşük olabilir. Her işlevin hangi motoru kullandığını öğrenmek için Mekânsal işlevler bölümüne bakın: Her işlev tablosu ya tüm grup için motoru belirtir ya da Required engine sütununda listeler.

PostGIS uzantısını yükleme ve kaldırma

Bir veritabanına PostGIS yüklemek için aşağıdaki deyimi süper kullanıcı olarak çalıştırın. Yükleme veritabanı başına yapılır; mekânsal desteğe ihtiyaç duyan her veritabanı için bu adımı tekrarlayın.

-- Install PostGIS explicitly into the public schema.
CREATE EXTENSION IF NOT EXISTS postgis SCHEMA public;
PostGIS, pg_catalog şemasına yüklenemez.

Yüklemeyi doğrulamak için şu komutu çalıştırın:

SELECT public.postgis_full_version();

Başarılı bir yükleme, POSTGIS="3.0.0 ..." gibi bir sürüm dizesi döndürür.

Not

postgis_full_version() , public şemasında bulunan bir PL/pgSQL işlevidir. Hologres'teki varsayılan search_path public'i içerdiğinden, işlevi şema öneki olmadan çağırabilirsiniz. Geçerli oturumun search_path değerinde public yoksa, çağrı function postgis_full_version() does not exist hatasıyla başarısız olur. Bu konudaki örnekler, herhangi bir search_path ayarı altında çalışabilmesi için public. önekini kullanır.

PostGIS'i kaldırma

Uzantıyı kaldırmak için:

DROP EXTENSION postgis;

Veritabanında hâlâ geometry veya geography türüne bağımlı nesneler varsa — örneğin, Geometry tablosu oluşturma ve sorgulama bölümünde açıklandığı gibi oluşturulan bir tablo — deyim cannot drop extension postgis because other objects depend on it hatasıyla başarısız olur. Önce bağımlı nesneleri silin:

  1. Hâlâ mekânsal bir tür kullanan nesneleri ve sütunları bulun:

    SELECT n.nspname AS schema_name, c.relname AS object_name, a.attname AS column_name, t.typname
    FROM pg_attribute a
      JOIN pg_class c ON c.oid = a.attrelid
      JOIN pg_type t ON t.oid = a.atttypid
      JOIN pg_namespace n ON n.oid = c.relnamespace
    WHERE t.typname IN ('geometry', 'geography')
      AND c.relkind IN ('r', 'p', 'm', 'f')
      AND a.attnum > 0
      AND NOT a.attisdropped
      AND n.nspname NOT LIKE 'pg_%';
  2. Sorgunun döndürdüğü her tabloyu silin veya yalnızca mekânsal sütunlarını kaldırın:

    DROP TABLE <TABLE_NAME>;
    Not

    Tablo geri dönüşüm kutusu etkinse — ki bu, Hologres V3.1 ve sonraki sürümlerde varsayılan ayardır — DROP TABLE tabloyu geri dönüşüm kutusuna taşır; bu nedenle sonraki adımı da tamamlamanız gerekir. Geri dönüşüm kutusunu atlayıp sonraki adımdan kaçınmak için bunun yerine DROP TABLE <TABLE_NAME> FORCE; komutunu çalıştırın. Daha fazla bilgi için bkz. Tablo geri dönüşüm kutusu.

  3. Geri dönüşüm kutusunu boşaltın. Geri dönüşüm kutusundaki tablolar hâlâ mekânsal türlere bağımlı olduğundan, kutu boşaltılana kadar bu türler kullanımda kalır:

    CALL hologres.hg_purge_all_tables();
    Önemli

    hg_purge_all_tables() , geçerli veritabanının geri dönüşüm kutusundaki her tabloyu kalıcı olarak siler. Bu işlem geri alınamaz. Çalıştırmadan önce, geri dönüşüm kutusunda hâlâ ihtiyacınız olan bir tablo olmadığından emin olun. Bu komut, geçerli örneğin bir süper kullanıcısı tarafından çalıştırılmalıdır.

  4. Uzantıyı kaldırın:

    DROP EXTENSION postgis;
Önemli

PostgreSQL hata mesajı CASCADE önerse bile, bağımlı nesneleri yukarıda açıklandığı şekilde silin; DROP EXTENSION postgis CASCADE kullanmayın. CASCADE seçeneği, uzantıya bağımlı tüm nesnelerle (meta veriler, tablolar, görünümler ve sunucu verileri dahil) birlikte uzantı verilerini (PostGIS, RoaringBitmap, Proxima, Binlog ve BSI verileri) siler. Bu işlem geri alınamaz.

spatial_ref_sys çakışmasını çözme

CREATE EXTENSION postgis komutu relation spatial_ref_sys already exists hatasıyla başarısız olursa, veritabanında önceki bir kurulumdan kalan spatial_ref_sys sistem tablosu vardır. Normal bir DROP EXTENSION postgis işlemi geride hiçbir şey bırakmaz; bu nedenle bu hata genellikle başka bir veritabanından geçiş sonrası veya aynı ada sahip bir tablonun manuel olarak oluşturulması durumunda ortaya çıkar. Çakışmayı şu şekilde çözün:

  1. Kısmen yüklenmiş uzantıyı kaldırın:

    DROP EXTENSION IF EXISTS postgis;
  2. Kalan sistem tablosunu kaldırın. Bu deyimi çalıştırmadan önce, tablonun önceki bir kurulumdan kalan bir kalıntı mı yoksa bir iş tablosu mu olduğunu doğrulayın:

    DROP TABLE IF EXISTS spatial_ref_sys CASCADE;
  3. PostGIS uzantısını yeniden yükleyin:

    CREATE EXTENSION IF NOT EXISTS postgis SCHEMA public;
  4. Yüklemeyi doğrulayın:

    SELECT public.postgis_full_version();

Geometry tablosu oluşturma ve sorgulama

PostGIS, Hologres'te iki mekânsal veri türünü destekler: geometry (düzlemsel/Kartesyen koordinatlar) ve geography (küresel boylam/enlem koordinatları). geography türü hakkında ayrıntılı bilgi için PostGIS geography belgelerine bakın.

geometry türü daha yaygın kullanılır. Aşağıdaki adımlar, bir geometry tablosunun nasıl oluşturulacağını ve mekânsal sorguların nasıl çalıştırılacağını gösterir.

1. Geometry tablosu oluşturma

Tablo oluştururken bir geometry alt türü belirtebilirsiniz. Desteklenen alt türler: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon.

Alt tür olmadan:

CREATE TABLE holo_gis_1 (
  id   INT,
  geom geometry,
  PRIMARY KEY (id)
);

Alt tür ve mekânsal referans sistemi tanımlayıcısı (SRID) ile:

CREATE TABLE holo_gis_2 (
  id   INT,
  geom geometry(point, 4326),
  PRIMARY KEY (id)
);

Bu örnekte alt tür Point ve SRID 4326 (WGS 84) olarak ayarlanmıştır. SRID belirtilmezse varsayılan değer 0 olur. Eklediğiniz veya sorgu yüklemelerinde kullandığınız geometrilerin SRID'si, sütunun SRID'siyle eşleşmelidir. Aksi takdirde, deyim Geometry SRID (0) does not match column SRID (4326) veya Operation on mixed SRID geometries gibi bir hatayla başarısız olur. SRID'ler hakkında daha fazla bilgi için PostGIS belgelerine bakın.

2. Mekânsal veri ekleme

-- Without SRID
INSERT INTO holo_gis_1 VALUES (1, ST_GeomFromText('point(116 39)'));

-- With SRID 4326
INSERT INTO holo_gis_2 VALUES (1, ST_GeomFromText('point(116 39)', 4326));

Mekânsal işlevler hakkında daha fazla bilgi için bkz. Mekânsal işlevler.

3. Mekânsal veri sorgulama

Verileri ekledikten sonra aşağıdaki türdeki sorguları çalıştırabilirsiniz.

Dikdörtgen aralık sorgusu

Bir sınırlayıcı kutu içindeki tüm noktaları döndürür.

SRID olmadan:

SELECT st_astext(geom)
FROM holo_gis_1
WHERE ST_Covers(
  ST_MakeBox2D(ST_Point(116, 39), ST_Point(117, 40)),
  geom
);

SRID ile:

SELECT st_astext(geom)
FROM holo_gis_2
WHERE ST_Covers(
  ST_SetSRID(ST_MakeBox2D(ST_Point(116, 39), ST_Point(117, 40)), 4326),
  geom
);

Her iki sorgu da şu sonucu döndürür:

st_astext
-------------
POINT(116 39)
Not

Büyük veri kümeleri için, kesin mekânsal yüklemi çalıştırmadan önce kaba filtre olarak sınırlayıcı kutu operatörü && kullanın. Bu yaklaşım, kesin hesaplamaya ulaşan satır sayısını azaltır. && operatörü HQE üzerinde çalıştığından, PQE'ye yönlendirilen ST_Intersects ve ST_Covers gibi topolojik işlevlere göre daha düşük maliyetlidir. Örneğin:

SELECT st_astext(geom)
FROM holo_gis_1
WHERE geom && ST_MakeBox2D(ST_Point(116, 39), ST_Point(117, 40))
  AND ST_Intersects(ST_GeomFromText('POLYGON((116 39,117 39,117 40,116 40,116 39))'), geom);

Yalnızca dikdörtgen aralık filtresine ihtiyacınız varsa ve kesin topolojik anlambilime gerek yoksa, tek başına geom && ST_MakeBox2D(...) kullanın. Sütunun bir SRID'si varsa, kutuyu aynı SRID ile ST_SetSRID içine sarın. Aksi takdirde, deyim Operation on mixed SRID geometries hatasıyla başarısız olur.

Çokgen kesişim kontrolü

Rastgele bir çokgenin içinde kalan veya sınırında yer alan noktaları bulmak için çokgenle birlikte ST_Intersects kullanın. ST_MakeBox2D tarafından oluşturulan sınırlayıcı kutunun aksine, çokgen herhangi bir şekle sahip olabilir ve ST_Intersects sınır temasını eşleşme olarak sayar.

SRID olmadan:

SELECT st_astext(geom)
FROM holo_gis_1
WHERE ST_Intersects(
  ST_GeomFromText('POLYGON((116 39,117 39,117 40,116 40,116 39))'),
  geom
);

SRID ile:

SELECT st_astext(geom)
FROM holo_gis_2
WHERE ST_Intersects(
  ST_SetSRID(ST_GeomFromText('POLYGON((116 39,117 39,117 40,116 40,116 39))'), 4326),
  geom
);

Her iki sorgu da şu sonucu döndürür:

st_astext
-------------
POINT(116 39)

Mekânsal işlevler

PostGIS, geometry değerlerini dönüştürmek ve analiz etmek için mekânsal işlevler sağlar. İşlev sözdizimi aşağıdaki parametreleri kullanır:

  • geom: bir geometry değeri veya geometry olarak değerlendirilen bir ifade

  • precision: koordinat çıkış hassasiyetini kontrol eden bir INTEGER . Parametre adı, anlambilimi ve varsayılan değeri işleve göre değişir:

    • ST_AsText(geom [, precision]): anlamlı basamak sayısı. Varsayılan 15 değeridir.

    • ST_AsGeoJSON(geom [, maxdecimaldigits]): ondalık basamakların maksimum sayısı. Varsayılan 9 değeridir. Daha fazla hassasiyeti korumanız gerekiyorsa bu parametreyi açıkça belirtin; aksi takdirde dışa aktarılan koordinatlar hassasiyet kaybeder.

    1 ile 20 arasında bir değer belirtmenizi öneririz. Bu aralığın dışındaki değerler kabul edilir ancak anlamlı ek basamak üretmez, çünkü çift hassasiyetli bir float yaklaşık 15 ila 17 anlamlı basamak taşır.

  • index: INTEGER ; aksi belirtilmedikçe 1 tabanlı dizin

  • srid: INTEGER ; mekânsal referans sistemi tanımlayıcısı

Her işlev aşağıdaki sorgu motorlarından biri üzerinde çalışır:

Engine When it applies Performance
HQE (Hologres Query Engine) Hologres V1.3 ve sonraki sürümler Daha yüksek — analitik iş yükleri için optimize edilmiştir
PQE (PostgreSQL Query Engine) Tüm sürümler; belirli işlevler için gereklidir Daha düşük — uyumluluk modu

Tam PostGIS işlev spesifikasyonu için PostGIS referans belgelerine bakın.

Not
  • Aşağıdaki tablolardaki motor atamaları, Hologres V4.2 üzerinde ölçülen davranışı yansıtır ve yalnızca mevcut motoru (HQE veya PQE) listeler. Bir işlevin kullandığı motor sürümler arasında değişebilir. Örneğiniz için motoru doğrulamak amacıyla, EXPLAIN çıktısında bir PQE düğümü olup olmadığını kontrol edin. Sürüme göre genel motor desteği için bkz. Motor desteği.

  • Aşağıdaki tablolar her işlevin yaygın olarak kullanılan imzasını listeler. Bazı işlevler ek aşırı yüklemeler kabul eder; örneğin, ST_MakeLine ayrıca bir geometri dizisi alır ve ST_AddPoint ayrıca bir ekleme konumu alır. Tam aşırı yükleme listesini ve bu tablolarda listelenmeyen ancak örneklerde görünen ST_MakeBox2D gibi işlevleri görmek için PostGIS referans belgelerine bakın.

Geometry oluşturucuları

Bu gruptaki tüm işlevler HQE üzerinde çalışır.

Function Syntax Returns Description
ST_LineFromMultiPoint ST_LineFromMultiPoint(geom) GEOMETRY Çok noktalı bir geometriden, nokta sırasını koruyarak bir çizgi dizesi oluşturur. Döndürülen geometri, girişle aynı SRID'ye sahiptir.
ST_MakeEnvelope ST_MakeEnvelope(xmin, ymin, xmax, ymax [, srid]) GEOMETRY (POLYGON) Verilen köşe koordinatlarıyla tanımlanan dikdörtgen çokgeni oluşturur; burada koordinatlar sol alt ve sağ üst köşeleri belirtir. Sonuç, koordinatlar bir çizgiye veya tek bir noktaya daralsa bile her zaman bir POLYGON'dur. Bir SRID sağlanırsa, döndürülen geometri bu SRID'yi kullanır; aksi halde SRID 0'dır.
ST_MakeLine ST_MakeLine(geom1, geom2) GEOMETRY (LINESTRING) İki giriş geometrisinden bir çizgi dizesi oluşturur.
ST_MakePoint ST_MakePoint(x, y) GEOMETRY (POINT) Koordinat değerlerinden bir nokta oluşturur.
ST_Point ST_Point(x, y) GEOMETRY (POINT) Koordinat değerlerinden bir nokta oluşturur.
ST_Polygon ST_Polygon(linestring, srid) GEOMETRY (POLYGON) Dış halkası giriş çizgi dizesi olan ve verilen SRID'ye sahip bir çokgen oluşturur.

Geometry erişicileri

Bu gruptaki tüm işlevler HQE üzerinde çalışır; ancak ST_IsPolygonCCW işlevi PQE üzerinde çalışır. Bunlar birbirinin tamamlayıcısı değildir: dış halka ve iç halkalar aynı yönlendirmeye sahip olduğunda ikisi de false döndürür. Saat yönünün tersi yönlendirmeyi test etmek için ST_IsPolygonCW işlevini olumsuzlamayın. Büyük bir tabloyu halka yönlendirmesine göre filtrelerken, bu iki işlevin farklı motorlarda çalıştığını da göz önünde bulundurun.

Function Syntax Returns Description
GeometryType GeometryType(geom) TEXT Giriş geometrisinin alt tür adını, önek olmadan ve büyük harflerle (örneğin POINT veya POLYGON) bir dize olarak döndürür.
ST_Boundary ST_Boundary(geom) GEOMETRY Giriş geometrisinin sınırını döndürür. Boş bir geometri girdiyi olduğu gibi döndürür; bir nokta veya boş olmayan çoklu nokta boş bir geometri koleksiyonu döndürür; bir çizgi dizesi sınır noktalarının çoklu noktasını döndürür; iç halkası olmayan bir çokgen kapalı bir çizgi dizesi döndürür; iç halkaları olan bir çokgen veya çoklu çokgen, tüm sınır halkalarının çoklu çizgi dizesini döndürür.
ST_Dimension ST_Dimension(geom) INTEGER Geometri alt türünün içsel boyutunu döndürür.
ST_Envelope ST_Envelope(geom) GEOMETRY Giriş geometrisinin minimum sınırlayıcı kutusunu döndürür. Kutu bir noktaya daralırsa bir nokta, tek boyutluysa iki noktalı bir çizgi dizesi, aksi takdirde saat yönünde yönlendirilmiş bir çokgen döndürür. Döndürülen geometri, girişle aynı SRID'ye sahiptir.
ST_ExteriorRing ST_ExteriorRing(geom) GEOMETRY (LINESTRING) Bir çokgenin dış halkasını kapalı bir çizgi dizesi olarak döndürür.
ST_GeometryN ST_GeometryN(geom, index) GEOMETRY Verilen 1 tabanlı dizindeki geometriyi döndürür. Basit geometriler (nokta, çizgi dizesi, çokgen) için dizin 1 ise geometrinin kendisini döndürür; aksi halde null döndürür. Koleksiyonlar için dizindeki öğeyi döndürür.
ST_GeometryType ST_GeometryType(geom) TEXT Giriş geometrisinin alt tür adını, ST_ önekiyle (örneğin ST_Point veya ST_Polygon) bir dize olarak döndürür. Bu önek, GeometryType işlevinden tek farkıdır; bu nedenle eşitlik koşulları yazarken biçimi dikkate alın.
ST_InteriorRingN ST_InteriorRingN(geom, index) GEOMETRY (LINESTRING) Bir çokgenin verilen dizin konumundaki iç halkasını kapalı bir çizgi dizesi olarak döndürür.
ST_IsClosed ST_IsClosed(geom) BOOLEAN Geometri kapalıysa true döndürür. Bir nokta veya çoklu nokta her zaman kapalıdır. Bir çizgi dizesi, başlangıç ve bitiş noktaları çakıştığında kapalıdır. Bir çokgen, tüm halkalar boş değilse ve başlangıç ile bitiş noktaları çakışıyorsa kapalıdır.
ST_IsCollection ST_IsCollection(geom) BOOLEAN Geometri bir GEOMETRYCOLLECTION , MULTIPOINT , MULTILINESTRING veya MULTIPOLYGON ise true döndürür.
ST_IsEmpty ST_IsEmpty(geom) BOOLEAN Geometri hiç nokta içermiyorsa true döndürür.
ST_IsPolygonCCW ST_IsPolygonCCW(geom) BOOLEAN Giriş çokgeninin dış halkası saat yönünün tersine ve tüm iç halkaları saat yönüne yönlendirilmişse true döndürür. Dış halka ve iç halkalar aynı yönlendirmeye sahipse false döndürür. Ayrıca noktalar, çizgi dizeleri, çoklu noktalar ve çoklu çizgi dizeleri için, çokgen öğelerinin tamamı önceki koşulu karşılayan geometri koleksiyonları için ve boş bir çokgen (POLYGON EMPTY ) için true döndürür.
ST_IsPolygonCW ST_IsPolygonCW(geom) BOOLEAN Giriş çokgeninin dış halkası saat yönünde ve tüm iç halkaları saat yönünün tersine yönlendirilmişse true döndürür. Dış halka ve iç halkalar aynı yönlendirmeye sahipse false döndürür. Ayrıca noktalar, çizgi dizeleri, çoklu noktalar ve çoklu çizgi dizeleri için, çokgen öğelerinin tamamı önceki koşulu karşılayan geometri koleksiyonları için ve boş bir çokgen (POLYGON EMPTY ) için true döndürür.
ST_IsSimple ST_IsSimple(geom) BOOLEAN Geometride kendini kesme gibi anormal geometrik noktalar yoksa true döndürür.
ST_NPoints ST_NPoints(geom) INTEGER Geometrideki nokta sayısını döndürür.
ST_NRings ST_NRings(geom) INTEGER Geometrideki halka sayısını döndürür.
ST_NumGeometries ST_NumGeometries(geom) INTEGER Bir geometri koleksiyonundaki öğe sayısını döndürür.
ST_NumInteriorRings ST_NumInteriorRings(geom) INTEGER Bir çokgendeki iç halka sayısını döndürür.
ST_NumPoints ST_NumPoints(geom) INTEGER Geometrideki nokta sayısını döndürür.
ST_PointN ST_PointN(geom, index) GEOMETRY (POINT) Bir çizgi dizesindeki verilen dizindeki noktayı döndürür. Negatif dizin değerleri sondan sayar: -1 son noktayı döndürür.
ST_Points ST_Points(geom) GEOMETRY (MULTIPOINT) Geometrideki tüm boş olmayan noktaları çoklu nokta olarak döndürür. Yineleyen noktalar, halka başlangıç ve bitiş noktaları dahil korunur.
ST_StartPoint ST_StartPoint(geom) GEOMETRY Bir çizgi dizesinin ilk noktasını döndürür. Döndürülen geometri, girişle aynı SRID'ye sahiptir.
ST_X ST_X(point) DOUBLE PRECISION Bir noktanın X koordinatını döndürür.
ST_Y ST_Y(point) DOUBLE PRECISION Bir noktanın Y koordinatını döndürür.

Geometry düzenleyicileri

Bu gruptaki tüm işlevler HQE üzerinde çalışır.

Function Syntax Returns Description
ST_AddPoint ST_AddPoint(geom1, geom2) GEOMETRY Nokta eklenmiş bir çizgi dizesi döndürür.
ST_Multi ST_Multi(geom) GEOMETRY (MULTIPOINT, MULTILINESTRING, MULTIPOLYGON veya GEOMETRYCOLLECTION) Bir geometriyi karşılık gelen çoklu türe dönüştürür. Giriş zaten bir çoklu tür veya koleksiyonsa bir kopyasını döndürür.
ST_RemovePoint ST_RemovePoint(geom, index) GEOMETRY Verilen sıfır tabanlı dizindeki noktayı kaldırılmış bir çizgi dizesi döndürür. Döndürülen geometri, girişle aynı SRID'ye sahiptir.
ST_Reverse ST_Reverse(geom) GEOMETRY Doğrusal veya alansal bir geometrinin köşe sırasını tersine çevirir. Bir nokta veya çoklu nokta için bir kopyasını döndürür. Bir koleksiyon için her öğenin köşelerini tersine çevirir.
ST_SetPoint ST_SetPoint(geom1, index, geom2) GEOMETRY Verilen dizindeki noktanın koordinatlarını giriş noktasının koordinatlarıyla değiştiren bir çizgi dizesi döndürür.

Geometry doğrulama

Function Syntax Returns Required engine Description
ST_IsValid ST_IsValid(geom) BOOLEAN PQE Geometri OGC spesifikasyonuna göre geçerliyse true döndürür.

Mekânsal referans sistemi işlevleri

Bu gruptaki tüm işlevler HQE üzerinde çalışır.

Function Syntax Returns Description
ST_SetSRID ST_SetSRID(geom, srid) GEOMETRY SRID'si verilen değere güncellenmiş giriş geometrisini döndürür. Koordinatları yeniden projeksiyonlamaz.
ST_SRID ST_SRID(geom) INTEGER Giriş geometrisinin SRID'sini döndürür.

Geometry girişi

Function Syntax Returns Required engine Description
ST_GeomFromText ST_GeomFromText(wkt_string [, srid]) GEOMETRY PQE İyi bilinen metin (WKT) temsilinden bir geometri oluşturur.

Geometry çıkışı

Bu gruptaki tüm işlevler HQE üzerinde çalışır.

Function Syntax Returns Description
ST_AsBinary ST_AsBinary(geom) BYTEA Geometrinin iyi bilinen ikili (WKB) temsilini, ASCII karakterleri 0 – 9 ve A – F kullanılarak onaltılık dize olarak kodlanmış şekilde döndürür.
ST_AsEWKB ST_AsEWKB(geom) BYTEA Geometrinin genişletilmiş iyi bilinen ikili (EWKB) temsilini döndürür.
ST_AsEWKT ST_AsEWKT(geom) TEXT Geometrinin genişletilmiş iyi bilinen metin (EWKT) temsilini döndürür.
ST_AsGeoJSON ST_AsGeoJSON(geom [, maxdecimaldigits]) TEXT Geometrinin GeoJSON temsilini döndürür.
ST_AsText ST_AsText(geom [, precision]) TEXT Geometrinin WKT temsilini döndürür.

Mekânsal ilişki yüklemeleri

Bu grupta motor işleve göre değişir. Required engine sütununa bakın.

Function Syntax Returns Required engine Description
ST_Contains ST_Contains(geom1, geom2) BOOLEAN PQE geom2 üzerindeki her nokta geom1 içindeyse ve iç kısımları kesişiyorsa true döndürür. ST_Within(geom2, geom1) işlevine eşdeğerdir.
ST_ContainsProperly ST_ContainsProperly(geom1, geom2) BOOLEAN PQE Her iki geometri de boş değilse ve geom2 üzerindeki tüm noktalar geom1 iç kısmında (sınırda değil) yer alıyorsa true döndürür.
ST_CoveredBy ST_CoveredBy(geom1, geom2) BOOLEAN HQE geom1 üzerindeki her nokta geom2 içindeyse true döndürür. ST_Covers(geom2, geom1) işlevine eşdeğerdir.
ST_Covers ST_Covers(geom1, geom2) BOOLEAN PQE geom2 üzerindeki her nokta geom1 içindeyse true döndürür. ST_CoveredBy(geom2, geom1) işlevine eşdeğerdir.
ST_Crosses ST_Crosses(geom1, geom2) BOOLEAN HQE İki geometri kesişiyorsa true döndürür.
ST_Disjoint ST_Disjoint(geom1, geom2) BOOLEAN HQE İki geometri hiç nokta paylaşmıyorsa true döndürür.
ST_DWithin ST_DWithin(geom1, geom2, threshold) BOOLEAN PQE İki geometri arasındaki Öklid mesafesi eşik değerini aşmıyorsa true döndürür.
ST_DWithin_S2 ST_DWithin_S2(x1, y1, x2, y2, threshold) BOOLEAN HQE İki coğrafi konum arasındaki küresel mesafe threshold (birim: metre) değerinden küçük veya buna eşitse true döndürür. Parametreler sırasıyla: Konum 1 boylamı, Konum 1 enlemi, Konum 2 boylamı, Konum 2 enlemi, mesafe eşiği. Hologres V2.0.8 ve sonraki sürümlerde desteklenir. Sabit girişler mevcut sürümde desteklenmez.
ST_Equals ST_Equals(geom1, geom2) BOOLEAN HQE İki geometri eşit nokta kümelerine sahipse ve iç kısımları kesişiyorsa true döndürür.
ST_Intersects ST_Intersects(geom1, geom2) BOOLEAN PQE İki geometri en az bir nokta paylaşıyorsa true döndürür.
ST_Touches ST_Touches(geom1, geom2) BOOLEAN HQE İki geometri temas ediyorsa — kesişiyorlar ancak iç noktaları paylaşmıyorlarsa — true döndürür.
ST_Within ST_Within(geom1, geom2) BOOLEAN PQE geom1 üzerindeki her nokta geom2 içindeyse ve iç kısımları kesişiyorsa true döndürür. ST_Contains(geom2, geom1) işlevine eşdeğerdir.

Ölçüm işlevleri

Function Syntax Returns Required engine Description
ST_Angle ST_Angle(geom1, geom2, geom3 [, geom4]) DOUBLE PRECISION HQE [0, 2π) aralığında saat yönünde radyan cinsinden açıyı döndürür. Üç nokta ile, P2 etrafında P1'den P3'e rotasyonu ölçer. Dört nokta ile, P1–P2 ve P3–P4 yönlü çizgileri arasındaki açıyı ölçer; P1 P2'ye veya P3 P4'e eşitse null döndürür.
ST_Area ST_Area(geom) DOUBLE PRECISION HQE Geometrinin Kartesyen alanını, koordinat sistemiyle aynı birimlerde döndürür. Noktalar, çizgi dizeleri ve bunların çoklu türleri için 0 döndürür. Koleksiyonlar için tüm öğe alanlarının toplamını döndürür.
ST_Azimuth ST_Azimuth(point1, point2) DOUBLE PRECISION HQE İki nokta tarafından tanımlanan kuzey bazlı Kartesyen azimutu döndürür.
ST_Distance ST_Distance(geom1, geom2) DOUBLE PRECISION HQE İki geometri arasındaki Kartesyen mesafeyi, giriş koordinatlarıyla aynı birimlerde döndürür. Küresel mesafeyi metre cinsinden hesaplamak için, geometriler yerine boylam ve enlem değerleri alan ST_Distance_Sphere_S2 işlevini kullanın.
ST_Distance_Sphere_S2 ST_Distance_Sphere_S2(x1, y1, x2, y2) DOUBLE PRECISION HQE İki coğrafi konum arasındaki küresel mesafeyi metre cinsinden döndürür. Parametreler sırasıyla: Konum 1 boylamı, Konum 1 enlemi, Konum 2 boylamı, Konum 2 enlemi. Geçerli enlem aralığı: [-90, +90]. Geçerli boylam aralığı: [-180, +180]. Hologres V2.0.8 ve sonraki sürümlerde desteklenir. Sabit girişler mevcut sürümde desteklenmez.
ST_Length ST_Length(geom) DOUBLE PRECISION HQE Doğrusal bir geometrinin Kartesyen uzunluğunu, koordinat sistemiyle aynı birimlerde döndürür. Noktalar, çoklu noktalar ve alansal geometriler için 0 döndürür. Koleksiyonlar için toplam uzunluğu döndürür.
ST_Perimeter ST_Perimeter(geom) DOUBLE PRECISION HQE Alansal bir geometrinin Kartesyen çevresini (sınır uzunluğu), koordinat sistemiyle aynı birimlerde döndürür. Noktalar, çoklu noktalar ve doğrusal geometriler için 0 döndürür. Koleksiyonlar için tüm öğe çevrelerinin toplamını döndürür.

Bindirme işlevi

Function Syntax Returns Required engine Description
ST_Intersection ST_Intersection(geom1, geom2) GEOMETRY HQE İki geometrinin geometrik kesişimini döndürür.

Geometry işleme işlevleri

Function Syntax Returns Required engine Description
ST_Buffer ST_Buffer(geom, radius) Giriş türüyle aynı: geometry girişi için GEOMETRY , coğrafya girişi için GEOGRAPHY PQE Giriş geometrisinin verilen yarıçap içindeki tüm noktalarını temsil eden geometriyi döndürür.
ST_ConvexHull ST_ConvexHull(geom) GEOMETRY HQE Giriş geometrisindeki tüm boş olmayan noktaların dışbükey zarfını döndürür.
ST_Simplify ST_Simplify(geom, tolerance) GEOMETRY HQE Verilen toleransla Ramer-Douglas-Peucker algoritmasını kullanarak geometrinin basitleştirilmiş bir kopyasını döndürür. Topoloji korunmayabilir.

Sınırlayıcı kutu işlevleri

Bu gruptaki tüm işlevler PQE üzerinde çalışır.

Function Syntax Returns Description
ST_XMax ST_XMax(geom) DOUBLE PRECISION Geometrinin sınırlayıcı kutusunun maksimum X koordinatını döndürür. Parametre türü box3d'dir; geometry girişi örtük olarak dönüştürülür.
ST_XMin ST_XMin(geom) DOUBLE PRECISION Geometrinin sınırlayıcı kutusunun minimum X koordinatını döndürür. Parametre türü box3d'dir; geometry girişi örtük olarak dönüştürülür.
ST_YMax ST_YMax(geom) DOUBLE PRECISION Geometrinin sınırlayıcı kutusunun maksimum Y koordinatını döndürür. Parametre türü box3d'dir; geometry girişi örtük olarak dönüştürülür.
ST_YMin ST_YMin(geom) DOUBLE PRECISION Geometrinin sınırlayıcı kutusunun minimum Y koordinatını döndürür. Parametre türü box3d'dir; geometry girişi örtük olarak dönüştürülür.

Doğrusal referanslama işlevi

Function Syntax Returns Required engine Description
ST_LineInterpolatePoint ST_LineInterpolatePoint(geom, fraction) GEOMETRY (POINT) HQE Çizgi üzerinde başlangıçtan ölçülen kesirli mesafedeki noktayı döndürür. Örneğin, fraction=0.5 orta noktayı döndürür.

Mekânsal işlevleri kullanmaya ilişkin en iyi uygulamalar

Yaygın coğrafi analiz desenlerine yönelik uçtan uca örnekler için bkz. Verileri sorgulamak için mekânsal işlevleri kullanma.