PyQGIS Class: QgsGeometry¶
Introduction¶
QgsGeometry არის PyQGIS-ის მთავარი კლასი, რომელიც გამოიყენება გეომეტრიული ობიექტების (წერტილები, ხაზები, პოლიგონები და სხვა) შესანახად და დასამუშავებლად.
ეს კლასი გვაძლევს საშუალებას შევქმნათ, გარდავქმნათ, შევადაროთ და დავაკავშიროთ გეომეტრიული ფორმები.
Key Features¶
- Geometry Creation — წერტილების, ხაზებისა და პოლიგონების შექმნა.
- Geometry Transformation — გადაადგილება, ბუფერიზაცია, მარტივება.
- Geometry Analysis — შეჯახების შემოწმება, დაშორების გამოთვლა.
- Geometry Export — სხვა ფორმატებში გადატანა (WKT, WKB).
Commonly Used Methods¶
1. Geometry Creation¶
from qgis.core import QgsPointXY, QgsGeometry
# წერტილის გეომეტრია
point = QgsGeometry.fromPointXY(QgsPointXY(357965.61, 4683353.56))
# ხაზის გეომეტრია
line = QgsGeometry.fromPolylineXY([
QgsPointXY(357965.61, 4683353.56),
QgsPointXY(357970.20, 4683360.10)
])
# პოლიგონის გეომეტრია
polygon = QgsGeometry.fromPolygonXY([[
QgsPointXY(357965.61, 4683353.56),
QgsPointXY(357970.20, 4683360.10),
QgsPointXY(357960.10, 4683365.50),
QgsPointXY(357965.61, 4683353.56)
]])
2. Geometry Transformation¶
# ბუფერის შექმნა (მაგ: 50 მეტრი)
buffer = point.buffer(50, 5)
# გეომეტრიის გადაადგილება
moved = point.translate(100, 200)
# გეომეტრიის გამარტივება
simplified = line.simplify(10)
3. Geometry Analysis¶
# ორი გეომეტრიის გადაკვეთა
intersects = point.intersects(buffer)
# დაშორება ობიექტებს შორის
dist = point.distance(line)
# გეომეტრიის ფართობი (პოლიგონისთვის)
area = polygon.area()
# გეომეტრიის პერიმეტრი
length = line.length()
4. Geometry Export¶
# WKT ფორმატში გადატანა
print(point.asWkt())
# JSON ფორმატში
print(polygon.asJson())
# ბინარული ფორმა (WKB)
wkb = line.asWkb()
Example: Checking if a Point is Inside a Polygon¶
point = QgsGeometry.fromPointXY(QgsPointXY(357965.61, 4683353.56))
polygon = QgsGeometry.fromPolygonXY([[
QgsPointXY(357960, 4683350),
QgsPointXY(357970, 4683350),
QgsPointXY(357970, 4683360),
QgsPointXY(357960, 4683360),
QgsPointXY(357960, 4683350)
]])
if point.within(polygon):
print("Point is inside polygon")
else:
print("Point is outside polygon")
Notes¶
QgsGeometryმუშაობს ყველა ტიპის გეომეტრიაზე: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon.- ხშირად გამოიყენება სხვა კლასებთან ერთად:
QgsFeature,QgsVectorLayer. - სარგებლობს GEOS ბიბლიოთეკით გეომეტრიული ოპერაციებისთვის.
Summary¶
QgsGeometry არის PyQGIS-ის ერთ-ერთი ყველაზე მნიშვნელოვანი კლასი.
ის გვაძლევს ინსტრუმენტებს სივრცული მონაცემების შესაქმნელად, დასამუშავებლად და გასანალიზებლად.
სტუდენტებისთვის აუცილებელია მისი პრაქტიკულად გამოყენება სხვადასხვა GIS ოპერაციებში.