| Повече ▼

Какво представлява йерархията (обектният модел) на функциите в ArcGIS?

Какво представлява йерархията (обектният модел) на функциите в ArcGIS?


Аз съм нов в ГИС.

Моето разбиране за шейп файлове е, че те са (съдържат?) Класове характеристики, които съдържат елементи (точки, полилинии, многоъгълници). Има ли ясна йерархия за тези файлове. Дали следващото ниво след функциите ще бъдат отделни точки? Дали полигоните и полилиниите са просто колекции от точки? Какво значение има това за работата с данните - напр. може ли да се работи с всички геометрии на ниво "точка"?

Има ли ресурс, който да ми помогне да разбера структурата на данните и/или обектния модел на тези файлове? Това, което по същество търся, е обяснение какво точно представляват шейп файловете и какво трябва да знам, когато работя с тях, особено когато използвам ArcObjects. В допълнение към това - как това е свързано с друг софтуер като QGIS? Действат ли по същия начин?


Въвеждането на помощния файл за класове функции може да бъде добро начало. Ето моето мнение по въпроса:

> Моето разбиране за шейп файловете е, че те са (съдържат?) Класове характеристики

А featureclass е колекция от функции от един и същ тип геометрия (като многоъгълник, точка, линия и т.н.), така че шейп файлът е пример за клас характеристики (класът на функциите може физически да се съхранява на диск в редица формати, включително шейп файла).

Всеки shapefile може да съдържа само един тип геометрия, така че shapefile може да бъде дефиниран като съхраняване на полигони ИЛИ линии ИЛИ точки.

(По -новото база геоданни форматът за съхранение може да съдържа множество класове характеристики, така че една база геоданни може да съдържа точки И линии И многоъгълници - но всеки тип геометрия все още ще се съхранява в отделен клас характеристики. Предимство на базата геоданни е възможността да се управляват взаимоотношенията между класовете характеристики, като поддържане на съвпадащи граници, предотвратяване на припокривания и т.н. Това не е възможно (на ниво база данни), когато използвате шейп -файл, без да пишете сами някакъв процес).

> които съдържат елементи (точки, полилинии, многоъгълници).

Точно така - шейп файл съдържа Характеристика. Обърнете внимание, че един клас характеристики може да съдържа само точки ИЛИ линии ИЛИ многоъгълници.

> Има ли ясна йерархия за тези файлове? Дали следващото ниво след функциите ще бъдат отделни точки?

Не индивидуално точки като такива, но отделни координати. Точката е единична XY координата. Линията е поредица от XY координати, свързани заедно. Полигонът е поредица от XY координати, които образуват затворен пръстен.

Дали полигоните и полилиниите са просто колекции от точки? Какво значение има това за работата с данните - напр. може ли да се работи с всички геометрии на ниво "точка"?

В зависимост от това, което се опитвате да постигнете, може да искате да работите с геометрии на координатно ниво. Това е възможно с помощта на ArcObjects - интерфейсът на iGeometry може да е добро начало.

Формулярният файл е остарял формат и ако работите изключително с ArcGIS, може би е по -добре да научите за базата геоданни. Помощният файл тук обяснява по -подробно базата геоданни.


Ето как разбирам ситуацията за ArcGIS:

Основната единица за векторни данни в ArcGIS е особеност. Функциите се предлагат в три основни вкуса - точка, линия и многоъгълник. Точката е просто набор от координати; линия е набор от точки, свързани в определен ред; многоъгълник е набор от точки, съединени в определен ред, където началните и крайните координати са еднакви (т.е. линията е затворена). Полигоните също имат поддръжка за вътрешни и външни пръстени, така че можете да имате многоъгълници с дупки.

Функциите са групирани в функционални класове: клас характеристики е съвкупност от елементи със същата координатна система и тип геометрия. Класовете функции имат свързана таблица с атрибути, където всеки ред от таблицата съответства на една функция. Тази таблица ще има колона „Форма“, която съхранява цялата пространствена информация, свързана с всяка функция, а също така може да има допълнителни колони за съхраняване на други данни на базата на функция по функция. ArcObjects ви позволява (наред с други неща) достъп до информацията в тази таблица, включително пространствените детайли, "скрити" в колоната Shape.

