Daha çox

Məkan sorğusu 2 qat sahə dəyəri almaq üçün necə çalışdırılır?

Məkan sorğusu 2 qat sahə dəyəri almaq üçün necə çalışdırılır?


Keçən ay vb.net arcobjects məkan sorğusundan yalnız istədiyiniz təbəqənin dəyərlərini almasını xahiş etdim.

İndi tələbdə bir dəyişiklik var, arcmap, 1 polyline və 1 polygonda "Select Features" alətindən istifadə etdikdən sonra 2 qat dəyərini almalıyam.

Eyni metodu istifadə edə bilərəmmi?

Vurgulanan bir şey, 2 təbəqənin atribut cədvəlindəki tənzimlənən dəyişənlərin eynidir.

Kodum buradadır:

pMxDoc = My.ArcMap.Application.Document pMap = pMxDoc.FocusMap pActiveView = pMxDoc.FocusMap Dim layerNum = GetIndexNumberFromLayerName (pActiveView, "test_db.DBO.TestTable") pFeatureLayer kimi IFeatureLayer Dim pFeatureLayer2 kimi IFeatureLayer pFeatureLayer = pMap.Layer (layerNum) pFeatureLayer2 = pMap.Layer (layerNum2) Dim pFeatureSelection kimi IFeatureSelection pFeatureSelection = pFeatureLayer logger.Info ( "pFeatureLayer =" + pFeatureLayer.Name) Dim pSelectionSet kimi ISelectionSet pSelectionSet = pFeatureSelection .SelectionSet logger.Info ("pSelection number =" & pSelectionSet.Count) Dim pFeatureCursor As IFeatureCursor = Nothing pSelectionSet.Search (Nothing, True, pFeatureCursor) Dim tempArr As New List (Of String) Dim pFeature As IFeature pFeatureFFature Do while (Not pFeature is nothing) tempArr.Add (pFeature.Value (pFeature.Fields.FindField ("Item_ID")). ToString) pFeature = pFeature Kursor.NextFeature Döngüsü

Bütün prosesin aydın olmayan tələbi üçün üzr istəyirəm. Məkan sorğusunu yerinə yetirdikdən sonra bu 2 təbəqənin xüsusiyyətləri ilə əlaqəli məlumatları alacağam (verilənlər bazasından) və istifadəçinin məkan sorğusundan istənilən nəticəni seçməsinə və böyütməsinə icazə verəcəyəm.


Bunun üçün Mekansal Qoşulma metodundan istifadə edə bilərsiniz.
Məkan Qeydiyyat

Bu bağlantıları istifadə edərək Birləşdirmə Qaydalarına və Sahə Xəritəçəkmə Nəzarətinə baxmalısınız. Bunu sahə Xəritəçəkmə nəzarətinin necə işlədiyini görmək üçün əvvəlcə ssenariniz olmadan ArcMap vasitəsilə etməyinizi məsləhət görürəm. Bu, sahələrin adlarının dəyişdirilməsinin və ya birləşməmələrinin (cəm və ya orta hesabla) və eyni adı saxlamalarının güclü bir yolunu təqdim edir. Eyni adda sahələri necə müalicə etmək (və ya fərqli adlarla sahələri birləşdirmək) üçün çox yaxşı seçim var. Bunu etmək üçün güclü bir yol təqdim etdilər.

Düzəliş: Yalnız bir (hədəf) təbəqəni geri alacaqsınız, ancaq çoxbucaqdakı sahələrdən biri kimi çox xətt qatının FID-lərini alacaqsınız, beləliklə bu məlumatları polyline qatmaq üçün istifadə edə biləcəyinizə inanıram. Alternativ olaraq çoxbucaqlıların içərisindəki xətlərin kəsişməsini edə bilərsiniz ki, bu da sizə polilin qatında məlumat verəcəkdir.


10.9-da yenidir

  • Sorğu əməliyyatı nöqtə xüsusiyyətlərindən müntəzəm formalı çoxbucaqlı (məsələn, altıbucaqlı, kvadrat və s.) Tessellation ilə məkan baxımından ümumiləşdirilmiş nəticələrin qaytarılması üçün gücləndirilmişdir.

Katman xüsusiyyət yığma qabiliyyəti ilə aktivləşdirilməlidir.

  • İsteğe bağlı olaraq outStatistics və digər sorğu parametrləri ilə birləşdirilən lod, lodType və ya lodSR ilə istəklər etməzdən əvvəl qat mənbələrindəki SupportsLOD mülkiyyətinin dəyərini yoxlamalısınız.

Layman sorğusu əməliyyatı, müəssisə geodatabase məlumatlarına istinad edən ArcGIS Pro-dan dərc edilmiş xəritə xidmətləri üçün outStatistics istifadə edərkən statisticType olaraq faiz dərəcəsini dəstəkləyir. Yüzdə yüzlüyü dəstəkləyən təbəqələr, inkişaf etmişQueryCapables qat obyektində tapılan supportPercentileStatistics mülkiyyətini doğru olaraq ehtiva edir.


Könüllü parametrlər

SourceCountry

Axtarış üçün mənbə ölkəsini təyin etmək üçün istəyə uyğun parametr. Standart coğrafi xüsusiyyətlərin axtarışını və sorğusunu bir ölkə ilə məhdudlaşdırmaq üçün bu parametrdən istifadə edin. Bu parametr əhatə dairəsində göstərilən iki rəqəmli və üç rəqəmli ölkə kodlarını dəstəkləyir.

Nümunə 1 - Mənbə ölkəsini ABŞ-a təyin edin:

