Skip navigation

Tabular Data in GIS ԱՏՀ-ում աղյուսակային տվյալները

ԱՏՀ-ում աղյուսակային տվյալները ոչ տարածական տվյալներ են, որոնք կազմակերպված են աղյուսակներում և հավելյալ համատեքստ ու տեղեկատվություն են տրամադրում տարածական տվյալներին։ ԱՏՀ-ի առավել արդյունավետ օգտագործման համար կարևոր է աղյուսակային տվյալները (օրինակ՝ տվյալներ աղյուսակներում կամ տվյալների բազաներում) կապել տարածական տվյալների հետ, ինչպիսիք են կետերը, գծերը և բազմանկյունները քարտեզի վրա։ Սա սովորաբար կատարվում է աշխարհագրական տվյալների ատրիբուտային աղյուսակի և արտաքին աղյուսակի միավորմամբ՝ հիմնված ընդհանուր նույնացուցիչի վրա, օրինակ՝ եզակի ID կամ անուն։ Օրինակ՝ մի աղյուսակ, որտեղ նշված են քաղաքները և դրանց բնակչության տվյալները, կարող է կապվել կետային շերտի հետ, որը ներկայացնում է այդ քաղաքների աշխարհագրական տեղակայությունները։ Միացնելուց հետո այդ ատրիբուտները հայտնվում են շերտի ատրիբուտային աղյուսակում և կարող են ցուցադրվել քարտեզի վրա՝ հնարավորություն տալով օգտագործողին վերլուծել և պատկերավորել տեղեկատվություն, ինչպես օրինակ՝ բնակչության խտությունը, մակերեսը կամ այլ հատկանիշներ, անմիջապես տարածական տվյալների հետ միասին։

ԱՏՀ-ում յուրաքանչյուր տարածական շերտ կարող է ունենալ ատրիբուտային աղյուսակ, որն ընդգրկում է տվյալ շերտի յուրաքանչյուր օբյեկտի վերաբերյալ նկարագրական տվյալներ։ Ատրիբուտային աղյուսակները կազմված են ծանոթ ձևաչափով՝ աղյուսակի տեսքով, որտեղ յուրաքանչյուր տող ներկայացնում է մի օբյեկտ (օր.՝ քաղաք կամ գետ), իսկ յուրաքանչյուր սյունակ՝ տվյալ ատրիբուտ (օր.՝ անուն, բնակչություն, երկարություն)։

Հարցումների միջոցով օգտագործողները կարող են ֆիլտրել և վերլուծել այս աղյուսակներում առկա տվյալները։ Հարցումը դա իրականում փնտրման կամ ֆիլտրացման գործարք է, որը կիրառվում է որոշակի պայմանների հիման վրա։ Օրինակ՝ հարցումը կարող է առանձնացնել բոլոր այն քաղաքները, որոնց բնակչությունը գերազանցում է 1 միլիոնը։ Հարցումները հեշտացնում են որոշակի չափանիշներին համապատասխան օբյեկտների հայտնաբերումը՝ օգնելով օգտագործողին պատասխանել տարբեր հարցերի։

Հարցումներ աղյուսակային տվյալներում (Querying tabular data)

Ատրիբուտային հարցումը թույլ է տալիս ընտրել տվյալներ ըստ ատրիբուտային աղյուսակի մեջ եղած կոնկրետ արժեքների։ Այն չի հիմնվում տարածական փոխհարաբերությունների վրա, այլ՝ տվյալների բնութագրերի՝ օրինակ անունների, թվերի կամ դասերի։

Ինչպես սովորական տվյալների բազաներում, ԱՏՀ-ում նույնպես հաճախ օգտագործվում է SQL (Structured Query Language), երբ անհրաժեշտ է կատարել ատրիբուտային հարցումներ։ SQL-ը հնարավորություն է տալիս սահմանել հատուկ պայմաններ՝ գտնելու համար այն հատկանիշները, որոնք բավարարում են նշված չափանիշներին։

Օրինակ, եթե ունեք քաղաքների տվյալաշար՝ «population» ատրիբուտով, կարող եք գրել SQL հարցում՝ գտնելու համար այն քաղաքները, որոնց բնակչությունը գերազանցում է 1 միլիոնը․

SELECT * FROM cities WHERE population > 1000000;