Класове характеристики, споделящи една и съща координатна система (и няколко други свойства), могат да бъдат групирани заедно набори от данни за функции. Това е по избор.

И накрая, класовете характеристики и/или наборите от данни за функции се съхраняват в база геоданни, която предлага релационна СУБД за вашите пространствени данни. Това означава, че можете да дефинирате връзки между различните ви класове функции и да управлявате начина, по който те си взаимодействат (плюс много и много други неща). Съществуват различни видове бази геоданни, като най -простият е личната база геоданни (по същество база данни с MS Access) и файловата база геоданни. Има и ArcSDE, който предлага правилна функционалност на база данни геоданни клиент-сървър.

А shapefile е по същество самостоятелен еквивалент на клас характеристики: те са колекции от характеристики със същата система от координати и тип геометрия. Те също имат таблици с атрибути, точно като класове функции. За разлика от класовете характеристики, шейп файловете могат да съществуват извън средата на базата геоданни и тяхната самостоятелна природа ги е превърнала в много често срещан формат за обмен на пространствени данни. Въпреки това, тъй като те съществуват извън релационна СУБД, форматите са много ограничени, когато става въпрос за работа с множество набори от данни и контролиране на техните взаимодействия.

В обобщение, йерархията за ArcGIS изглежда така:

В RDBMS: База геоданни> Набор от функции [незадължително]> Клас характеристики> Няма функция RDBMS: Shapefile> Функция

Друг софтуер

По -малко съм наясно с това, но вярвам, че ситуацията е подобна за повечето други GIS софтуери (например QGIS). Някои пакети имат свои собствени типове файлове, подобни на шейпфайла, но шейп файловете са толкова често срещани, че повечето пакети също ще работят директно с тях. За бази геоданни имате на разположение няколко опции:

пространственост е страхотна лична база геоданни. Предполагам, че това е най-близкият еквивалент с отворен код на ESRI Personal Geodatabase (? Но моля, поправете ме, ако греша; сравнението не изглежда правилно). Spatialite дефинира различни геометрии на точки, линии и многоъгълници (както е посочено по -горе), а пространствената информация за всяка характеристика се съхранява в колоната "Geometry" на таблица с пространствени пространства (също както по -горе). Можете лесно да импортирате/експортирате шейп файлове във/от вашата база данни за пространствени данни.

Ако имате нужда от пълна база данни геоданни с отворен код, клиент-сървър PostGIS вероятно ще бъде добър вариант.

За тези бази геоданни йерархията не е същата като тази по -горе. База данни за пространствени пространства съдържа таблици и, точно както таблиците с атрибути на клас характеристики, тези таблици съдържат функциите (по една на ред). Концепции като „клас характеристики“ и „набор от характеристики“ всъщност не се прилагат в пространството и подозирам, че това важи и за postGIS (?).


В света на ESRI, shapefile е базиран на файлове клас характеристики. Класовете характеристики могат да се съхраняват и в бази геоданни. Шейп файлът не съдържа класове характеристики, по -скоро съдържа елементи, които са съставени от части, които от своя страна се състоят от върхове. Клас на точкови елементи, например, има по една част за функция и един връх на част. Видовете геометрия от по -висок ред могат да бъдат по -сложни.

Например вляво имате многоделен многоъгълник. Средата показва върховете на частите, а дясната показва какво се случва, когато се изтрие вътрешната част. Можете също така да имате не припокриващи се части, които принадлежат към една и съща функция, като например:

Що се отнася до работата с ArcObjects, в по -голямата си част класът на форматните файлове работи по същия начин в ArcObjects като всеки друг клас характеристики. Основните разлики са, че шейп файловете използват различна фабрика на работното пространство, имат ограничение за име на поле от 10 знака и имат потенциално по -малка прецизност на координатите, отколкото класовете характеристики на базата геоданни.

Ако имате конкретни въпроси за ArcObjects, бих ви предложил първо да прочетете документацията, примерите, да потърсите в това и форумите на ESRI ArcObjects (нови) и (стари) и, разбира се, да зададете въпроси, ако все още имате нужда от помощ.