Nümunə 2 - Mənbə ölkəsini Kanadaya yerləşdirin:

  • Mövcud ölkələrin siyahısı və əlaqəli şəxsiyyətləri GeoEnrichment əhatə mövzusunda verilmişdir. Bu siyahı, ölkələrin kəşf metodundan sorğu edərək, proqramlı şəkildə əldə edilə bilər:

Isteğe bağlıCountryDataset

Müəyyən edilmiş bir ölkə daxilində müəyyən bir məlumat dəstini təyin etmək üçün istəyə uyğun parametr.

Məsələn, Yaponiyada fərqli provayderlərdən məlumat dəstləri təklif edirik. Belə bir məlumat dəsti Esri Japan tərəfindən təmin edilmişdir. Coğrafi xüsusiyyətləri birbaşa həmin verilənlər bazasından sorğu edə bilərik.

Coğrafiya laylar

İstənilən standart coğrafiya təbəqələrinin soruşulduğunu və ya axtarıldığını təyin edən istəyə uyğun parametr. Bu parametr təmin edilmirsə, müəyyən edilmiş ölkədəki bütün təbəqələr sorğu-sual ediləcəkdir.

Misal 1 - Axtarış və sorğunu bütün Kanada əyalətləri ilə məhdudlaşdırın:

Nümunə 2 - Axtarışı və sorğunu ABŞ-ın bütün bölgələrində və siyahıyaalma yerlərində məhdudlaşdırın (Şəhərlər və qəsəbələr):

Nümunə 3 - Bütün qlobal şəhər adlarını axtarın və soruşun:

Nümunə 4 - Bütün ölkə adlarını axtarın və soruşun:

  • Bu parametrin sintaksisi bir JSON massivində təyin olunmalıdır.
  • Bu parametr təmin edilmədiyi təqdirdə, təyin edilmiş ölkə daxilindəki bütün təbəqələr sorğu ediləcəyi üçün əməliyyat daha uzun çəkəcəkdir.
  • Sorğu ediləcək bir və ya bir neçə təbəqəni təyin edə bilərsiniz.
  • SourceCountry parametri boşdursa, bu parametrdə ən azı bir qat təyin olunmalıdır

Coğrafiya

Standart coğrafiya təbəqələri üçün hansı kimliklərin soruşulduğunu və ya axtarıldığını təyin edən istəyə uyğun parametr. Bu parametri, kimliyini əvvəlcədən bildiyiniz inzibati ərazilər üçün standart coğrafi ərazilər üçün atributları və / və ya həndəsəni qaytarmaq üçün istifadə edə bilərsiniz, məsələn, ABŞ əyalətinin və ya vilayətinin Federal İnformasiya Qenerasiya Standartını (FIPS) kodlarını bilirsinizsə və ya Kanada, İrəli Sortlaşdırma Sahəsi (FSA) üçün həndəsə və xüsusiyyətlərini qaytarmaq.

Nümunə 1 - coğrafiLayers parametrinin coğrafiLayers = olaraq təyin olunduğu Kaliforniya əyalətinə qayıdın = [“US.States”]:

Nümunə 2 - geographyLayers parametresinin coğrafiLayers = [“US.ZIP5”] olaraq təyin olunduğu iki ABŞ Poçt kodunu qaytarın:

  • Bu parametrin sintaksisi bir JSON massivində təyin olunmalıdır.
  • Dizidə bir və ya bir çox şəxsiyyət vəsiqəsi təqdim edə bilərsiniz.
  • Xüsusiyyətləri şəxsiyyət vəsiqəsi ilə sorğu etmək üçün bu parametrdən istifadə edirsinizsə, coğrafiya layları parametrində ən azı bir qat təyin etməlisiniz.
  • GeographyLayers parametrində müəyyən edilmiş təbəqələrdən yalnız uyğun xüsusiyyətlər qaytarılacaqdır.

Coğrafiya sorğusu

İstədiyiniz mətni təyin etmək və müəyyən edilmiş standart coğrafiya təbəqələrini axtarmaq üçün istəyə uyğun parametr. Bu parametri sorğu vermək və giriş termininə cavab verən standart coğrafiya xüsusiyyətlərini tapmaq üçün istifadə edə bilərsiniz - məsələn, narıncı sözünü ehtiva edən bütün ABŞ bölgələrinin siyahısı. GeographyQuery parametri bir və ya daha çox sözdən ibarət bir sətir ola bilər.

CoğrafiLayers = ["US.Counties"] olduğu "narıncı" sözünü ehtiva edən bütün bölgələri geri qaytarın:

Bir sorğu şərtlərə və operatorlara bölünür. İki növ termin var: Tək şərtlər və ifadələr.

Tək Termin "Redlands" və ya "Riverside" kimi tək bir sözdür.

Bir Deyim "Orange County" kimi ikiqat sitatlarla əhatə olunmuş bir söz qrupudur.

Daha mürəkkəb bir sorğu yaratmaq üçün Boolean operatorları ilə birdən çox termin birləşdirilə bilər (aşağıya bax).

Coğrafiya axtarışı sahədəki məlumatları dəstəkləyir. Bir axtarış apararkən, bir sahə təyin edə və ya bütün sahələrdə axtarışdan istifadə edə bilərsiniz.

Hər hansı bir sahədə axtarış nöqtəsini ":" sonra bir nöqtə və sonra aradığınız termini yazaraq axtarış edə bilərsiniz.

Məsələn, Kaliforniyanın Orange County bölgəsini axtarmaq üçün sorğunu aşağıdakı kimi qura bilərsiniz:

Adı: "Orange County" VƏ MajorSubdivisionAbbr: CA

Adı: "Orange County" VƏ MajorSubdivision ID: 06

