შიგთავსზე გადასვლა

🔤 ატრიბუტული ველების ტიპები — Shapefile და GeoPackage

ვექტორული შრის ატრიბუტული ცხრილი (attribute table) ცხრილის მსგავსად შედგება ველებისგან (fields / columns) და ჩანაწერებისგან (records / rows). თითოეულ ველს აქვს მონაცემთა ტიპი (data type), რომელიც განსაზღვრავს, თუ რა სახის მნიშვნელობის შენახვა შეიძლება ამ ველში — მთელი რიცხვი, ათწილადი, ტექსტი, თარიღი და ა.შ.

მნიშვნელოვანია

ველის ტიპი და მისი შეზღუდვები დამოკიდებულია ფაილის ფორმატზე. ერთი და იგივე მონაცემი Shapefile-ში და GeoPackage-ში სხვადასხვაგვარად ინახება. სწორი ფორმატის და ტიპის არჩევა თავიდან გვარიდებს მონაცემების დაკარგვას ან დამახინჯებას (მაგ. თარიღიდან საათის მოცილება, ტექსტის შემოკლება, ველის სახელის დაკვეცა).


📊 საბაზისო მონაცემთა ტიპები (თეორია)

ტიპი აღწერა მაგალითი
Integer / int მთელი რიცხვი (ათწილადის გარეშე) 42, -7, 2025
Integer64 / bigint დიდი მთელი რიცხვი (64-ბიტიანი) 9000000000
Real / Double / Float ათწილადი (მცურავწერტილიანი) რიცხვი 3.14, -0.5, 1250.75
String / Text ტექსტური მნიშვნელობა "გზა", "Tbilisi"
Date თარიღი (წელი-თვე-დღე) 2025-07-10
DateTime თარიღი + დრო 2025-07-10 14:30:00
Boolean ლოგიკური მნიშვნელობა True / False

Integer vs Double

  • Integer — მთელი რიცხვი, არ ინახავს ათწილადს (5, არა 5.0).
  • Double / Float — ინახავს ათწილად ნაწილს (5.75). Double (64-ბიტი) უფრო ზუსტია ვიდრე Float (32-ბიტი).
  • თუ ფართობს ან სიგრძეს ინახავ — გამოიყენე Double; თუ ობიექტების რაოდენობას ან ID-ს — Integer.

🗂️ Shapefile-ის ველების ტიპები (.dbf)

Shapefile-ში ატრიბუტები ინახება .dbf (dBASE) ფაილში. ეს ძველი ფორმატია და მას აქვს მკაცრი შეზღუდვები.

მხარდაჭერილი ტიპები

dBASE კოდი QGIS-ის სახელი აღწერა შეზღუდვა
C Text (string) ტექსტი მაქს. 254 სიმბოლო
N Integer (32 bit) მთელი რიცხვი სიგანე ≤ 10 ციფრი (int32)
N Integer64 (64 bit) დიდი მთელი რიცხვი სიგანე ≤ 18–20; ზუსტად ინახება არასაიმედოდ
N/F Real / Double ათწილადი რიცხვი სიგანე + სიზუსტე (მაქს. ~15 მნიშვნელოვანი ციფრი)
D Date თარიღი ფორმატი YYYYMMDD, მხოლოდ თარიღი
L Boolean ლოგიკური (T/F) 1 სიმბოლო

❗ Shapefile-ის მთავარი შეზღუდვები

  • 🏷️ ველის სახელი — მაქსიმუმ 10 სიმბოლო. გრძელი სახელი ავტომატურად იკვეცება (temperaturetemperatur), რამაც შეიძლება გამოიწვიოს დუბლიკატები.
  • ✂️ ტექსტი — მაქსიმუმ 254 სიმბოლო. უფრო გრძელი ტექსტი იკვეცება (truncate).
  • არ არსებობს DateTime ან Time ტიპი. მხოლოდ Date (თარიღი). დროის კომპონენტი იკარგება.
  • 🔢 Integer64 სრულად არ არის მხარდაჭერილი — ძალიან დიდი რიცხვები შეიძლება დაზიანდეს ან Real-ად გადავიდეს.
  • 🈳 NULL (ცარიელი) მნიშვნელობის სუსტი მხარდაჭერა — ცარიელი ველი ხშირად ინახება როგორც 0 ან ცარიელი ტექსტი.
  • 🌍 კოდირების პრობლემები — ქართული/უნიკოდის ტექსტისთვის საჭიროა სწორი .cpg ფაილი (UTF-8), თორემ ტექსტი დამახინჯდება.
  • 📐 ერთი გეომეტრიის ტიპი ერთ ფაილში (Point / Line / Polygon — ცალ-ცალკე).