Въпреки че тук има много дискусии за шейп файла, някои ключови слабости на класа характеристики все още липсват.

Shapefiles не могат да съхраняват истински криви.

Геометрията на Shapefile не е топологично коректна (няма гаранция, че ръбовете на многоъгълници със същите координати няма да се припокриват, защото не се съхранява информация за ръбовете). Никаква топология не се съхранява във формат.

Shapefiles не може да съхранява мерки. Въпреки че можете да дефинирате m-стойности във върховете, не се поддържат мерки между върховете. Разбира се, няма много нужда от това без извивки.

Нулевите фигури във форматите нямат тип.


Това е натоварен въпрос! Можете да получите основните концепции, за които питате, в ресурсния център на ESRI ArcGIS. Ето един сайт за QGIS и можете да научите за ArcObjects на ТАЗИ ВРЪЗКА.

На тези връзки има много информация.


Какво представлява йерархията (обектният модел) на функциите в ArcGIS? - Географски информационни системи

OPSEC (сигурност на операциите) е процес и стратегия за управление на сигурността и риска, която класифицира информацията, след което определя.

Интелигентният договор е децентрализирано приложение, което изпълнява бизнес логика в отговор на събития.

Рискът от съответствие е потенциалната експозиция на организацията на законови санкции, финансови конфискации и материални загуби.

Шифроване от край до край (E2EE) е метод за защитена комуникация, който предотвратява достъпа на трети страни до данните, докато е.

Прокси защитната стена е система за мрежова защита, която защитава мрежовите ресурси чрез филтриране на съобщения в слоя на приложението.

Защитата на информационните технологии (ИТ) се отнася до методите, инструментите и персонала, използвани за защита на цифровите технологии на организацията.

Защитената здравна информация (PHI), наричана още лична здравна информация, е демографската, медицинска.

Дигиталното здраве или дигиталното здравеопазване е широко, мултидисциплинарно понятие, което включва понятия от пресечна точка между.

HIPAA (Закон за преносимост и отчетност на здравното осигуряване) е законодателство на САЩ, което осигурява поверителност и сигурност на данните.

Контролът на промените е системен подход за управление на всички промени, направени в продукт или система.

Възстановяването при бедствия (DR) е способността на организацията да реагира и да се възстанови от събитие, което засяга бизнес операциите.

Намаляването на риска е стратегия за подготовка и намаляване на ефектите от заплахите, пред които е изправен бизнесът.

Bare-metal cloud е публична облачна услуга, която предлага специализирани хардуерни ресурси без инсталирани операционни системи или.

Състезателно състояние е нежелана ситуация, която възниква, когато устройство или система се опитва да извърши две или повече операции при.

Защитата на хранилището е групата от параметри и настройки, които правят ресурсите за съхранение достъпни за оторизирани потребители и са надеждни.


Наследяване

Наследяването е механизмът, който позволява създаването на нови класове от съществуващите класове чрез разширяване и усъвършенстване на неговите възможности. Съществуващите класове се наричат ​​базови класове/родителски класове/суперкласове, а новите класове се наричат ​​производни класове/дъщерни класове/подкласове. Подкласът може да наследи или извлече атрибутите и методите на суперкласа (класовете), при условие че суперкласът позволява това. Освен това подкласът може да добавя свои собствени атрибути и методи и може да променя някой от методите на суперкласа. Наследството определя връзка „е - а“.

От клас бозайници могат да се извлекат редица класове като хора, котки, кучета, крави и пр. Хората, котките, кучетата и кравите имат различни характеристики на бозайници. Освен това всеки има свои собствени характеристики. Може да се каже, че кравата „е - а“ бозайник.

Видове наследяване

Единично наследяване & minus Подкласът произлиза от един суперклас.

Множествено наследяване & minus Подкласът произлиза от повече от един суперклас.

Многостепенно наследяване & minus Подкласът произлиза от суперклас, който от своя страна се извлича от друг клас и т.н.

Йерархично наследяване & minus Класът има редица подкласове, всеки от които може да има последващи подкласове, продължаващи за редица нива, така че да образува дървесна структура.