"Orange County" VƏ MajorSubdivisionName: California

Aşağıdakı sahələr coğrafiyada axtarılır:

Coğrafiya kimliyi - məsələn, 06069 və ya 59025.

Coğrafiya NAM - məsələn, Orange County və ya Skeena - Bulkley Valley.

Əsas bölmə adı - məsələn, Kaliforniya və ya British Columbia.

Əsas bölünmə qısaltması - məsələn, CA və ya BC.

Əsas bölmə kimliyi - məsələn, 06 və ya 59

Əsas bölmə kimliyi, adı və qısaltması - məsələn, 06, California, CA və ya 59, British, Columbia, BC.

Axtarış tək şərtlər daxilində (söz sorğuları daxilində deyil) tək və çoxsaylı simvol joker axtarışlarını dəstəkləyir.

Tək bir simvol joker axtarışını həyata keçirmək üçün "?" İstifadə edin simvol.

Birdən çox simvol joker axtarış aparmaq üçün "*" simvolundan istifadə edin.

Tək simvol joker axtarış, dəyişdirilən tək simvolla uyğun terminləri axtarır. Məsələn, "San" və ya "Sen" üçün axtarışdan istifadə edə bilərsiniz:

Birdən çox simvol joker axtarış 0 və ya daha çox simvol axtarır. Məsələn, “San Fran” ilə başlayan bütün şəhərləri tapmaq üçün axtarışdan istifadə edə bilərsiniz:

Terim ortasında joker axtarışdan da istifadə edə bilərsiniz:

Qeyri-səlis axtarışlar Levenshtein məsafəsi və ya məsafəni düzəlt alqoritminə əsaslanır. Varsayılan qeyri-səlis axtarış aparmaq üçün useFuzzySearch parametrini true olaraq təyin edə bilərsiniz. Tilde simvolundan istifadə edərək coğrafiyaSoru sintaksisini açıq şəkildə qeyri-səlis bir axtarış edə bilərsiniz "

"bir müddətin sonunda.

Məsələn, "İlçe" ilə yazılışına bənzər bir termin qeyri-səlis axtarışdan istifadə edir:

Bu axtarışda "İlçe" kimi terminlər tapılacaqdır.

"useFuzzySearch parametrini açıq şəkildə təyin etmək əvəzinə, tək bir sözün sonunda çoxsaylı axtarış müddətində yalnız bir söz üçün qeyri-səlis uyğunluğu istifadə edə bilərsiniz.

Aşağıdakı nümunədə qeyri-səlis uyğunlaşma ilə yalnız “narıncı” sözü axtarılacaqdır:

Tilde simvolundan sonra əlavə (isteğe bağlı) ədədi parametr təyin edilə bilər ("

") oxşarlıq tolerantlığını təyin etmək üçün. Qiymət 1-ə yaxın bir dəyərlə 0 ilə 1 arasındadır, yalnız daha yüksək oxşarlığa sahib şərtlər uyğunlaşdırılacaqdır.

Məsələn, yalnız 0,0 və ya daha yüksək bir oxşarlıqla şərtləri uyğunlaşdırmaq istəyirsinizsə, qeyri-səlis axtarışı belə qura bilərsiniz:

Könüllü oxşarlıq nömrəsi verilmədiyi təqdirdə istifadə olunan borc 0,5-dir.

Mantiqi operatorlar şərtlərin məntiq operatorları vasitəsilə birləşdirilməsinə imkan verir. Axtarış, Boole operatorları olaraq AND, "+", OR, NOT və "-" dəstəkləyir. Mantiqi operatorlar BÜTÜN CAPS olmalıdır.

GeographyQuery-də, AND operatoru standart əlaqə operatorudur. Bu o deməkdir ki, iki və ya daha çox şərt arasında Boolean operatoru yoxdursa, AND operatoru istifadə olunur. AND operatoru, hər iki şərtin standart coğrafiya xüsusiyyətləri siyahısının hər hansı bir yerində olduğu maddələrə uyğun gəlir. AND sözünün yerinə "& amp" işarəsi istifadə edilə bilər.

AND operatoru varsayılan olaraq adlarında “Narıncı” və “İlçe” olan standart coğrafiya xüsusiyyətlərini axtarmaq üçün istifadə olunduğu üçün aşağıdakı sorğudan istifadə edə bilərsiniz:

Operatoru da əlavə edə və eyni nəticələr verə bilərsiniz:

OR operatoru iki termini birləşdirir və şərtlərdən biri sənəddə varsa, uyğun sənəd tapır. Bu, dəstləri istifadə etməklə birləşməyə bərabərdir. "||" işarəsi OR sözünün yerinə istifadə edilə bilər.

"Orange County" və ya "Narıncı" olan xüsusiyyətləri axtarmaq üçün aşağıdakı sorğudan istifadə edin:

"+" Və ya tələb olunan operator, "+" simvolundan sonrakı müddətin standart bir coğrafiya xüsusiyyətinin bir yerində mövcud olmasını tələb edir.

"Narıncı" və "İlçe" ehtiva edə bilən xüsusiyyətləri axtarmaq üçün aşağıdakı sorğudan istifadə edin:

NOT operatoru, NOT-dan sonra müddətini ehtiva edən xüsusiyyətləri istisna edir. "!" Simvolu NOT sözünün yerinə istifadə edilə bilər.

"Narıncı" olan "ilçe" olmayan xüsusiyyətləri axtarmaq üçün aşağıdakı sorğudan istifadə edin:

NOT operatoru yalnız bir müddətlə istifadə edilə bilməz. Məsələn, aşağıdakı axtarış nəticə verməyəcək:

Axtarış alt sorğu yaratmaq üçün bəndləri qruplaşdırmaq üçün parantezdən istifadə dəstəkləyir. Bir sorğu üçün Boolean məntiqinə nəzarət etmək istəyirsinizsə, bu faydalı ola bilər.

"Narıncı" ya da "Riverside" və "CA" ya baxmaq üçün aşağıdakı sorğudan istifadə edin:

(Portağal VƏ Riverside) VƏ CA

Axtarış çoxlu bəndləri tək bir sahəyə qruplaşdırmaq üçün mötərizələrdən istifadə etməyi dəstəkləyir.

Həm "Narıncı" sözünü, həm də "İlçe" ifadəsini ehtiva edən bir xüsusiyyət axtarmaq üçün sorğudan istifadə edin:

Xüsusi simvollardan qaçmaq

Axtarış, sorğu sintaksisinin bir hissəsi olan xüsusi simvollardan qaçmağı dəstəkləyir. Mövcud xüsusi simvollar aşağıdakılardır:

Bu simvollardan qaçmaq üçün simvoldan əvvəl düyməsini istifadə edin.

  • Hansı təbəqələrin axtarıldığını təyin etmək üçün coğrafi təbəqələr parametrindən istifadə edin.
  • GeographyLayers parametri birdən çox təbəqə ilə təmin olunarsa, birdən çox təbəqə axtarış edə bilərsiniz.
  • Optimal bir performans əldə etmək üçün coğrafi təbəqələrdə ən azı bir təbəqənin təyin edilməsi tövsiyə olunur.
  • SourceCountry boşdursa, coğrafiya layları parametrində ən azı bir qat təyin olunmalıdır.
  • Heç bir coğrafiya təbəqəsi verilmirsə, bütün standart coğrafiya təbəqələri sourceCountry daxilində axtarılacaqdır. Bu, performansı mənfi təsir edəcəkdir.
  • UseFuzzySearch parametri "false" olaraq təyin olunarsa, coğrafiyaQuery parametri ilə göndərilən bütün mətnlər üçün standart bir mətn axtarışı aparılır.
  • UseFuzzySearch parametri true olaraq ayarlanarsa, coğrafi Sual ilə göndərilən bütün sözlər qeyri-səlis məntiqlə axtarılacaqdır.
  • Coğrafiya sorğusundakı axtarışlar hərflərə həssas deyildir

ReturnSubGeographyLayer

Bir ana coğrafiyada olan bütün alt coğrafi sahələri qaytarmaq üçün bu isteğe bağlı parametri istifadə edin. Məsələn, müəyyən bir ABŞ əyaləti üçün bütün ABŞ bölgələrini geri qaytara bilər və ya bir Siyahıyaalma Böyükşəhər Bölgəsindəki (şəhər) ərazidəki bütün Kanada poçt sahələrini (FSA) geri qaytara bilərsiniz.

Bu parametr doğru olaraq təyin olunduqda, çıxış xüsusiyyətləri subGeographyLayer-da müəyyənləşdiriləcəkdir. Çıxış həndəsələri outSR tərəfindən müəyyən edilmiş məkan istinad sistemində olacaqdır.

Çıxış həndəsələri cavabdakı hər bir xüsusiyyət ilə qaytarılmayacaqdır.

Cavabda çıxış həndəsələrini istəyin:

AltCoğrafiya Layer

Bir ana coğrafiya daxilində olan bütün alt coğrafi sahələri geri qaytarmaq üçün bu isteğe bağlı parametri istifadə edin - məsələn, ABŞ-ın müəyyən bir əyalətindəki bütün bölgələri geri qaytara bilərsiniz və ya bir siyahıyaalma Böyükşəhər Bölgələrindəki bütün Kanada poçt sahələrini (FSA) geri qaytara bilərsiniz. şəhər) xüsusiyyəti.

Nümunə 1 - coğrafiyaLayers = [“US.States”] olduqda ABŞ əyalət xüsusiyyətlərinin təyin olunmuş ABŞ əyalətləri daxilində qaytarılmasını tələb edin:

Nümunə 2 - Kanadalı FSA xüsusiyyətlərinin (poçt sahələrinin) müəyyən edilmiş metropol bölgələri daxilində qaytarılmasını isteyin coğrafiya Layerləri = [“CAN.CMACA”]:

  • Bu parametri yalnız returnSubGeographyLayer true olaraq ayarlandıqda təyin edə bilərsiniz.
  • Mövcud standart coğrafiya səviyyələrinin və əlaqəli şəxsiyyətlərinin siyahısı əhatə dairəsində verilmişdir.
  • ReturnSubGeographyLayer true olaraq ayarlanırsa, bu parametr artıq isteğe bağlı deyil, subGeographyLayer təyin etməlisiniz.

Alt coğrafiya sorğusu

Bir axtarış termini ilə qaytarılmış alt coğrafiya xüsusiyyətlərinin nəticələrini süzmək üçün istəyə uyğun parametr. Bu parametri sorğu etmək və giriş müddətinə uyğun subcoğrafiya xüsusiyyətlərini tapmaq üçün istifadə edə bilərsiniz.

Bu parametr, bir ana coğrafiyada olan alt coğrafiya xüsusiyyətlərinin siyahısını süzmək üçün istifadə olunur - məsələn, “San Diego County” daxilində olan bütün Poçt Kodlarının siyahısını istəyə bilərsiniz və nəticələri yalnız başlayacaq Poçt kodları üçün filtrləyin. ilə "921" çıxış cavab daxil edilir. Alt coğrafiya sorğusu bir və ya daha çox sözdən ibarət bir sətirdir.