ტიპური შეცდომა

თუ ველში ინახავ თარიღსა და დროს (2025-07-10 14:30) Shapefile-ში, დრო დაიკარგება — შენახული იქნება მხოლოდ 2025-07-10. ასეთ შემთხვევაში გამოიყენე GeoPackage.


📦 GeoPackage-ის ველების ტიპები (.gpkg)

GeoPackage (.gpkg) თანამედროვე, ღია (OGC) ფორმატია, აგებული SQLite მონაცემთა ბაზაზე. მას ბევრად უფრო მდიდარი და მოქნილი ტიპების სისტემა აქვს ვიდრე Shapefile-ს.

მხარდაჭერილი ტიპები

GeoPackage ტიპი დიაპაზონი / აღწერა QGIS-ის ეკვივალენტი
BOOLEAN 0 / 1 (true/false) Boolean
TINYINT 8-ბიტიანი მთელი (−128…127) Integer
SMALLINT 16-ბიტიანი მთელი Integer
MEDIUMINT 32-ბიტიანი მთელი Integer (32 bit)
INTEGER / INT 64-ბიტიანი მთელი Integer64 (64 bit)
FLOAT 32-ბიტიანი ათწილადი Real (float)
DOUBLE / REAL 64-ბიტიანი ათწილადი Real (double)
TEXT / TEXT(n) ტექსტი (შეზღუდვის გარეშე ან მაქს. n) Text
DATE თარიღი YYYY-MM-DD Date
DATETIME თარიღი + დრო (ISO 8601, დროის სარტყელით) DateTime
BLOB ბინარული მონაცემი (მაგ. სურათი) Binary

✅ GeoPackage-ის უპირატესობები Shapefile-თან შედარებით

  • 🏷️ ველის სახელს არ აქვს 10-სიმბოლიანი ლიმიტი.
  • 📝 ტექსტი პრაქტიკულად შეზღუდვის გარეშე (254 სიმბოლოს ლიმიტი აღარ არსებობს).
  • ⏱️ სრული DateTime მხარდაჭერა — თარიღი, დრო და დროის სარტყელი (timezone) ინახება.
  • 🔢 ნამდვილი 64-ბიტიანი Integer64 მხარდაჭერა.
  • 🈳 NULL-ის სრული მხარდაჭერა (ცარიელი ≠ ნული).
  • 🌍 UTF-8 კოდირება ჩაშენებულია — ქართული ტექსტი უპრობლემოდ ინახება.
  • 🗃️ ერთ ფაილში მრავალი შრე (და მრავალი გეომეტრიის ტიპი) — Shapefile-ისგან განსხვავებით.
  • 📁 ერთი ფაილი .shp/.shx/.dbf/.prj/.cpg-ის ნაცვლად.

⚖️ Shapefile vs GeoPackage — ველების შედარება

მახასიათებელი 🗂️ Shapefile (.dbf) 📦 GeoPackage (.gpkg)
ველის სახელის სიგრძე ≤ 10 სიმბოლო პრაქტიკულად შეუზღუდავი
ტექსტის სიგრძე ≤ 254 სიმბოლო შეუზღუდავი / TEXT(n)
Integer (32 bit) ✅ (MEDIUMINT)
Integer64 (64 bit) ⚠️ არასაიმედო ✅ (INTEGER)
Real / Double ✅ (DOUBLE)
Date (თარიღი)
DateTime (თარიღი+დრო)
Boolean ✅ (L) ✅ (BOOLEAN)
Binary / BLOB
NULL მნიშვნელობა ⚠️ სუსტი ✅ სრული
UTF-8 (ქართული) ⚠️ .cpg-ზეა დამოკიდებული ✅ ჩაშენებული
ფაილების რაოდენობა მინ. 3 (.shp/.shx/.dbf) 1 (.gpkg)

რეკომენდაცია

ახალი პროექტებისთვის გამოიყენე GeoPackage — მას არ აქვს Shapefile-ის შეზღუდვები (ველის სახელი, ტექსტის სიგრძე, თარიღი+დრო). Shapefile დატოვე მხოლოდ თავსებადობისთვის (მაგ. ძველ პროგრამებთან გაცვლისას).


🔗 დამატებითი რესურსები