Хибридно наследяване & minus Комбинация от множествено и многостепенно наследяване, така че да се образува решетъчна структура.

Следващата фигура изобразява примерите за различни видове наследяване.


Йерархии в Power Pivot

Един от начините, по които можете да промените модел на данни на PowerPivot, е да добавите йерархия. Например, ако имате географски данни, можете да добавите йерархия, която има държава в горната част, и подробни данни до регион, щат и град.

Йерархията е списък с колони, които се събират до един елемент в отчет за Pivot или Power View. Йерархията се появява като единичен обект в списъка с полета. Йерархиите улесняват потребителите да избират и навигират по общи пътища на данни при създаване на отчети и обобщени таблици. За да създадете йерархии, ще трябва да активирате добавката Power Pivot.

Отворете прозореца Power Pivot.

Щракнете У дома & gt Изглед & gt Изглед на диаграма.

В изглед на диаграма изберете една или повече колони в същата таблица, които искате да поставите в йерархия. Ако таблицата не включва всички колони, които искате да използвате, можете да ги добавите с помощта на RELATED. Вижте СВЪРЗАНА функция (DAX).

Щракнете с десния бутон върху една от колоните, които сте избрали.

Щракнете Създайте йерархия за създаване на ниво родителска йерархия в долната част на таблицата. Колоните ще се копират в йерархията като дъщерни нива.

Въведете име за новата си йерархия.

Плъзнете още колони в родителското ниво на йерархията, което създава дъщерни нива от колоните и поставя нивата в долната част на йерархията.

По избор можете да поставите колона на определено място в списъка с йерархии, като плъзнете колона, за да поставите дъщерното ниво точно там, където искате тя да се показва в йерархията.

Когато използвате мулти-избор за създаване на йерархия, редът на дъщерните нива първоначално се задава според мощността на колоните. Най -високата мощност се появява първо в списъка, в който стойностите са най -необичайни и уникални - като идентификационни номера и имена. Колоните с най -ниска мощност се появяват на последно място в списъка - в които стойностите са по -често срещани, като състояние, булеви стойности или общи класификации. Имайте предвид, че добавянето на допълнителни колони поставя дъщерни нива в дъното на списъка. Можете да плъзнете колоните, за да промените реда.

Можете да създадете йерархия от скрита колона (колона, която е скрита от клиентските инструменти).

Ако знаете какви колони искате да създадете като дъщерни нива във вашата йерархия, щракнете върху Създайте йерархия елемент в контекстното меню, за да изберете многократно тези колони и бързо да създадете йерархия с множество дъщерни нива.

Можете да преименувате йерархия, да преименувате дъщерно ниво, да промените реда на дъщерните нива, да добавите допълнителни колони като дъщерни нива, да премахнете дъщерно ниво от йерархия, да покажете името на източника на дъщерно ниво (името на колоната) и да скриете дъщерно ниво, ако то има същото име като нивото на родителска йерархия.

За да промените името на йерархия или дъщерно ниво

Щракнете с десния бутон върху родителското ниво на йерархия или дъщерно ниво и след това щракнете върху Преименувайте. Или щракнете двукратно върху родителската йерархия и след това редактирайте името.

За да промените реда на дъщерно ниво в йерархия

Плъзнете дъщерно ниво на нова позиция в йерархията. Или щракнете с десния бутон върху дъщерно ниво на йерархията и след това щракнете Придвижете се нагоре за да преместите нивото нагоре в списъка. Или щракнете ХодНадолу за да преместите нивото надолу в списъка.

Забележка: Можете да добавите колона само веднъж към една йерархия. След като добавите колона към йерархия, не можете да я добавите отново към същата йерархия. Това означава, че няма да можете да плъзнете колона в йерархия, а Добавяне към Йерархията контекстното меню за конкретната колона вече няма да препраща към йерархиите, към които колоната вече е добавена. Ако няма други йерархии, към които може да се добави колона, Добавяне към Йерархията опцията не се появява в менюто.

За да добавите друго дъщерно ниво към йерархия

Има няколко възможности за постигане на това:

Плъзнете колона на родителското ниво на йерархията, за да копирате колоната като дъщерно ниво в долната част на списъка с йерархия.