“921” ilə başlayan bütün poçt kodlarını qaytarın:

  • SubGeographyLayer üçün sintaksis və dəstəklənən əməliyyatlar geographyLayer ilə eynidir.
  • Dəstəklənən axtarış operatorları haqqında məlumat almaq üçün coğrafi sorğu parametr sənədlərinə baxın.
  • SubGeographyLayer yalnız returnSubGeographyLayer true olaraq ayarlandıqda və subGeographyLayer müəyyən edildikdə təyin edilə bilər.
  • UseFuzzySearch parametri "false" olaraq ayarlanırsa, subGeographyQuery parametri ilə təqdim olunan bütün mətnlər üçün standart bir mətn axtarışı aparılır.
  • ReturnSubGeographyLayer parametri doğrudursa, subGeographyQuery ilə göndərilən bütün sözlər qeyri-səlis məntiqlə axtarılacaqdır.
  • Coğrafiya sorğusundakı axtarışlar hərflərə həssas deyildir.

OutSR

Müəyyən edilmiş bir məkan istinad sistemində çıxış həndəsələrini tələb etmək üçün könüllü parametr.

ReturnGeometry true olaraq təyin edildikdə, bu isteğe bağlı parametr, çıxış həndəsəsinin məkan istinad sistemini açıq şəkildə göstərmək üçün təyin edilə bilər. Parametr dəyəri proqnozlaşdırılan koordinat sistemini və ya coğrafi koordinat sistemini təsvir edən tanınmış ID kimi göstərilə bilər.

WGS 1984 datasına əsaslanan standart enlik və boylam əsaslı coğrafi koordinat sistemi istifadə ediləcək.

WGS 1984 datumuna əsaslanan Web Mercator (Auxiliary Sphere) proqnozlaşdırılan koordinat sistemində çıxış həndəsəsini göstərin:

Qayıt Geometriya

Cavabda çıxış həndəsələrini tələb etmək üçün istəyə uyğun parametr.

Bu parametr doğru olaraq təyin olunduqda, hər bir xüsusiyyətlə əlaqəli çıxış həndəsələri cavabda yer alacaqdır. Çıxış həndəsələri outSR tərəfindən müəyyən edilmiş məkan istinad sistemində olacaqdır.

Çıxış həndəsələri cavabdakı hər bir xüsusiyyət ilə qaytarılmayacaqdır.

Cavabda çıxış həndəsələrini istəyin:

  • Çıxış həndəsələrinin istənilməsi, cavabın alınması üçün lazım olan vaxtı artıracaq və xidməti istehlak edən hər hansı bir müştəri tətbiqinin sürətinə və fəaliyyətinə mənfi təsir göstərən çıxış cavabının yük həcmini əhəmiyyətli dərəcədə artıra bilər.

ReturnCentroids

Çıxış həndəsəsindən hər bir xüsusiyyət üçün mərkəzi nöqtəni geri qaytarmaq üçün istəyə görə istəyə uyğun parametr. Bütün həndəsələri nöqtə şəklində qaytarmaq üçün bu parametrdən istifadə edin - məsələn, sərhədləri təmin etmək əvəzinə bütün ABŞ Poçt Kodu mərkəzlərini (nöqtələrini) qaytara bilərsiniz.

Bu parametr doğru olaraq təyin edildikdə, çıxış xüsusiyyətləri nöqtə şəklində qaytarılacaqdır. Çıxış həndəsələri outSR tərəfindən müəyyən edilmiş məkan istinad sistemində olacaqdır.

Cavabda çıxış nöqtəsi həndəsələrini istəyin:

  • Hər bir nöqtənin mərkəzi standart coğrafi ərazilər üçün qaytarılacaqdır.
  • Bu parametr yalnız returnGeometry parametri də true olaraq təyin olunduqda true olaraq təyin edilə bilər.

Ümumiləşdirmə səviyyəsi

İdarə sərhədinin və ya standart coğrafi məlumat qatlarının ərazi nümayəndəliklərində ümumiləşdirmə və ya təfərrüat səviyyəsini təyin edən könüllü tam ədədi parametri. Dəyərlər 0-dan 6-dək tam ədədi olmalıdır, burada 0 ən ətraflı və 6 ən ümumiləşdirilir.

Nümunə 1 - Ən ətraflı çıxış həndəsəsini tələb edin:

Nümunə 2 - Ən ümumiləşdirilmiş çıxış həndəsəsini tələb edin:

    0-lıq bir ümumiləşdirmə ən detallı və dəqiq poliqon sahə xüsusiyyətlərini qaytaracaqdır.

Qaytarılmış cavab göstərmək üçün çox böyük olduqda, aşağıdakı xəbərdarlıq mesajı ilə daha ümumiləşdirilmiş bir detal səviyyəsi istifadə ediləcək:

Daha az detallı xüsusiyyətlər o qədər dəqiq görünməyəcək və ya əsas xəritələrin sahil xəttinə uyğun gələ bilməz.

UseFuzzySearch

CoğrafiyaQuery parametrində verilən mətnin qeyri-səlis axtarış məntiqindən istifadə edib-etməməsini müəyyənləşdirmək üçün istəyə uyğun parametr. Qeyri-səlis axtarışlar Levenshtein məsafəsi və ya məsafəni düzəltmə alqoritminə əsaslanır.

Bu yanaşmanın istifadəsi eyni zamanda səhv yazılan səhvlər üçün uyğunluq tapmağa kömək edəcək - məsələn, əyalət adı Kaliforniya ilə səhv yazıldığı təqdirdə California əyalətinə rast gəlmək olar.