Այս հարցումը ընտրում է «cities» աղյուսակի բոլոր տողերը, որտեղ բնակչությունը գերազանցում է 1 միլիոնը՝ արդյունավետորեն ընդգծելով այդ քաղաքները քարտեզի վրա։ Հետագա վերլուծությունը կարելի է սահմանափակել միայն այն քաղաքներով, որոնց բնակչությունը առնվազն 1 միլիոն է։

sql
    
SELECT * FROM cities WHERE population > 1000000;
    

This query selects all rows from the "cities" table where the population is greater than 1 million, effectively highlighting these cities on the map.

Ատրիբուտային հարցումներից տարբեր՝ տարածական հարցումները տվյալներ գտնելու համար օգտագործում են տարրերի աշխարհագրական փոխհարաբերությունները։ Տարածական հարցումները պատասխանում են այնպիսի հարցերի, ինչպիսիք են՝ որ տարրերն են միմյանց մոտ, հատվում են, կամ գտնվում են որևէ որոշակի տարածքի սահմաններում։ Դրանք չեն հիմնվում տվյալների արժեքների վրա, այլ կենտրոնանում են տարրերի փոխադարձ դիրքի վրա։

Տարածական հարցումների օրինակներ են՝

  • գտնել մոտակա տարրերը (օրինակ՝ բոլոր դպրոցները, որոնք գտնվում են հիվանդանոցից 2 կիլոմետրի շառավղում),
  • հայտնաբերել հատվող տարրերը (օրինակ՝ գետերը, որոնք հատում են որոշակի շրջան),

  • տեղորոշել տարրերը որևէ սահմանի ներսում (օրինակ՝ բոլոր այգիները, որոնք գտնվում են քաղաքի վարչական սահմաններում)։

Օրինակ՝ եթե ցանկանում ենք գտնել բոլոր այգիները, որոնք գտնվում են քաղաքի կենտրոնակետից 5 կիլոմետր շառավղում՝

SELECT * FROM parks WHERE ST_Distance(city_center.geometry, parks.geometry) < 5000;

sql
    
SELECT * FROM parks WHERE ST_Distance(city_center.geometry, parks.geometry) < 5000;
    

Here, the query uses ST_Distance (a spatial function) to calculate the distance between the city centre and each park, selecting only those parks within 5,000 metres (provided the spatial reference system uses metres as its base unit).

Այստեղ հարցումն օգտագործում է ST_Distance (տարածական ֆունկցիա), որպեսզի հաշվարկի քաղաքային կենտրոնի և յուրաքանչյուր այգու միջև հեռավորությունը՝ ընտրելով միայն այն այգիները, որոնք գտնվում են 5,000 մետրից քիչ հեռավորության վրա (եթե տարածական հղման համակարգը որպես հիմքային միավոր օգտագործում է մետրը):

ԱՏՀ ծրագրային ապահովումը, ինչպես օրինակ QGIS-ը, օգտատերերին թույլ է տալիս համատեղել ինչպես հատկությունների, այնպես էլ տարածական հարցումները՝ ավելի բարդ վերլուծություններ կատարելու համար։ Օրինակ՝ եթե ցանկանում ենք գտնել այն այգիները, որոնք ավելի մեծ են քան 50 հեկտար և գտնվում են քաղաքային կենտրոնից 5 կիլոմետր շառավղի սահմաններում, ապա կարող ենք օգտագործել հատկությունների և տարածական պայմանների համակցություն։

SELECT * FROM parks WHERE area > 50 AND ST_Distance(city_center.geometry, parks.geometry) < 5000;

Այս հարցումը ընտրում է այն այգիները, որոնք ոչ միայն գտնվում են քաղաքային կենտրոնից 5 կիլոմետր շառավղում, այլև ունեն ավելի քան 50 հեկտար տարածք (ենթադրելով, որ գոյություն ունի «area» անունով սյունակ, որի արժեքները արտահայտված են հեկտարներով):

sql
    
SELECT * FROM parks WHERE area > 50 AND ST_Distance(city_center.geometry, parks.geometry) < 5000;
    

This query selects parks that are not only within 5 kilometres of the city centre but also have an area greater than 50 hectares.

QGIS-ում տվյալների հարցում