Или плъзнете колона в определено място в йерархията, за да копирате колоната като дъщерно ниво на йерархията.

Или щракнете с десния бутон върху колона или няколко избрани колони, след което щракнете върху Добавяне към Йерархията в контекстното меню и след това щракнете върху конкретната йерархия. Това създава дъщерно ниво от колоната и го добавя в долната част на списъка с йерархия.

За премахване на дъщерно ниво от йерархия

Щракнете с десния бутон върху дъщерно ниво и след това щракнете върху Премахване от Йерархията. Или щракнете върху дъщерно ниво в йерархията и след това натиснете Изтрий ключ. Ако искате да възстановите това дъщерно ниво, просто добавете колоната отново.

Забележка: Ако преименувате йерархично дъщерно ниво, то вече не споделя същото име като колоната, от която е създадено. По подразбиране името на колоната източник се появява вдясно от дъщерното ниво. Ако скриете името на колоната източник, използвайте Показване на името на колоната източник команда, за да видите от коя колона е създадена.

За да скриете или покажете име на източник

Щракнете с десния бутон върху дъщерно ниво на йерархия и след това щракнете върху Скриване на името на колоната на източника или Показване на името на колоната източник за превключване между двете опции.

Когато щракнете Показване на името на колоната източник, името на колоната, от която е копирана, се появява вдясно от дъщерното ниво.


1.5.4 Наследяване

Друга важна характеристика на обектно-ориентираните езици е наследяването. Класовете са подредени в йерархична връзка, така че всеки клас наследява своите свойства и методи от класа над него в йерархията (неговия родителски клас или суперклас). Класът също предава своите свойства и методи на класа под него (неговия дъщерен клас или подклас). Аналогия в реалния свят включва класификацията на животински видове. Като вид, ние имаме много характеристики, които са уникални за хората. Ние обаче също наследяваме много характеристики от класове по -високо в йерархията на класовете. Имаме някои характеристики в резултат на това, че сме гръбначни животни. Ние имаме други характеристики в резултат на това, че сме бозайници. За да илюстрирате това, помислете за способността на хората да бягат. Телата ни реагират на нашата команда да бягаме не защото принадлежим към „човешкия“ клас, а защото наследяваме тази черта от някакъв клас по -висок в йерархията на класовете.

Обратно в контекста на програмиране, урокът, който трябва да се научи, е, че си струва да знаете къде даден клас се вписва в йерархията на класовете. Без тази информация няма да знаете за всички налични операции. Тази информация за наследството често може да се намери в информационни плакати, наречени диаграми на обектния модел.

Ето пример за диаграма на обектен модел за геопроцесор ArcGIS Python на 10.x. Обърнете внимание на зеленото (ish) поле, озаглавено FeatureClass Properties и забележете в средната колона, второ отгоре, пише Dataset Properties. Това е така, защото FeatureClass наследява всички свойства от набора от данни. Следователно, всякакви свойства на обект от набор от данни, като Extent или SpatialReference, също могат да бъдат получени, ако създадете обект FeatureClass. Освен всички свойства, които наследява от набора от данни, FeatureClass има свои собствени специализирани свойства, като FeatureType и ShapeType (в горното поле в лявата колона).


1.5.2 Обекти и обектно-ориентирано програмиране

Числовите и низните променливи, с които работихме по -горе, представляват типове данни, които са вградени в Python. Променливите могат да представляват и други неща, като GIS набори от данни, таблици, редове и геопроцесора, които видяхме по -рано, които могат да изпълняват инструменти. Всички тези неща са обекти които използвате, когато работите с ArcGIS в Python.

В Python всичко е обект. Всички обекти имат:

  • уникален идентификатор или местоположение в паметта на компютъра
  • набор от свойства, които описват обекта
  • набор от методи или неща, които обектът може да направи.