Çıxış cavabında, çıxış atributunun giriş mətninə nə qədər oxşar olduğunu göstərən bir Score sahəsi var. Dəyərlər 0-dan 100-ə qədərdir. 100 bal, mükəmməl bir simli uyğunluğu göstərir.

  • Bu parametr yalnış olaraq təyin olunarsa, coğrafiyaQuery parametri ilə göndərilən bütün mətnlər üçün standart bir mətn axtarışı aparılır.
  • Bu parametr doğrudursa, coğrafiyaSualı ilə göndərilən bütün sözlər qeyri-səlis məntiqlə axtarılacaqdır.
  • Qeyri-səlis axtarış imkanları barədə daha çox müzakirə coğrafiyaQuery parametri sənədlərində tapılmışdır.

XüsusiyyətLimit

CoğrafiyaQuery parametrindən qayıdan xüsusiyyət sayını məhdudlaşdıra biləcəyiniz istəyə uyğun tam ədədi.

Cavabda çıxış həndəsələrini istəyin:

  • Standart Coğrafiya Sorğusu xidməti maksimum 5000 xüsusiyyətə malikdir.
  • FeatureLimit parametri bu maksimumu aşa bilməz.
  • FeatureOffset parametri ilə istifadə olunan xüsusiyyətLimit, StandardGeographyQuery nəticələrinin səhifələnməsini dəstəkləyir.

Xüsusiyyət ofset

Nəticələri göstərilən qeydin nömrəsi ilə başlayın.

Bu parametr, StandardGeographyQuery nəticələrinin xüsusiyyətLimit parametri ilə birlikdə səhifələməsini dəstəkləyir.

LangCode

GeoEnrichment nəticələrini almaq istədiyiniz dili təyin edən istəyə uyğun parametr. Bu parametrdən istifadə etmək imkanı iş yerinizdə mövcud olan məlumatlarla müəyyən edilir.

Portuqal dilində qaytarılmaq üçün bir nəticə tələb edin:

Çıxış cavab formatını təyin etmək üçün könüllü parametr.

Çıxış cavabı HTML formatında qaytarılacaqdır.

JSON formatında çıxış həndəsələrini tələb edin:


ƏLAVƏ OLUNUB: Firestore hazırda faktiki GeoPoint sorğularını dəstəkləmir, belə ki, aşağıdakı sorğu müvəffəqiyyətlə yerinə yetirildikdə, yalnız eninə görə deyil, eninə görə süzülür və beləliklə yaxın olmayan bir çox nəticəni verəcəkdir. Ən yaxşı həll geohash istifadə etmək olar. Özünüzə bənzər bir şey necə edəcəyinizi öyrənmək üçün bu videoya baxın.

Bu, sorğudan daha kiçik bir məhdudlaşdırıcı qutu yaratmaqla edilə bilər. Səmərəliliyə gəldikdə, onunla danışa bilmirəm.

Lat / uzun ofsetin dəqiqliyini qeyd edin

1 mil nəzərdən keçirilməlidir, amma bunu etmək üçün qısa bir yol:

SWIFT 3.0 Versiyası

ƏLAVƏ OLUNUB: Firestore hazırda faktiki GeoPoint sorğularını dəstəkləmir, belə ki, aşağıdakı sorğu müvəffəqiyyətlə yerinə yetirildikdə, yalnız eninə görə deyil, eninə görə süzülür və beləliklə yaxın olmayan bir çox nəticəni verəcəkdir. Ən yaxşı həll geohash istifadə etmək olar. Özünüzə bənzər bir şey necə edəcəyinizi öyrənmək üçün bu videoya baxın.

(Əvvəlcə bu yazıdakı bütün kodlar üçün üzr istəməyimə icazə verin, sadəcə bu cavabı oxuyan hər kəsin funksiyanı asanlıqla bərpa etməsini istəyirdim.)

OP ilə eyni problemi həll etmək üçün əvvəlcə GeoFire kitabxanasını Firestore ilə işləməyə uyğunlaşdırdım (həmin kitabxanaya baxaraq coğrafi məhsullar haqqında çox şey öyrənə bilərsiniz). Sonra anladım ki, yerlərin dəqiq bir dairədə qaytarılması məni əsla narahat etmir. Yalnız 'yaxınlıqdakı yerləri əldə etmək üçün bir yol istədim.

Bunu başa düşməyimin nə qədər vaxt apardığına inanmıram, ancaq bir SW nöqtəsi və NE küncündən istifadə edərək bir GeoPoint sahəsindəki ikiqat bərabərsizlik sorğusunu bir mərkəz nöqtəsi ətrafında bir məhdudlaşdırıcı qutu içərisində yerlər əldə etmək üçün edə bilərsiniz.