Աղյուսակային տվյալները, ինչպիսիք են CSV կամ Excel ֆորմատով ֆայլերը, հնարավոր է ներմուծել QGIS։ Օգտագործելով «Join» գործառույթը, այս աղյուսակները կարելի է կապել տարածական տվյալների հետ՝ համընկնող դաշտերի միջոցով, օրինակ՝ ընդհանուր ID-ի։ Օգտատերերը կարող են բացել ցանկացած շերտի ատրիբուտային աղյուսակը, ավելացնել նոր սյունակներ, թարմացնել արժեքները կամ հեռացնել անպետք տվյալները։ QGIS-ը ներառում է գործիքներ՝ ատրիբուտով տվյալները հարցման ենթարկելու համար։ Օգտագործելով «Select by Expression» կամ «Filter» տարբերակները, օգտատերերը կարող են կիրառել հարմարեցված ֆիլտրեր արտահայտությունների հիման վրա (օրինակ՝ գտնել բոլոր այն լճերը, որոնք ավելի մեծ են, քան որոշակի մակերես)։

Որպեսզի հարցում կատարեք QGIS-ում որևէ շերտի նկատմամբ, բացեք շերտի ատրիբուտային աղյուսակը և գտնեք «Select by Expression» գործիքը։ Այս գործիքը թույլ է տալիս կատարել ինչպես ատրիբուտային, այնպես էլ տարածական հարցումներ։

Attribute table of the vector layer “farm” and the “Select features using an expression” button highlighted.

Վեկտոր շերտի «farm» ատրիբուտային աղյուսակը և «Select features using an expression» կոճակը ընդգծված են։

Դուք կարող եք կամ ուղղակիորեն գրել SQL հարցումը ձախ կողմում գտնվող տեքստային դաշտում (նկարում նշված է «A» տառով), կամ կառուցել հարցումը աջ կողմում գտնվող ընտրանքների միջոցով (նշված է «B» տառով)։ «Fields and Values» տարբերակի ներքո կարող եք գտնել այս շերտի ատրիբուտները։ Ընտրելով որևէ ատրիբուտ և սեղմելով «All Unique» կոճակը՝ կարող եք տեսնել այդ ատրիբուտի բոլոր եզակի արժեքները։

Select by Expression window showing four unique values (corn, oats, potatoes and wheat) of the attribute “crop” of the layer “farm”.

«Select by Expression» պատուհանում ցուցադրված են չորս եզակի արժեքներ («corn», «oats», «potatoes» և «wheat») «farm» շերտի «crop» ատրիբուտի համար։

«crop» ատրիբուտի անունը, ներքևի ձախ մասում գտնվող օպերատորները և ցուցակի արժեքները երկու անգամ սեղմելով՝ դուք կարող եք կազմել պարզ հարցում, օրինակ՝

"crop" = 'wheat'

"crop" = "wheat"

Այս հարցումը կընտրի բոլոր այն օբյեկտները, որոնց «crop» ատրիբուտը հավասար է «wheat» արժեքին։ Սա կներկայացնի իրական աշխարհի ցորենի դաշտերը ֆերմայում։ Հարցումն ակտիվանում է «Select Features» կոճակը սեղմելուն պես։

“Select by Expression” window with a query to select all wheat fields.

«Select by Expression» պատուհան, որտեղ հարցումը նախատեսված է ընտրելու բոլոր ցորենի դաշտերը։

Ընտրված օբյեկտները ընդգծվում են ինչպես հատկությունների աղյուսակում, այնպես էլ քարտեզի պատուհանում։ Երբ օբյեկտները ընտրված են, դուք կարող եք կատարել հետագա վերլուծություններ միայն այդ ընտրված օբյեկտների հետ, արտահանել այդ օբյեկտները կամ համատեղել այլ շերտերի և օբյեկտների հետ։ Որպեսզի չընտրեք այդ օբյեկտները, սեղմեք «Չընտրել շերտի բոլոր օբյեկտները» կոճակը՝ հատկությունների աղյուսակի գործիքագոտում կամ QGIS հավելվածի գլխավոր գործիքագոտում։

Wheat fields highlighted in the attribute table and in the map canvas.

«Ցորենի արտերը» ընդգծված են ինչպես հատկությունների աղյուսակում, այնպես էլ քարտեզի պատուհանում։