Един от начините да се разберат обектите е да се сравни изпълнението на операция на процедурен език (като FORTRAN) с изпълнението на същата операция на обектно-ориентиран език. Ще се преструваме, че пишем програма за приготвяне на сандвич с фъстъчено масло и желе. Ако трябваше да напишем програмата на процедурен език, тя би излязла по следния начин:

  1. Отиди до хладилника и вземи желето и хляба.
  2. Отиди до шкафа и вземи фъстъчено масло.
  3. Извадете две филии хляб.
  4. Отворете бурканите.
  5. Вземи нож.
  6. Сложете малко фъстъчено масло на ножа.
  7. и т.н.
  8. и т.н.

Ако трябва да напишем програмата на обектно-ориентиран език, тя може да изглежда така:

  1. mySandwich = Сандвич.Направете
  2. mySandwich.Bread = Пшеница
  3. mySandwich.Add (PeanutButter)
  4. mySandwich.Add (Jelly)

В обектно-ориентирания пример по-голямата част от стъпките са елиминирани. Обектът на сандвич "знае как" да се изгради, като се имат предвид само няколко части информация. Това е важна характеристика на обектно-ориентираните езици, известна като капсулиране.

Забележете, че можете да дефинирате свойствата на сандвича (като типа хляб) и да изпълните методи (не забравяйте, че това са действия) върху сандвича, като добавяне на фъстъчено масло и желе.


Какво представлява йерархията (обектният модел) на функциите в ArcGIS? - Географски информационни системи

Всички статии, публикувани от MDPI, са незабавно достъпни по целия свят с лиценз за отворен достъп. Не се изисква специално разрешение за повторно използване на цялата или на част от статията, публикувана от MDPI, включително фигури и таблици. За статии, публикувани с лиценз Creative Common CC BY с отворен достъп, всяка част от статията може да се използва повторно без разрешение, при условие че оригиналната статия е ясно цитирана.

Хартиени документи представляват най -модерните изследвания със значителен потенциал за голямо въздействие в тази област. Документите се представят по индивидуална покана или препоръка от научните редактори и се подлагат на партньорска проверка преди публикуването.

Характеристиката може да бъде или оригинална изследователска статия, съществено ново изследователско проучване, което често включва няколко техники или подходи, или изчерпателен преглед с кратки и точни актуализации на най -новия напредък в областта, който систематично преглежда най -вълнуващите постижения в науката литература. Този вид хартия дава представа за бъдещите насоки на изследванията или възможните приложения.

Статиите по избор на редактора се основават на препоръки на научните редактори на списания MDPI от цял ​​свят. Редакторите избират малък брой статии, публикувани наскоро в списанието, които смятат, че ще бъдат особено интересни за авторите или важни в тази област. Целта е да се предостави моментна снимка на някои от най -вълнуващите произведения, публикувани в различните области на изследване на списанието.


Бази геоданни и бази данни на 10.6

Добавена е поддръжка на база геоданни за SAP HANA. Можете да активирате база данни с геоданни в SAP HANA от ArcGIS Pro или машина, на която е инсталиран ArcGIS Server. Можете да получите достъп и да използвате данните в база геоданни в SAP HANA от ArcGIS Pro и да публикувате услуги на федеративни сървъри.

ArcGIS вече поддържа свързване към бази данни на Microsoft SQL Server в Linux. Можете също да създавате бази геоданни в SQL Server на Linux. Освен това можете да се свържете от ArcGIS Server на Linux към SQL Server на Windows или Linux. Вижте изискванията към базата данни на Microsoft SQL Server за ArcGIS 10.6 за поддържани бази данни и клиентски версии на ODBC.

  • За класове функции в база данни изберете ключовата дума за конфигурация PG_GEOGRAPHY.
  • За класове функции в база геоданни в PostgreSQL изберете ключова дума за конфигурация, която има параметър GEOMETRY_STORAGE зададен на PG_GEOGRAPHY. Това може да е ключовата дума DEFAULTS, ключовата дума PG_GEOGRAPHY или персонализирана ключова дума, определена от администратора на базата геоданни. Проверете при вашия администратор на база геоданни, за да потвърдите коя ключова дума да използвате.

Вижте изискванията към базата данни на PostgreSQL за ArcGIS за версии на PostgreSQL и PostGIS, необходими за използване на географския пространствен тип с ArcGIS.


Гледай видеото: ArcGIS Urban: An Introduction