Beləliklə, aşağıda göstərildiyi kimi bir JavaScript funksiyası hazırladım (bu, əsasən Ryan Lee'nin cavabının JS versiyasıdır).

Yuxarıdakı funksiya, eyni zamanda, məsafənin istədiyiniz aralığa daxil olub olmadığını yoxlayaraq dairəyə bənzər davranış əldə edə bilmək üçün geri qaytarılan hər bir yer məlumatına .distanceFromCenter xassəsi əlavə edir.

Yuxarıdakı funksiyada iki util funksiyasından istifadə edirəm, buna görə də bunlar üçün kod. (Aşağıdakı bütün istifadə funksiyaları həqiqətən GeoFire kitabxanasından uyğunlaşdırılmışdır.)

boundingBoxCoordinates (): (Burada da aşağıda yapışdırdığım daha çox alət istifadə olunur.)


Mənim qonşum olmazsan?

Bəzən (məkan təhlillərində çox vaxt) yalnız bir çoxbucağa deyil, qonşularına da ehtiyacımız var. Yəni yalnız bir çoxbucaqlı yükləmə kifayət deyil. Veriləriniz artıq R-dədirsə, bu st_filter () funksiyası ilə asandır, ancaq R 4-ə yükləmədən əvvəl məlumatları süzgəcdən keçirtməyə çalışsanız daha hiyləgərdir. Xoşbəxtlikdən st_read () örtdüyünüz kimi! Wkt_filter, məlumatları R 5-ə yükləmədən əvvəl filtrləmək üçün istifadə edilə bilən tanınmış bir mətn sətirini qəbul edir. Tanınmış mətn həndəsənin standart bir simli təmsilçisidir və sf paketinin həndəsəni R-də necə yazdırdığına dair belədir:

Wkt_filter arqumentini yalnız Fas poliqonumuzla kəsişən çoxbucaqlıları R-ə yükləmək üçün istifadə etmək istəyirik. Bunun üçün çoxbucağımızı st_as_text () funksiyası ilə tanınmış bir mətn sətrinə çevirməliyik, sonra st_read ( ). Lakin, st_as_text () yalnız sfc və sfg obyektlərini qəbul edir, sf obyektlərini deyil:

Bu vəziyyətdən keçmək üçün Fasdakı məlumatları atmalı və yalnız st_geometry () ilə çoxbucağın həndəsəsini çıxarmalıyıq:

Diqqət yetirin ki, yaşıl Fas poliqonumuzun yaşıl sahəsi daxilində çoxsaylı çoxbucaqlı sərhədlər var. 1956, 1958, 1976 və 1979-cu illərdə başlayan məlumatlarda 4 Fas poliqonunun olmasıdır. SQL sorğusunun bir hissəsi olaraq və ya bir dplyr :: filter () içərisində verilənlər bazasının süzülməsindən əmin olun ki, yalnız çoxbucaqlı olsun maraq poliqonunuzla eyni zamanda mövcud idi.


Bir uzantıdan (Mekansal Analist, 3D Analitik və ya digərləri) bir ArcToolbox alətindən istifadə etməyə çalışarkən bir & # 8216tool lisenziyasız & # 8217 səhv alırsınızsa, o zaman istifadə etmədən əvvəl uzantını aktivləşdirməmisiniz. Əlavədə bir alət çubuğu varsa, onu görünən etməkdir yox genişləndirməni təmin etməklə eyni.

Xəta mesajında ​​deyildiyini unutmayın hazırda & # 8230 & # 8220 lisenziyası yoxdur və ya aktivdir& # 8220. Varsayılan ArcGIS yükləməsi bütün uzantıları əhatə edir, buna görə də bu mesajı görsəniz, ehtimal ki, aktivləşdirilmir.

Bunu aradan qaldırmaq üçün Özəlləşdirmək menyusunu seçin və seçin Əlavələr & # 8230

Istifadə etmək istədiyiniz hər hansı bir uzantı üçün qutuyu yoxlayın və Bağla düyməsini basın. Aləti yenidən işə salmağa çalışın və işləməlidir. Lisenziyanın olub olmadığını yoxlamaq üçün açın ArcGIS İdarəçisi və Mövcudluq panelini seçin. Uzatma lisenziyaları ArcGIS & # 8230 aşağıda veriləcək


4.7. Kompleks Sorğular

The raison d'etre məkan verilənlər bazası funksionallığı, ümumiyyətlə masa üstü GIS funksiyasını tələb edən verilənlər bazası daxilində sorğuların yerinə yetirilməsidir. PostGIS-dən səmərəli istifadə etmək üçün hansı məkan funksiyalarının mövcud olduğunu bilmək və yaxşı performans təmin etmək üçün uyğun indekslərin mövcudluğunu təmin etmək lazımdır.

4.7.1. İndekslərdən faydalanmaq

Bir sorğu qurarkən yalnız & amp & amp kimi məhdudlaşdırıcı qutu əsaslı operatorların GiST məkan indeksindən faydalana biləcəyini xatırlamaq vacibdir. Məsafə () kimi funksiyalar işini optimallaşdırmaq üçün indeksdən istifadə edə bilmir. Məsələn, aşağıdakı bir sorğu böyük bir masada olduqca yavaş olardı:

Bu sorğu nöqtədən 100 vahid (100000, 200000) məsafəsində olan geom_tabledakı bütün həndəsələri seçir. Yavaş olacaq, çünki cədvəldəki hər nöqtə ilə göstərilən nöqtəmiz arasındakı məsafəni hesablayır, yəni. cədvəldəki hər sıra üçün bir ST_Distance () hesablanması. Tələb olunan məsafə hesablamalarını azaltmaq üçün & amp & amp operatorunu istifadə edərək bundan qaça bilərik:

Bu sorğu eyni həndəsələri seçir, lakin daha təsirli bir şəkildə edir. The_geom'da bir GiST indeksinin olduğunu fərz etsək, sorğu planlayıcısı məsafə () funksiyasının nəticəsini hesablamadan əvvəl indeksdən sətirlərin sayını azaltmaq üçün istifadə edə biləcəyini anlayacaqdır. & Amp & amp əməliyyatında istifadə olunan BOX3D həndəsəsinin orijinal nöqtədə mərkəzləşdirilmiş 200 vahid kvadrat qutu olduğuna diqqət yetirin - bu bizim "sorğu qutusu". & Amp & amp operatoru, nəticəni yalnız "sorğu qutusu" ilə üst-üstə düşən hüdudları olan həndəsələrə endirilən nəticəni sürətlə azaltmaq üçün istifadə edir. Sorğu qutumuzun bütün həndəsə cədvəlinin göstəricilərindən xeyli kiçik olduğunu düşünsək, bu edilməli olan məsafə hesablamalarının sayını kəskin şəkildə azaldacaqdır.

PostGIS 1.3.0-dan etibarən, ST_Disjoint və ST_Relate-in nəzərə çarpan istisnaları istisna olmaqla, Həndəsə əlaqəsi funksiyalarının əksəriyyətinə örtüklü məhdudlaşdırma qutusu üst-üstə düşmə operatorları daxildir.

4.7.2. Məkan SQL nümunələri

Bu hissədəki nümunələr iki cədvəldən, xətti yollar cədvəlindən və çoxbucaqlı bələdiyyə sərhədləri cədvəlindən istifadə edəcəkdir. Bc_roads cədvəli üçün cədvəl tərifləri:

Bc_municipality cədvəli üçün cədvəl tərifi:

Bütün yolların kilometrlərlə ifadə olunan ümumi uzunluğu nə qədərdir?

Bu suala çox sadə bir SQL parçası ilə cavab verə bilərsiniz:

Şahzadə George şəhəri hektarlarla nə qədər böyükdür?

Bu sorğu bir xüsusiyyət şərtini (bələdiyyə adına) məkan hesablaması ilə (ərazinin) birləşdirir:

Əraziyə görə vilayətin ən böyük bələdiyyəsi nədir?

Bu sorğu sorğu vəziyyətinə məkan ölçüsü gətirir. Bu problemə yanaşmanın bir neçə yolu var, lakin ən səmərəli aşağıda:

Qeyd edək ki, bu suala cavab vermək üçün hər çoxbucaqlının sahəsini hesablamalıyıq. Bunu çox etsəydik, cədvələ sahə sütunu əlavə etmək üçün ayrı-ayrılıqda indeksləşdirə biləcəyik. Nəticələri azalan bir istiqamətə sifariş edərək və PostgreSQL "LIMIT" əmrini istifadə edərək, max () kimi məcmu funksiyanı istifadə etmədən ən böyük dəyəri asanlıqla götürə bilərik.

Hər bələdiyyənin içərisində olan yolların uzunluğu nə qədərdir?

Bu, "məkan birləşməsinin" bir nümunəsidir, çünki biz iki cədvəldəki məlumatları birləşdiririk (birləşdirmə aparırıq), ancaq məkan qarşılıqlı şərtini ("ehtiva edən") qoşulma şərti kimi qoşulma şərti olaraq istifadə edirik. ümumi açar:

Bu sorğu bir müddət çəkir, çünki cədvəldəki hər yol yekun nəticəyə toplanır (xüsusi nümunə cədvəlimiz üçün təxminən 250K yol). Kiçik bindirmələr üçün (bir neçə yüzdə bir neçə min qeyd) cavab çox sürətli ola bilər.

Şahzadə George şəhəri daxilindəki bütün yollarla yeni bir masa yaradın.

Bu, iki cədvəl götürən və məkan şəklində kəsilmiş və ya kəsilmiş nəticələrdən ibarət yeni bir cədvəl çıxan bir "örtük" nümunəsidir. Yuxarıda göstərilən "məkan birləşməsindən" fərqli olaraq, bu sorğu həqiqətən yeni həndəsələr yaradır. Yerləşdirmə turbo yüklənmiş məkan birləşməsinə bənzəyir və daha dəqiq analiz işi üçün faydalıdır:


Əlaqədar tapşırıqlar

Həndəsə nümunələrini yaradın, düzəldin və soruşun
Həndəsə məlumat növü nümunələrində istifadə edə biləcəyiniz üsulları təsvir edir.

Coğrafiya nümunələrini yaradın, qurun və sorğu edin
Coğrafiya məlumat növü nümunələrində istifadə edə biləcəyiniz üsulları təsvir edir.

Ən Yaxın Qonşu üçün Məkan Verilərini Soruşun
Müəyyən bir məkan obyektinə ən yaxın məkan obyektlərini tapmaq üçün istifadə olunan ümumi sorğu nümunəsini təsvir edir.

Məkan indeksləri yaradın, dəyişdirin və buraxın
Məkan indeksinin yaradılması, dəyişdirilməsi və buraxılması barədə məlumat verir.


Quantum GIS-ə giriş 3.4.14

Quantum GIS 3.4.14, yer məkanında məlumat yaratmaq, redaktə etmək, vizuallaşdırmaq, təhlil etmək və yayımlamaq üçün istifadə olunan pulsuz Açıq Mənbə Coğrafi İnformasiya Sistemi (GIS) proqramıdır. Proqram Windows, Mac, Linux və BSD üçün mövcuddur. Bu istifadəçi dostu Açıq Mənbə CİS proqramı, GNU Ümumi İctimai Lisenziyası altında lisenziyalaşdırılmışdır və Açıq Mənbə Yerleşim Fondunun rəsmi bir layihəsidir. [4]


QGIS QGIS Desktop da daxil olmaqla coğrafi məkan məlumatlarını yarada, redaktə edə, vizuallaşdırmaq, analiz etmək və dərc edə biləcəyiniz QGIS Brauzerini daxil olmaqla bir çox fərqli xüsusiyyətlərə malikdir; burada məlumatlarınızı və metadatanı gözdən keçirə və önizləyə biləcəyiniz, həm də saxladığınız QGIS Server ətrafında hərəkət edə biləcəyiniz yer. QGIS layihələrinizi OGC uyğun WMS və WFS xidmətləri və QGIS layihələrinizi dərc edə biləcəyiniz QGIS Veb Müştərisi kimi yayımlayın. [5]


Videoya baxın: الحقل المحسوب في اكسس جداول نماذج تقارير استعلامات