Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

دوال للتعامل مع Geometry

Geometry

تتيح لك دوال Geometry حساب المحيط والمساحة للأنواع الهندسية مثل POLYGON وLINESTRING وMULTIPOLYGON وMULTILINESTRING وRING وPOINT. استخدم الأشكال الهندسية ضمن النوع Geometry. إذا كانت قيمة الإدخال هي NULL، فستُرجع جميع الدوال أدناه القيمة 0.

perimeterCartesian

يحسب محيط كائن من نوع Geometry المحدد في نظام الإحداثيات الديكارتي (المسطح).

البنية

perimeterCartesian(geom)

الوسائط

  • geom — كائن من نوع Geometry. Geometry.

القيم المُعادة

  • Number — محيط الكائن بوحدات نظام الإحداثيات. Float64.

مثال

Querysql
CREATE TABLE IF NOT EXISTS geo_dst (geom Geometry) ENGINE = Memory();
INSERT INTO geo_dst SELECT readWKT('POLYGON((0 0,1 0,1 1,0 1,0 0))');
SELECT perimeterCartesian(geom) FROM geo_dst;
Responseresponse
┌─perimeterCartesian(geom)─┐
│ 4.0                      │
└──────────────────────────┘

areaCartesian

تحسب مساحة كائن من نوع Geometry المُعطى في نظام الإحداثيات الديكارتية.

الصيغة

areaCartesian(geom)

الوسيطات

  • geom — كائن من نوع Geometry. Geometry.

القيم المُعادة

  • عدد — مساحة الكائن بوحدات نظام الإحداثيات. Float64.

مثال

Querysql
CREATE TABLE IF NOT EXISTS geo_dst (geom Geometry) ENGINE = Memory();
INSERT INTO geo_dst SELECT readWKT('POLYGON((0 0,1 0,1 1,0 1,0 0))');
SELECT areaCartesian(geom) FROM geo_dst;
Responseresponse
┌─areaCartesian(geom)─┐
│ -1                  │
└─────────────────────┘

perimeterSpherical

يحسب محيط كائن من نوع Geometry على سطح كرة.

الصيغة

perimeterSpherical(geom)

الوسائط

  • geom — كائن من نوع Geometry. Geometry.

القيم المُعادة

  • عدد — المحيط. Float64.

مثال

Querysql
CREATE TABLE IF NOT EXISTS geo_dst (geom Geometry) ENGINE = Memory();
INSERT INTO geo_dst SELECT readWKT('LINESTRING(0 0,1 0,1 1,0 1,0 0)');
SELECT perimeterSpherical(geom) FROM geo_dst;
Responseresponse
┌─perimeterSpherical(geom)─┐
│ 0                        │
└──────────────────────────┘

areaSpherical

يحسب مساحة كائن من نوع Geometry على سطح كرة.

الصيغة

areaSpherical(geom)

الوسيطات

القيم المُعادة

  • عدد — المساحة. Float64.

مثال

Querysql
CREATE TABLE IF NOT EXISTS geo_dst (geom Geometry) ENGINE = Memory();
INSERT INTO geo_dst SELECT readWKT('POLYGON((0 0,1 0,1 1,0 1,0 0))');
SELECT areaSpherical(geom) FROM geo_dst;
Responseresponse
┌─areaSpherical(geom)────┐
│ -0.0003046096848622019 │
└────────────────────────┘
Navigation