Vairāk

Kuru parametru un datu tipu iestatīt telpiskai atsaucei ArcGIS Python skripta rīkā?

Kuru parametru un datu tipu iestatīt telpiskai atsaucei ArcGIS Python skripta rīkā?


Es izstrādāju pitona skriptu lietotāja definētam režģim un no šī skripta vēlos izveidot rīku.

Problēma, ar kuru es saskaras, ir iestatīt parametru telpiskai atsaucei.

Telpiskajai atsaucei izmantoju funkciju GetParameterAsText un datu tipā ievietoju “Spatial reference”, iestatot rīku ArcGIS 10.1. Šķiet, ka funkcija nedarbojas.

Es nevēlos lūgt lietotāju ievadīt rūpnīcas kodu koordinātām, drīzāk vēlos lūgt viņus izvēlēties koordinātu sistēmu, kad viņi vēlas iestatīt savu izejas funkciju klasi.

Kā es varu iestatīt telpisko atsauci, izmantojot funkciju GetParameterAsText, un lūgt lietotāju izvēlēties atsauces sistēmu?


Ar peles labo pogu noklikšķiniet uz rediģējamā rīkjoslas (ja jums vēl nav, jums tas būs jāizveido mapē & # 8220Mani rīkkastes & # 8221 vai mapē), dodieties uz sadaļu & # 8216Pievienot & # 8217 un atlasiet & # 8216Script & # 8230 & # 8217, piešķiriet tai nosaukumu un etiķeti, atlasiet skripta failu un pēc tam pievienojiet parametrus. Šajā piemērā mēs iegūstam funkciju klasi, tāpēc sauciet to par InputFeatureClass (vai kaut ko nozīmīgu) un iestatiet datu tipu uz Feature Class. Noklikšķiniet uz Pabeigt. Veiciet dubultklikšķi uz jaunā skripta rīka, lai to izmantotu. Pašlaik tas neko nedara, bet, ja jūs piešķirat tam funkciju klasi un noklikšķiniet uz Labi, tai vajadzētu darboties laimīgi un teikt, ka tā bija veiksmīga.

Turpmāk mēs varam vienkārši rediģēt skriptu, kur tas atrodas, un izmaiņas tiks veiktas, jums tas vairs nebūs jāimportē.

Ir svarīgi atzīmēt, ka ceļi uz iezīmju klasēm ir tikai virknes, piem. & # 8216C: GISData NYC 2007 Networks.gdb BusRoutes & # 8217.


ToolValidator klases programmēšana

Pārskatu par ToolValidator klasi un parametru metožu izmantošanu skatiet skripta rīka uzvedības pielāgošana.

Piekļuve rīka parametriem

Katram rīka parametram ir saistīts parametra objekts ar īpašībām un metodēm, kas ir noderīgas rīka validācijā. Parametri ir iekļauti Python sarakstā. Standarta prakse ir izveidot parametru sarakstu ToolValidator klases __init__ metodē, kā parādīts zemāk esošajā kodā.

Skripta parametriem (atšķirībā no klases ToolValidator) varat piekļūt šādi:

Vienīgais iemesls, kā piekļūt parametru sarakstam skriptā, ir simboloģijas rekvizīta iestatīšana.
Uzziniet vairāk par simboloģijas iestatīšanu skriptos

Parametru secība

Rīka parametri un to secība ir definēti rīka rekvizītu cilnē Parametri, kā parādīts zemāk.

PIEZĪME. Parametru saraksts ir balstīts uz 0, tāpēc pirmais parametrs sarakstā ir nulle. Tātad, lai piekļūtu trešajam parametram

Metodes

Metodes nosaukums Lietojuma apraksts
SetErrorMessage (ziņojums: virkne) Atzīmē parametru kā kļūdu (sarkanu X) ar piegādāto ziņojumu. Rīki netiek izpildīti, ja kādam no parametriem ir kļūda.
SetWarningMessage (ziņojums: virkne) Atzīmē parametru kā brīdinājumu (dzeltens trīsstūris) ar pievienoto ziņojumu. Atšķirībā no kļūdām rīki tiek izpildīti ar brīdinājuma ziņojumiem.
SetIDMessage (messageType: virkne, messageID: virkne, , ) Ļauj iestatīt sistēmas ziņojumu. Argumenti ir vienādi ar metodi AddIDMessage.
ClearMessage () Notīra jebkura ziņojuma tekstu un iestata statusu informatīvs (bez kļūdām vai brīdinājumiem).
HasError () Atgriež vērtību true, ja parametrā ir kļūda.
HasWarning () Atgriež vērtību true, ja parametrā ir brīdinājums.
IsInputValueDerived () Atgriež vērtību true, ja rīks tiek pārbaudīts modeļa iekšienē un ievades vērtība ir cita modeļa rīka izeja.

Rekvizīti
















Īpašuma nosaukums Lasīt rakstīt Vērtība (-as) Apraksts
NosaukumsStīga Parametra nosaukums, kā noteikts rīka rekvizītu cilnē Parametri.
VirziensVirkne: "nput, Output Parametra ievades / izvades virziens, kā noteikts rīka rekvizītu cilnē Parametri.
Datu tipsStīga Datu tips, kā noteikts rīka rekvizītu cilnē Parametri.
ParameterTypeVirkne: obligāta, neobligāta, atvasināta Rakstiet, kā noteikts rīka rekvizītu cilnē Parametri.
ParameterDependencies Python saraksts Katra atkarīgā parametra indeksu saraksts.
Vērtība Vērtības objekts Parametra vērtība.
DefaultEnvironmentNameStīga Vide, kas definēta rīka rekvizītu cilnē Parametri.
IespējotsBūla Nepareizs, ja parametrs ir aptumšots (nav pieejams).
Mainīts Būla Patiesi, ja lietotājs ir mainījis vērtību.
HasBeenValidated Būla Patiesi, ja iekšējā validācijas kārtība ir pārbaudījusi parametru.
Kategorija Stīga Parametra kategorija.
Shēma GP shēmas objekts Izvades datu kopas shēma.
Filtrēt GP Filter objekts Filtrs, ko lietot parametra vērtībām.
Simboloģija Stīga Ceļa nosaukums slāņa failam (.lyr), ko izmanto izvades zīmēšanai.
ZiņojumsStīga Ziņojums, kas jāparāda lietotājam. Skatiet iepriekš SetErrorMessage () un SetWarningMessage ().

Daži kodu piemēri ir parādīti zemāk. Citus kodēšanas piemērus skatiet skripta rīka uzvedības pielāgošana.

ToolValidator īpašības pret skripta rīka īpašībām

Parametra noklusējuma vērtību, filtru, simboliku un atkarības var iestatīt gan skripta rīka rekvizītu dialoga cilnē Parametri, gan klasē ToolValidator, kā parādīts zemāk.

ToolValidator iestatītie rekvizīti vienmēr ignorē skripta rīka rekvizītu iestatījumus. Piemēram, ja skripta rīka rekvizītu dialoglodziņā parametra noklusējuma vērtību iestatāt uz ZILU un iestatījumā InitialParameters () atiestatāt to uz SARKANU, noklusējuma vērtība ir SARKANA. Kad ir izsaukts inicializēt parametrus (), skripta rīka rekvizītu dialoglodziņā kā noklusējuma vērtība tiks rādīts SARKANS. Ja jūs (vai jūsu lietotāji) nonākat situācijā, kad izmaiņas, kuras veicat vienā no šīm četrām parametru īpašībām skripta rekvizītu dialoglodziņā, netiek saglabātas, iespējams, tas ir tāpēc, ka rekvizīts tiek ignorēts rīkā ToolValidator.

ParameterDependencies


  • Izvades datu kopas parametram, kura tips ir atvasināts, atkarība ir tā parametra indekss, no kura tiks iegūta izeja.
  • Atsevišķiem ievades datu tipiem atkarība ir parametra indekss, kurā ir vadības izmantotā informācija, kā parādīts zemāk esošajā tabulā.

Ievades datu tips Atkarīgais datu tips Apraksts
Lauks vai SQL izteiksme Tabula Tabula, kurā ir lauki
INFO vienums vai INFO izteiksme INFO tabula INFO tabula, kurā ir vienumi
Pārklājuma funkciju klase Pārklājums Pārklājums ar funkcijām
Platības vienības vai lineārās vienības Ģeodatu kopa Ģeogrāfiskā datu kopa, ko izmanto noklusējuma vienību noteikšanai
Koordinātu sistēma Darbvieta Darbvieta, ko izmanto noklusējuma koordinātu sistēmas noteikšanai
Tīkla analītiķu hierarhijas iestatījumi Tīkla datu kopa Tīkla datu kopa, kas satur informāciju par hierarhiju
Ģeostatistisko vērtību tabula Ģeostatistiskais slānis Analīzes slānis, kas satur tabulas

Atkarības parasti tiek iestatītas metodē InitializeParameters ():

Vērtība


Šī ir tā parametra vērtība, kuru lietotājs ievadīja vai kuru jūs iestatījāt programmatiski. Vērtību var iestatīt inicializētParameters (), tādā gadījumā tā kalpo kā parametra sākotnējā noklusējuma vērtība. Atbildot uz lietotāja ievadi, vērtības UpdateParameters () var iestatīt arī (piemēru noklikšķiniet šeit).
Neiestatiet parametra vērtību atjauninājumā UpdateMessages (), jo vērtību neapstiprinās iekšējā validācijas kārtība.
Vērtība ir objekts, kuram ir virknes attēlojums. Zemāk esošais koda fragments pārbauda, ​​vai vērtība ir vienāda ar virkni Get Spatial Weights From File. Šis tests darbojas, jo parametra datu tips ir virkne.

Pārbaude iepriekš minētajā kodā nedarbotos, ja parametra datu tips ir objektu klase vai jebkura vērtība, kas apzīmē datu kopu. Pirms virkņu darbību veikšanas vērtības, kas attēlo datus diskā, piemēram, funkciju klases un rastrus, jāpārvērš virknēs. Iebūvētā Python funkcija str () vērtību objektus pārveido par virknēm šādi:

Funkcija str () jāizmanto tikai vērtībām ar datu tipiem, kas apzīmē datu kopas. Šāda veida vērtībām funkcija str () atgriež kataloga ceļu uz datu kopu. Jums nav jāizmanto šī funkcija citiem datu tipiem, piemēram, garai vai lineārai vienībai, jo šie datu tipi nepārstāv datu kopas un tiek automātiski pārveidoti par virknēm.

PIEZĪME. Izmantojot ģeogrāfiskās apstrādes apraksta metodi, nekad neizmantojiet vērtības virknes attēlojumu.

Nepareiza (izmantota str funkcija)

Datu kopām nevajadzētu izmantot virkņu attēlojumu (kas nodrošina kataloga ceļu uz datu kopu), jo datu kopas var nebūt un var būt modeļa mainīgais, un modelis ir jāpalaiž, pirms datu kopa pastāv diskā. Ja datu kopai izmantojat virknes attēlojumu, apraksts var neizdoties, jo datu kopa, iespējams, vēl nepastāv diskā.

PIEZĪME. Nelietojiet ģeogrāfiskās apstrādes objektu metodes, kas rīka validatorā izmanto kataloga ceļu, piemēram, ListFields. Datu kopa, iespējams, nepastāv, ja rīks ir validēts ModelBuilder, un metode var neizdoties. (ListFields gadījumā tā vietā varat izmantot lauku aprakstīšanas metodi.)

Pārbaudot virkņu līdzvērtīgumu, jums jāizmanto salīdzinājumi, kas nav reģistrjutīgi. Zemāk redzamajā kodā parādīts, ka tiek izmantota funkcija Python lower (), lai pazīmētu objektu klases formas tipu un salīdzinātu mazo burtu virknes. (Varat arī izmantot funkciju augšējā (), lai salīdzinātu lielo virkņu virknes.)

Mainīts


Mainīts ir taisnība, ja lietotājs mainīja parametra & # 8212 vērtību, piemēram, ievadot izvades ceļu. Kad parametrs ir mainīts, tas paliek mainīts, līdz lietotājs iztukšo (iztukšo) vērtību, un tādā gadījumā tas atkal nemainās. Programmatiski mainot vērtību ar validācijas kodu, nemainās mainītais stāvoklis. Tas ir, ja parametram iestatāt noklusējuma vērtību, mainītais parametra stāvoklis nemainās.
Mainīts tiek izmantots, lai noteiktu, vai jūs varat mainīt parametra vērtību. Pieņemsim, ka rīkam ir parametru klases parametrs un atslēgvārda parametrs. Ja objektu klasē ir punkti vai daudzstūri, atslēgvārdi ir SARKANA, ZAĻA un ZILA, un ja līnijas - ORANŽS, DZELTENS, PURPLE un BALTS.
Pieņemsim, ka lietotājs ievada punktu funkciju klasi. Ja atslēgvārda parametrs netiek mainīts, jūs iestatāt vērtību RED, jo tā ir noklusējuma vērtība.
Ja viņi pēc tam ievada līnijas pazīmju klasi, jūs iestatāt noklusējuma vērtību ORANGE, kamēr atslēgvārda parametrs nav mainīts.
Tomēr, ja lietotājs ir mainījis atslēgvārda parametru (tas ir, atslēgvārds ir iestatīts uz ZAĻU), nevajadzētu atiestatīt atslēgvārdu & # 8212lietotājs ir izdarījis izvēli (ZAĻŠ) un jūs nezināt viņa nodomu & # 8212viņi var mainīt objektu klasi tā, lai būtu derīga ZAĻA, vai mainītu atslēgvārdu (piemēram, uz PURPLE). Tā kā GREEN nav tās rindas izveidotās atslēgvārdu kopas dalībnieks, iekšējā validācija atzīmē parametru par kļūdu. Lietotājam šajā brīdī ir divas iespējas & # 8212 nomainīt ievades funkciju klasi vai mainīt atslēgvārdu.

HasBeenValidated


HasBeenValidated ir nepatiesa, ja lietotājs ir mainījis parametra vērtību kopš pēdējās atjaunināšanas un parametru izsaukšanas reizes. Kad ir izsaukta iekšējā validācija, ģeogrāfiskā apstrāde automātiski nosaka parametra HasBeenValidated vērtību kā patiesu.
HasBeenValidated tiek izmantots, lai noteiktu, vai lietotājs ir mainījis vērtību kopš pēdējā atjaunināšanas parametru () izsaukuma. Šo informāciju varat izmantot, lai izlemtu, vai pats veikt parametra pārbaudi.

Kategorija


Jūs varat ievietot parametrus dažādās kategorijās, lai samazinātu rīka dialoga lielumu. Tīkla analītiķa rīkos tiek izmantotas kategorijas, kā parādīts zemāk.

Tā kā kategoriju var iestatīt tikai vienu reizi, iestatiet to sadaļā initizeParameters (). Kategoriju iestatīšana vietnē updateParameters () neietekmē. Zemāk redzamais kods parāda 4. un 5. parametra ievietošanu kategorijā Opcijas un 6. un 7. parametrs kategorijā Papildu.

Kategorijas vienmēr tiek rādītas pēc nekategorizētiem parametriem. Neievietojiet nepieciešamos parametrus kategorijās, jo lietotājs tos var neredzēt.

Simboloģija


Simboloģijas rekvizīts saista slāņa failu (.lyr) ar izejas parametru.

Katram veida parametru klases, tabulas, rastra vai darbvietas izvades parametram ir shēmas objekts. Tikai izvades funkciju klasēm, tabulām, rastriem un darbvietām ir shēma, un citos veidos nav. Shēmas objekts jums tiek izveidots, veicot ģeoprocesēšanu. Šai shēmai varat piekļūt, izmantojot parametra objektu, un iestatāt rīkus izvades aprakstīšanas kārtulas. Pēc shēmas kārtulu iestatīšanas un pēc atgriešanās no klases ToolValidator ģeogrāfiskās apstrādes iekšējais validācijas kods pārbauda iestatītos noteikumus un atjaunina izvades aprakstu.

  1. Kad rīka dialoglodziņš tiek atvērts pirmo reizi, tiek izsaukts initizeParameters (). Jūs izveides aprakstīšanai iestatāt statiskos noteikumus (kārtulas, kas nemainās, pamatojoties uz lietotāja ievadi). Pašlaik nav izveidots izvades apraksts, jo lietotājs nav norādījis neviena parametra vērtības (ja vien neesat norādījis noklusējuma vērtības).
  2. Kad lietotājs jebkādā veidā mijiedarbojas ar rīka dialogu, tiek izsaukts updateParameters ().
  3. updateParameters () var modificēt shēmas objektu, lai ņemtu vērā dinamisko uzvedību, kuru nevar noteikt pēc parametru atkarībām (piemēram, pievienojot jaunu lauku, piemēram, Pievienot lauku).
  4. Pēc atgriešanās no updateParameters () tiek izsauktas iekšējās validācijas rutīnas un tiek piemēroti shēmas objektā atrasti noteikumi, lai atjauninātu izejas datu aprakstu.
  5. Pēc tam tiek izsaukts updateMessages (). Varat pārbaudīt brīdinājuma un kļūdu ziņojumus, kurus, iespējams, ir izveidojusi un modificējusi iekšējā validācija, vai pievienot savus pielāgotos brīdinājuma un kļūdu ziņojumus.

Īpašuma nosaukums Vērtība (-as)
Tips Virkne: iezīme, tabula, rastrs, konteiners (darbvietām un funkciju datu kopām). (Tikai lasāms īpašums.)
Klons Būla
FeatureTypeRule Virkne: AsSpecified, FirstDependency
FeatureType Stīga: vienkārša, anotācija, dimensija
GeometryTypeRule Virkne: Nezināma, FirstDependency, Min, Max, AsSpecified
GeometryType Stīga: Punkts, Daudzpunktu, Polilīns, Daudzstūris
ExtentRule Stīga: AsSpecified, FirstDependency, Krustojums, Savienība, Vide
Apjoms Apjoms objekts
FieldsRule Virkne: nav, FirstDependency, FirstDependencyFIDsOnly, All, AllNoFIDs, AllFIDsOnly
Papildu lauki Python lauku objektu saraksts
CellSizeRule Virkne: AsSpecified, FirstDependency, Min, Max, Environment
Cellsize dubultā
RasterRule Virkne: FirstDependency, Min, Max, Integer, Float
RasterFormatRule Stīgas: Img, Režģis
PapilduBērni Python datu kopu saraksts, kas jāpievieno darbvietas shēmai.

Izmantojot FirstDependency

Vairākas kārtulas var iestatīt uz FirstDependency, kas nozīmē izmantot pirmā parametra vērtību, kas atrasta parametru atkarības masīvā, kas iestatīts ar parametru.ParameterDependencies. Zemāk esošajā kodu piemērā 2. parametram ir divi atkarīgi parametri - 0 un 1, un pirmā atkarība ir parametrs 0.

Ja kāds atkarīgs parametrs ir daudzvērtība (vērtību saraksts), tiek izmantota pirmā vērtība daudzvērtību sarakstā.

Lieta nejutīga

Shēmas objekta kārtulās un metodēs tiek lietotas teksta nejutīgas teksta virknes. Piemēram, “AsSpecified” un “asspecified” ir līdzvērtīgi.

Rekvizīts Type ir tikai lasāms un tiek iestatīts, veicot ģeoprocesēšanu.

Klons

  • Ja parametrs.ParameterType ir atvasināts, tiek veikta precīza kopija. Tā rīkojas rīks Pievienot lauku.
  • Ja parametrs.ParameterType ir nepieciešams, tiek izgatavota arī precīza kopija, bet kataloga ceļš uz datu kopu tiek mainīts. Kataloga ceļi sastāv no divām daļām: darbvietas un bāzes nosaukuma. Piemēram

Darbvieta = E: Data TestData netcity.gdb infrastruktūra un Bāzes nosaukums = ceļi


  • Bāzes nosaukums ir tāds pats kā pirmā ievades parametra bāzes nosaukums, kas satur datu kopu (nevis pirmo atkarību, bet pirmo parametru), kas pievienots kopā ar skripta rīka nosaukumu (piemēram, ceļi_MyTool).
  • Darbvietā ir iestatīts nulles darbvietas vides iestatījums. Ja tas ir tukšs, tiek izmantots pašreizējais darbvietas vides iestatījums. Ja tas ir tukšs, tiek izmantota pirmā ievades parametra, kurā ir datu kopa, darbvieta. Ja šī darbvieta ir tikai lasāma, tiek izmantots sistēmas temp direktorijs.

Pēc Clone iestatīšanas uz true, visām kārtulām balstītajām metodēm, piemēram, FeatureTypeRule, GeometryTypeRule un ExtentRule, tiek iestatīta vērtība FirstDependency.

Abi tālāk minētie kodu piemēri veic līdzvērtīgu darbu. Abi piemēri ir balstīti uz to, kā Clip rīks izveido izvades shēmu.
1. piemērs: skaidri jānosaka visi noteikumi


2. piemērs: Clone izmantošana, lai iestatītu kārtulas FirstDependency, pēc tam ignorējot pakāpi

FeatureTypeRule

Šis iestatījums nosaka izvades funkciju klases objekta tipu. Šis noteikums neietekmē izvades rastrus vai tabulas.

Vērtība Apraksts
AsSpecified Funkcijas veidu noteiks rekvizīts FeatureType.
Pirmāatkarība Funkcijas tips būs tāds pats kā pirmais parametrs atkarībās. Ja pirmais atkarīgs parametrs ir daudzvērtība (vērtību saraksts), tiek izmantota pirmā vērtība daudzvērtību sarakstā.

FeatureType

Ja FeatureTypeRule ir AsSpecified, FeatureType vērtība tiek izmantota, lai norādītu izejas objekta tipu.

Vērtība Apraksts
Vienkārši Izejā būs vienkāršas funkcijas. Funkciju ģeometrijas tips ir norādīts ar GeometryTypeRul.
Anotācija Izejā būs anotācijas funkcijas.
Dimensija Izejā būs dimensijas funkcijas.

GeometryTypeRule

Šis iestatījums nosaka izvades funkciju klases ģeometrijas tipu (piemēram, punktu vai daudzstūri).

Vērtība Apraksts
Nezināms Šis ir noklusējuma iestatījums. Parasti jums vajadzētu būt iespējai noteikt ģeometrijas tipu updateParameters (), pamatojoties uz citu parametru vērtībām. Kārtulu iestatījāt uz Nezināms tikai tad, ja jums nav pietiekami daudz informācijas, lai noteiktu ģeometrijas tipu, piemēram, inicializētuParameters ().
Pirmāatkarība Ģeometrijas tips ir tāds pats kā pirmais atkarīgais parametrs. Ja pirmais atkarīgs parametrs ir daudzvērtība (vērtību saraksts), tiek izmantota pirmā vērtība daudzvērtību sarakstā.
Min., Maks Pārbauda visu atkarīgo parametru ģeometriju un iestata izejas ģeometrijas tipu uz minimālo vai maksimālo atrasto tipu. Min un Max ir definēti šādi:

Tātad, ja atkarīgie parametri būtu punktu un daudzstūru pazīmju klase, minimums būtu punkts un maksimums būtu daudzstūris.

AsSpecified Ģeometrijas veidu noteiks rekvizīta GeometryType vērtība.

GeometryType

Iestatiet to ģeometrijas tipam, ko izmantot (vai nu punktu, daudzpunktu, polilīniju vai daudzstūri), ja GeometryTypeRule ir AsSpecified.

ExtentRule

Vērtība Apraksts
AsSpecified Izvades apjoms tiks norādīts rekvizītā Extent.
Pirmāatkarība Izvades apjoms ir tāds pats kā pirmajam atkarīgajam parametram. Ja pirmais atkarīgs parametrs ir daudzvērtība (vērtību saraksts), tiek izmantota pirmā vērtība daudzvērtību sarakstā.
Krustojums Izvades apjoms būs visu atkarīgo parametru ģeometriskais krustojums. (To izmanto Clip rīks, kā parādīts zemāk.)
Savienība Izvades apjoms būs visu atkarīgo parametru ģeometriskā savienība.
Vide Izvades apjomu aprēķinās, pamatojoties uz izejas apjoma vides iestatījumu.

Piemērs

Apjoms

Iestatiet to tādā mērā, lai izmantotu, kad ExtentRule ir AsSpecified. Varat iestatīt pakāpi ar atstarpēm norobežotu virkni vai Python saraksta objektu ar četrām vērtībām. Secība ir xmin, ymin, xmax, ymax.
Piemērs

FieldsRule

FieldsRule nosaka, kādi lauki pastāvēs izvades funkciju klasē vai tabulā.

Zemāk esošajā tabulā FID nozīmē Feature ID, bet faktiski attiecas uz lauku ObjectID, kas atrodams katrā objektu klasē vai tabulā.

Vērtība Apraksts
Nav Neviens lauks netiks izvadīts, izņemot objekta ID.
Pirmāatkarība Izejas lauki būs tādi paši kā pirmais atkarīgais parametrs. Ja pirmais atkarīgs parametrs ir daudzvērtība (vērtību saraksts), tiek izmantota pirmā vērtība daudzvērtību sarakstā.
FirstDependencyFIDsOnly Izvadei tiks ierakstīts tikai pirmās atkarīgās ievades ObjectID.
Viss Visi atkarīgo parametru saraksta lauki tiks izvadīti.
"lLNoFIDs Visi lauki, izņemot ObjectIDs, tiks ierakstīti izvadē.
"llFIDTikai Visi ObjectID lauki tiek ierakstīti izvadē, bet citi lauki no ieejām netiks rakstīti.

Klipa piemērs, izmantojot FirstDependency FieldsRule

Papildu lauki

Papildus laukiem, kurus pievieno FieldsRule lietojumprogramma, izvadei varat pievienot papildu laukus. AdditionalFields aizņem lauka objektu Python sarakstu.

CellSizeRule

Tas nosaka izvades rastru vai režģu šūnu lielumu.

Vērtība Apraksts
AsSpecified Izvades šūnas izmērs ir norādīts īpašumā CellSize.
Pirmāatkarība Šūnas lielumu aprēķina pēc pirmā atkarīgā parametra. Ja atkarīgais parametrs ir rastrs, tiek izmantots tā šūnu lielums. Citiem atkarīgo parametru veidiem, piemēram, pazīmju klasēm vai objektu datu kopām, šūnu apjoma aprēķināšanai tiek izmantots datu apjoms.
Ja pirmais atkarīgs parametrs ir daudzvērtība (vērtību saraksts), tiek izmantota pirmā vērtība daudzvērtību sarakstā.
Min., Maks Min nozīmē, ka izvades šūnas izmērs ir mazākais šūnu lielums no atkarīgajiem parametriem. Max nozīmē, ka tas ir lielākais šūnu lielums no atkarīgajiem parametriem.
"Vide" Izejas cel lsize tiek aprēķināta, pamatojoties uz šūnu lieluma vides iestatījumu.

CellSize

Iestatiet to uz šūnu lielumu, kas jāizmanto, kad CellSizeRule ir AsSpecified.

RasterRule

Tas nosaka datu tipu & # 8212integer or float & # 8212, kas ietverts izejas rastrā.

Vērtība Apraksts
Pirmāatkarība Datu tips (vesels skaitlis vai pludiņš) ir tāds pats kā pirmais atkarīgais parametrs. Ja pirmais atkarīgs parametrs ir daudzvērtība (vērtību saraksts), tiek izmantota pirmā vērtība daudzvērtību sarakstā.
Min., Maks Vesels skaitlis tiek uzskatīts par mazāku nekā pludiņš. Piemēram, ja ir divi atkarīgi parametri, no kuriem viens satur veselus skaitļus, bet otrs - ar pludiņiem, Min izveido vesela skaitļa izvadi, bet Max - pludiņu.
Vesels skaitlis Izejas rastrs satur veselus skaitļus (veselus skaitļus).
Peldēt Izejas rastrs satur pludiņus (daļskaitļus).

RasterFormatRule

Tas nosaka izvades rastra formātu - režģi vai attēlu. Noklusējums ir Img, kas ir ERDAS IMAGINE formāts. Režģis ir ESRI formāts.

PapilduBērni

Darbvieta ir datu kopu (līdzekļu, tabulu un rastru) konteiners. Šīs datu kopas ir darbvietas bērni (domājiet par darbvietu kā par vecāku). Ja jūsu rīks pievieno datu kopas jaunai vai esošai darbvietai, varat atjaunināt darbvietas aprakstu, pievienojot bērnu aprakstus. Piemēram, jums var būt rīks, kas ņem objektu klašu sarakstu (daudzvērtību), kaut kādā veidā tos modificē, pēc tam modificētās objektu klases raksta esošā darbvietā. Ja rīks tiek izmantots ModelBuilder, darbvieta ir atvasināta rīka izeja, un jūs varat izmantot šo darbvietu kā ievades rīku Atlasīt datus. Atlasīt datus ļauj atlasīt konteinerā atrasto bērnu datu kopu un izmantot to kā ievadu citam rīkam.
Ievads AdditionalChildren ir viens vai vairāki bērnu apraksti. Ir divi bērnu aprakstu veidi:

Veidlapa Apraksts
Ģeoprocesēšanas vērtības objekts Funkciju klase, tabula, rastra, dimensijas vai anotācijas vērtība, ko atdeva, piemēram, Value metode

Formas Python saraksta objekts [tips, nosaukums, lauki, apjoms, telpiskā atsauce] Python saraksts ar pievienojamā bērna aprakstu. Nepieciešami tikai pirmie divi saraksta ieraksti, tips un nosaukums. Pārējie argumenti nav obligāti.

Pievienojot vairāk nekā vienu bērnu, jūs norādāt bērnu aprakstu sarakstu. Ja pievienojat bērnus, izmantojot Python saraksta objekta veidlapu, jūs izveidosiet sarakstu ar papildu bērniem.
Skatiet Python sarakstu un sarakstu sarakstu izmantošanas piemērus

Python saraksta formā ir pieci argumenti, kā aprakstīts nākamajā tabulā.

Tālāk ir sniegti daži darbvietas shēmas iestatīšanas piemēri. Piemēri ir balstīti uz skripta rīku, kuram ir šādi argumenti:


Parametra nosaukums Rekvizīti
0 Ievades funkciju klase Funkciju klase & # 8212Input
1 Ievades tabula Tabula & # 8212Ievade
2 Ievades darbvieta Darbvieta & # 8212Input (esoša darbvieta, kas satur rīka rezultātus).
3 Atvasinātā darbvieta Darbvieta un # 8212 atvasināta izeja, kas iegūta no vietnes Input_workspace. Šīs darbvietas shēma ir modificēta, lai tajā būtu papildu bērni.

Rīks ņem ievades funkciju klasi un tabulu, abus kopē darbvietā, iezīmju klasei pievieno jaunu lauku, pēc tam darbvietā izveido jaunu daudzstūra iezīmju klasi. (Faktiskais rīka darbs nav svarīgs, jo tas tikai ilustrē darbvietas shēmas iestatīšanu.) Tālāk redzamie kodu piemēri balstās viens uz otru, sākot ar vienkāršu AdditionalChildren lietošanu. Ja izvēlaties ieviest un pārbaudīt dažus zemāk redzamos kodu piemērus, varat pārbaudīt kodu, izmantojot tālāk parādīto modeli.

InicializeParameters () izvades darbvieta tiek klonēta no tā atkarīgā parametra (2. parametrs). Šī atkarība ir iestatīta rīka rekvizītos, bet to var iestatīt arī sākotnējā parametrā (), lai pasargātu no tā, ka kāds noņem atkarību rīka īpašībās.

Piemērs: nokopējiet abas ievades (bez izmaiņām) izejas darbvietā:


Piemērs: rīks izveido jaunu daudzstūra pazīmju klasi. Vienīgās īpašības, kas zināmas par šo jauno funkciju klasi (pārbaudot), ir nosaukums (SummaryPolygon) un tips (daudzstūris).

Piemērs: Pievienojiet lauku ievades funkciju klasei.

Lai izveidotu laukus SummaryPolygon (jaunajai daudzstūra pazīmju klasei), izveidojiet lauku objektu sarakstu, kas līdzīgs iepriekš minētajā piemērā parādītajam paraugam.

Piemērs: Daudzvērtību ievade.
Šajā piemērā pirmais parametrs ir objektu klases daudzvērtība. Katra daudzvērtību objektu klase tiek kopēta atvasinātajā darbvietā. Katrai no kopētajām objektu klasēm tiek pievienots jauns lauks ProjectID.

  • Filtrs sniedz lietotājam derīgas izvēles tikai tad, kad pārlūko datus. Ja filtru iestatāt punktu funkciju klasēm, lietotājs pārlūko datus, kad tiek rādītas punktu punktu klases. Ja iestatāt filtru teksta laukiem, nolaižamajā lauku sarakstā tiek parādīti tikai teksta lauki.
  • Ja lietotājs ievada parametra vērtību (nevis izvēlas vērtību no saraksta vai failu pārlūka), vērtība tiek pārbaudīta pret filtru. Ja lietotājs ievada nederīgu vērtību (piemēram, ciparu lauku, nevis teksta lauku), automātiski tiek parādīts brīdinājums vai kļūda.
  • Tā kā vērtības tiek salīdzinātas ar to filtru, veicot iekšēju pārbaudi, filtrs atbrīvo jūs no nepieciešamības programmēt savu pielāgoto validāciju rīkvalidatora klasē.

Filtrus var norādīt divos veidos.

  • Rīka rekvizītu dialoglodziņa cilnē Parametri noklikšķiniet uz parametra, pēc tam noklikšķiniet uz šūnas blakus Filtrs un nolaižamajā sarakstā izvēlieties filtra veidu. Pēc filtra veida izvēles tiek atvērts dialoglodziņš, kurā norādāt filtra vērtības.

  • Programmatūrā ToolValidator varat iestatīt vērtības (piemēri sniegti tālāk). Ģeogrāfiskā apstrāde automātiski izveido filtrus virknes, garā, dubultā, funkciju klases, faila, lauka un darbvietas parametriem. Pat ja jūs neizvēlaties filtru rīka rekvizītu dialoglodziņā, joprojām ir filtrs, kas saistīts ar parametru & # 8212it ir tikai tukšs. Tukšs filtrs ir tas pats, kas bez filtra. Pievienojot vērtības tukšam filtram, jūs aktivizējat filtru, un lietotāja izvēli ierobežo filtra saturs.

Ir seši filtru veidi, kā parādīts zemāk esošajā tabulā.

Filtra tips Vērtības
Vērtību saraksts Virknes vai skaitlisko vērtību saraksts. Izmanto ar virkņu, gariem, dubultiem un Būla datu tipiem.
Diapazons Minimālā un maksimālā vērtība. Izmanto kopā ar Long un Double datu tipiem.
FeatureClass Pieļaujamo pazīmju klases veidu saraksts, kas norādīts ar vērtībām Punkts, Daudzpunkti, Polilīne, Daudzstūris, Daudzkārtīgs, Sfēra, Anotācija, Dimensija. Filtram var piegādāt vairāk nekā vienu vērtību.
Fails Failu sufiksu saraksts. Txt, e00, ditamap piemērs.
Lauks Pieļaujamo lauku tipu saraksts, ko norāda vērtības Īsa, Gara, Viena, Divkārša, Teksts, Datums, OID, Ģeometrija, Blobs, Rastrs, GUID, GlobalID, XML. Filtram var piegādāt vairāk nekā vienu vērtību.
Darbvieta Pieļaujamo darbvietu tipu saraksts, ko norāda vērtības FileSystem, LocalDatabase un RemoteDatabase. Var piegādāt vairāk nekā vienu vērtību.

Rekvizīti

Īpašums Apraksts
Tips Filtra veids (ValueList, Range, FeatureClass, File, Field un Workspace). Strādājot ar gariem un dubultiem parametriem, varat iestatīt filtra veidu (skatīt piezīmi zemāk). Citiem parametru veidiem ir tikai viens derīgs filtru veids, tāpēc tipa iestatīšana šiem parametriem tiek ignorēta. Ja nevēlaties filtrēt vērtības, iestatiet rekvizītu List tukšam sarakstam.
Saraksts Python filtru vērtību saraksts. Ja nevēlaties filtrēt vērtības, iestatiet rekvizītu List tukšam sarakstam.

Vērtību saraksts

Virknes parametru virkne ValueList
Virknes parametram sarakstā var būt jebkurš virkņu skaits. Tālāk ir sniegts virknes vērtību saraksta iestatīšanas piemērs InitializeParameters. Parametrā ir divas izvēles: NEW_FORMAT un OLD_FORMAT.

Iepriekš minētajā piemērā jūs varētu tikpat viegli iestatīt vērtību sarakstu rīka rekvizītu dialoglodziņa cilnē Parametri. Patiesībā, ja rīka rekvizītos vērtību iestatījāt uz kaut ko citu (piemēram, OLD un NEW), šīs vērtības tiktu aizstātas ar OLD_FORMAT un NEW_FORMAT, kad tiek izsauktas initizeParameters (). Tas pats attiecas uz noklusējuma vērtību & # 8212it var iestatīt rīka rekvizītu dialoglodziņā un pēc tam atiestatīt rīkā ToolValidator.

PIEZĪME. ToolValidator norādīto vērtību saraksts vienmēr aizstāj vērtības, kas iestatītas rīka rekvizītu dialoglodziņā. Šī darbība ļauj atjaunināt vērtības, pamatojoties uz citiem parametriem.

Turpinot šo piemēru, zemāk redzamajā kodā tiek parādīts updateParameters (), kas maina citu parametru vērtību sarakstu atkarībā no tā, vai lietotājs izvēlējās OLD_FORMAT vai NEW_FORMAT:

ValueList gariem un dubultiem parametriem
Garam vai dubultam parametram var būt skaitlisko vērtību saraksts. Lietotājs var izvēlēties vai ievadīt tikai vērtības, kas ir sarakstā.

Būla parametru ValueList
Būla parametram ir divas vērtības: patiesā vērtība un nepatiesa vērtība. Patiesā vērtība vienmēr ir pirmā vērtība sarakstā.

Diapazons

Garam vai dubultam parametram var būt diapazona filtrs. Diapazona filtriem ir divas vērtības - minimālā un maksimālā. Pirmā vērtība sarakstā ir minimālā. Diapazons ir iekļauts, tas nozīmē, ka minimālā un maksimālā ir derīga izvēle.

Filtra veida iestatīšana gariem un dubultiem parametriem

Gariem un dubultiem parametriem noklusējuma filtra tips ir ValueList. Ja vēlaties, lai tas būtu diapazona filtrs, iestatiet filtra tipu inicializētParameters () šādi:

Filtra veidu var iestatīt tikai parametriem Long un Double.

FeatureClass

Tālāk sniegtajā piemērā parādīts viena ievades parametra elementa veida iestatīšana, pamatojoties uz cita ievades parametra iezīmes tipu.

Failu filtrā ir failu sufiksu saraksts, kas var būt failā, piemēram, txt (vienkāršs teksta fails) un csv (ar komatu atdalīta vērtība). Jūs varat piegādāt jebkuru tekstu sufiksam, un # 8212 tam nav jābūt sufiksam, kuru ArcGIS atpazīst. Sufikss var būt jebkura garuma, un tajā nav iekļauts punkts. Tālāk sniegtajā piemērā parādīts filtra iestatīšana ievades faila parametram.

Lauks

Lauka filtrs nosaka pieļaujamos lauku veidus. Vērtības var būt īsas, garas, vienas, dubultas, teksta, datuma, OID, ģeometrijas, lāse, rastra, GUID, GlobalID, XML.

Displejs pret iekšējo nosaukumu
Ir četri lauku veidi, kuriem ir iekšējais nosaukums, kas parādīts zemāk esošajā tabulā.

Parādāmais vārds Iekšējais nosaukums
Īss SmallInteger
Garš Vesels skaitlis
Peldēt Viens
Teksts Stīga

Norādot lauka filtru, varat izmantot displeja vai iekšējo nosaukumu. That is, the following two lines of code are equivalent:

If you supply the display name, such as "short", it is converted and stored in the filter as "SmallInteger." You should rarely need to access values in the field filter, but if you do, be aware that the internal name is stored. The code snippet below shows how to account for this:

Setting a default field value

You may want to provide a default value for a field parameter. The way you do this is to loop through the fields on the input table and pick the first field that satisfies the filter, as follows:

NOTE: Do not use the geoprocessing ListFields method in ToolValidator. Instead, use the Describe method as shown above.

Workspace

The workspace filter specifies the types of input workspaces that are permissible. There are three values:


    FileSystem
    A system folder used to store shapefiles, ArcInfo coverages, INFO tables, and grids


SAGA GIS

Sveiki!
I downloaded SAGA 2.2.2, including ArcSAGA Toolboxes. When I loaded Terrain Analysis - Hidrology in ArcMap, all the tools had an red x on their icon and the name was just "tool_1", "tool_2", . , "tool_25". I edited the toolbox Terrain Analysis - Hydrology.pyt and replaced the parameters datatype keyword (like "GPRasterLayer") with the data type (like "Raster Layer") according to http://pro.arcgis.com/en/pro-app/arcpy/geoprocessing_and_python/defining-parameter-data-types-in-a-python-toolbox.htm.
After this step the red x from the tools icons disappeared, the name of the tools was properly displayed and I was able to run them. I runned Upslope area because I want to integrate it in a geoprocessing model but it failed. I runned it in saga and qgis and I obtained the desired result. Than I used the same input rasters (like in qgis) in ArcMap but the tool still failed.
Here is the log from arcmap:
Executing: tool_4 targetRaster.tif 0 0 elevationRaster.tif # G:Doctoratupslope_areawgs esultRaster.tif "Multiple Flow Direction" 1.1
Start Time: Tue Dec 08 18:21:30 2015
Running script tool_4.

saga_cmd ta_hydrology 4 -TARGET targetRaster.tif -TARGET_PT_X 0 -TARGET_PT_Y 0 -ELEVATION elevationRaster.tif -AREA C:Usersuser2AppDataLocalTemparc55DDarc_saga_12.sgrd -METHOD Multiple Flow Direction -CONVERGE 1.1
. failed to run SAGA tool!
Completed script tool_4.
Failed to execute (tool_4).
Failed at Tue Dec 08 18:21:30 2015 (Elapsed Time: 0.00 seconds)

All the other tools from this toolbox (Terrain Analysis - Hydrology.pyt) failed in the same way.

Can you, please, tell me what should I do in order to be able to run Upslope area in ArcMap?
Thank you in advance!

the ArcSAGA toolboxes are still in an early state of development and - because I don't work that much with ArcGIS - I am very glad to get this feedback from you.

I started to develop the toolboxes using ArcGIS v10.3.1 and following the documentation for this version data types should be named like 'GPRasterLayer' or 'GPTableView'. As you already figured out version 10.1 uses slightly different namings. Therefore I included in the SAGA installation folder two subdirectories, 'ArcSAGA Toolboxes' following the current naming convention and 'ArcSAGA Toolboxes 10.1' for compatibility with the older one (ArcPython toolboxes have been introduced by ESRI with this version). The toolboxes in the latter should have worked for you without any code changes (please check if this is true).

The next problem seems to be a bit more serious and the error message is not really helpful. To obtain more information about the error you can create log files. To enable logging for ArcSAGA calls you have to edit the 'ArcSAGA.py' file in the 'ArcSAGA Toolboxes' folder. Here you have to remove the leading '#' in line 9:

By default log files are stored in the same folder as the 'ArcSAGA.py' file, but you might direct it to another destination:

You might need to restart ArcGIS before changes take effect. But this might give essential information for solving your problem.


Sample data

Locate and make a copy of the Brays Bayou, TX sample data that is provided online at http://apps.vieuxinc.com/sampleData/Example_GIS.zip . The sample data files will be named as shown at right. The sample data is to be used as a learning tool as the user follows the tutorial instructions. The sample parameter data are useful for demonstrating how to prepare parameter maps for use in V flo ™ when V flo ™ parameters are set up for other watersheds, however, parameter information that is representative of the particular watershed being modeled must be used.


Which parameter and Data Type to set for spatial reference in ArcGIS Python script tool? - Ģeogrāfiskās informācijas sistēmas

The submitJob operation is performed on an asynchronous GP task resource. The result of this operation is a GP job resource. You can provide arguments to the submitJob operation as query parameters defined in the parameters table below.

Parametri

Parameter Details
f Description : The response format. The default response format is html.

The spatial reference can be specified as either a well-known ID or as a spatial reference json object.

The spatial reference can be specified as either a well-known ID or as a spatial reference json object.

Example Usage

With this operation, the majority of the parameters that you include in your request are dependent on the input parameter types of the geoprocessing task that you are submitting. Note that the GP execute and submit job operations share the same syntax for all input parameter types and examples of all input parameter types are discussed below.

1. piemērs: Submit a job to the Mailing List task for Parcel ID '1N1E34CC -06600' within a search distance of 100 feet:

2. piemērs: Submit a job to the task similar to Example 1 but request the output spatial reference to be Web Mercator (102113):

JSON Response Syntax and Example

See the JSON Response Syntax and Examples for the GP job resource.

Input Parameter Values

As discussed above, the values provided for the input parameters are dependent on the data type of the parameter. The following examples show the input parameter syntax based on the parameter data type.

GPBoolean, GPDouble, GPLong and GPString

For the simple data types and the parameter values GPBoolean, GPDouble, GPLong and GPString, use their literal values.

GPLinearUnit

The parameter value for GPLinearUnit is a JSON structure with the following fields.

  • distance : a double value.
  • units : a string with unit values such as "esriMeters" or "esriMiles" .

GPFeatureRecordSetLayer and GPRecordSet

The parameter value for GPFeatureRecordSetLayer and GPRecordSet is a JSON structure containing either the field "features" or the field "url".

The "features" field is an array of features. Each feature in turn contains the following fields.

  • "geometry" : can be points, lines or polygons. The structure for the geometries is same as the structure of the json geometry objects returned by the ArcGIS REST API.
  • "attributes" : key-value pairs where the key is a field name in the list of fields of the record set, and the value is the value for the corresponding field.

Note that values for GPFeatureRecordSetLayer contain the "geometry" field while values for GPRecordSet do not.

For "schema-less" input features, those feature sets where the geometry type or spatial reference is not specified by the model publisher, you must provide the geometry type and the spatial reference in addition to the features as specified below:

The geometryType can be esriGeometryPoint, esriGeometryPolyline, or esriGeometryPolygon. If the geometry type is not specified, it is assumed to be esriGeometryPoint. If the spatialReference is not specified, it is defaulted to an unknown coordinate system.

For a large set of geometries, you can specify a URL to the input geometries stored in a JSON structure in a file on a public server.

GPDate

The parameter value for GPDate is a number that represents the number of milliseconds since epoch (January 1, 1970) in UTC.

Note that the alternate JSON structure representation specified below has been deprecated at 10.

The parameter value for GPDate is a JSON structure with the following fields.

  • "date" : a string value representing the date.
  • "format" : a string specifying the format for the date.

GPDataFile

The parameter value for GPDataFile is a JSON structure with a "url" field. The value of the "url" field is a URL to the location of the input data file.

GPRasterData and GPRasterDataLayer

The parameter value for GPRasterData and GPRasterDataLayer data types is a JSON structure with the the following fields.

  • "url" : URL to the location of the input raster data file.
  • "format" : the format of the raster data such as "jpg", "tif", etc.

GPMultiValue

Note that support for the GPMultiValue parameter type was added at 10

The fully-qualified data type for a GPMultiValue parameter is GPMultiValue:<memberDataType> , where memberDataType is one of the data types defined above. For ex. GPMultiValue:GPString , GPMultiValue:GPLong , etc.

Note that at 10 only GPMultiValue:GPString data type is supported

The parameter value for GPMultiValue data types is a JSON array. Each element in this array is of the data type as defined by the memberDataType suffix of the fully-qualified GPMultiValue data type name.


Working with Geoprocessing Tools in Scripts - PowerPoint PPT Presentation

PowerShow.com ir vadošā prezentāciju / slaidrāžu koplietošanas vietne. Neatkarīgi no tā, vai jūsu pieteikums ir bizness, apmācība, izglītība, medicīna, skola, baznīca, pārdošana, mārketings, tiešsaistes apmācība vai tikai izklaidei, PowerShow.com ir lielisks resurss. Un pats labākais, ka lielākā daļa tā atdzist funkciju ir bezmaksas un viegli lietojamas.

Varat izmantot programmu PowerShow.com, lai atrastu un lejupielādētu tiešsaistes PowerPoint ppt prezentāciju piemērus par jebkuru tēmu, kuru varat iedomāties, lai jūs varētu uzzināt, kā bez maksas uzlabot savus slaidus un prezentācijas. Vai arī izmantojiet to, lai atrastu un lejupielādētu augstas kvalitātes PowerPoint ppt prezentācijas ar ilustrētiem vai animētiem slaidiem, kas iemācīs jums darīt kaut ko jaunu, arī bez maksas. Vai arī izmantojiet to, lai augšupielādētu savus PowerPoint slaidus, lai jūs varētu tos kopīgot ar skolotājiem, klasi, studentiem, priekšniekiem, darbiniekiem, klientiem, potenciālajiem investoriem vai pasauli. Vai arī izmantojiet to, lai izveidotu ļoti foršas fotoattēlu slaidrādes - ar 2D un 3D pārejām, animāciju un jūsu izvēlēto mūziku - kuras varat kopīgot ar saviem Facebook draugiem vai Google+ lokiem. Arī tas viss ir bez maksas!

Par nelielu samaksu jūs varat iegūt nozares labāko tiešsaistes privātumu vai publiski reklamēt savas prezentācijas un slaidrādes ar augstāko rangu. Bet bez tā tas ir bez maksas. Mēs pat pārveidosim jūsu prezentācijas un slaidrādes universālajā Flash formātā ar visu to sākotnējo multimediju krāšņumu, ieskaitot animāciju, 2D un 3D pārejas efektus, iegultu mūziku vai citu audio vai pat slaidos ievietotu video. Viss bez maksas. Lielāko daļu PowerShow.com sniegto prezentāciju un slaidrāžu var bez maksas apskatīt, daudzas pat bez maksas var lejupielādēt. (Jūs varat izvēlēties, vai ļaut cilvēkiem lejupielādēt jūsu oriģinālās PowerPoint prezentācijas un fotoattēlu slaidrādes par maksu vai bez maksas vai vispār.) Apskatiet PowerShow.com šodien - BEZ MAKSAS. Katram ir patiešām kaut kas!

prezentācijas bez maksas. Vai arī izmantojiet to, lai atrastu un lejupielādētu augstas kvalitātes PowerPoint ppt prezentācijas ar ilustrētiem vai animētiem slaidiem, kas iemācīs jums darīt kaut ko jaunu, arī bez maksas. Vai arī izmantojiet to, lai augšupielādētu savus PowerPoint slaidus, lai jūs varētu tos kopīgot ar skolotājiem, klasi, studentiem, priekšniekiem, darbiniekiem, klientiem, potenciālajiem investoriem vai pasauli. Vai arī izmantojiet to, lai izveidotu ļoti foršas fotoattēlu slaidrādes - ar 2D un 3D pārejām, animāciju un jūsu izvēlēto mūziku - kuras varat kopīgot ar saviem Facebook draugiem vai Google+ lokiem. Arī tas viss ir bez maksas!


Accessing ArcObjects in Python

If you have used arcpy in ArcGIS for some time, you might have noticed that not all of those operations that are accessible to you via the user interface in ArcMap are exposed as functions and methods in arcpy.

It was not designed to be a complete replacement for ArcObjects or an attempt at creating a function, method, or property for every conceivable button, dialog box, menu choice, or context item in the ArcMap interface (that is what ArcObjects provides).

So, there are no plans to make the whole ArcGIS platform available via arcpy which is why it is sometimes referred to as coarse-grained API into ArcGIS. For those situations when you need to have a finer control over the GIS data management and maintenance, Esri recommends using ArcObjects. It is usually related to advanced data management operations where support in arcpy is very limited such as LIDAR data management, network dataset generation, write-access to the properties of workspaces and data repositories, or metadata management. All of this can be done in ArcObjects, and hence, the name – fine-grained API into ArcGIS.

Here are just a few of the things you cannot do in arcpy.

  • You cannot create a new network dataset with arcpy and neither do you have any geoprocessing tools for that this can be done solely by using the New Network Dataset wizard.
  • You cannot create a new empty ArcMap map document with arcpy. This means if your workflows rely on generating map documents and adding layers into it, you need to pre-create an empty map document which will be used as a template.
  • You cannot create new bookmarks in a map document and neither can you import existing bookmarks into a map document. This can be done manually from the ArcMap user interface only.

However, if you do need to automate some of those workflows, either for one-time job when you need to process some data really quickly or when building a script that will be run on a regular basis, the only option you have is to use ArcObjects.

Learning ArcObjects can be hard due to its complexity. You would also need to learn Java or .NET (C# or VB) if you want to write ArcGIS add-ins or develop stand-alone applications. If you are not comfortable with those languages and have most of the workflows written in Python, I have good news for you. It is possible to access ArcObjects from Python.

This means that you can write your Python code using arcpy and other packages and incorporate some of the ArcObjects-based operations right into your code. This comes very handy when you lack just some minor operations in arcpy and need to use ArcObjects without getting out of your existing Python code.

To get started, please review this GIS.SE post: How do I access ArcObjects from Python? It has enough information to let you set up everything needed.

  1. Install comtypes package (I recommend using pip, see How to install pip on Windows? on how to get it)
  2. Download the snippets.py file to get examples and some helper functions.
  3. Change the “10.2” in the snippets file to “10.3” and installation paths of ArcGIS accordingly.
  4. You are ready to access the ArcObjects from your Python code! Look here for a sample that will create a new map document.

There is no need to install the ArcObjects SDK the only thing you need to have installed is ArcGIS Desktop.

You will need to play around with ArcObjects reference to find out what assembly and what interface you need to import. Here is the place you can start exploring the object model diagrams. Here is the section I recommend reviewing, Learning ArcObjects. Skip those parts you find irrelevant for you, though, as it covers nearly all ArcGIS Desktop operations.

In the API Reference part of the Help, you will find detailed information about the namespaces used in ArcObjects. Reading through this and visiting this often is an excellent way to lean ArcObjects. Here is an example of the Carto namespace.

Even though you do not need to know C#, VB, or Java, it is still worth to be able to read the code, as there are tons of useful snippets and code samples available in the Help system. Those will help you find out what interface should be used, any data type casting needed, and many more.

To learn more about the ArcObjects, listen to a recorded live-training seminar from Esri. Please share in comments what kind of operations you are missing in arcpy and would need to use ArcObjects to implement them.

Novērtējiet šo:


ArcREST: Python package for administering ArcGIS Server and ArcGIS Online/Portal

ArcREST is a great toolset I have found some time ago. It is for anyone who administers ArcGIS Online, ArcGIS Portal or ArcGIS Server. In short, it is a Python wrapper for the Esri REST API. I had to write many Python scripts that allowed me to update the properties of ArcGIS Server services in batch, but now I don’t need to write anything like this anymore. This is because now I can do everything I did on my own just by using ArcREST. If you are an ArcGIS Online / Portal admin, you should definitely take a look at this module since it can save you a lot of time, and you won’t need to author your own scripts for managing the ArcGIS Online content and organization settings with the scripting techniques.

This Python package is authored by Esri Solutions team and is available in public access on GitHub. You can download the source code, optionally install the package, and then use it on your local machine just like any Python package. If you don’t want to install the package, you can just add the path to arcrest and arcresthelper folders to the Python path by adding this into your Python file:

import sys
sys.path.append(r”path to arcrest folder”) #C:GISTools

Provided that you have a folder named arcrest in the example Tools folder, when you run the Python file, it will be able to import the arcrest package and access its modules.

To get an overview of this Python package, take a look at this excellent DevSummit 2015 video where developers of ArcREST talked about it.

Even though this is not a full implementation of the Esri REST API, it covers most of it and Esri developers update the code to include latest changes in the REST API. It is a good idea to clone the repository and pull the changes now and then to get the latest code if you will use on the daily basis.

I felt kind of sad first that all the Python code I wrote for administering ArcGIS Server won’t be used any longer, but at the same time so glad the ArcREST was developed. It is a great piece of software that will let you get started in no time at all and access all your server/online resources with Python.

Caveat: it does have some dependencies on arcpy package which is used for converting feature sets into JSON and back, but apart from that you should be able to run the tools on a machine with no ArcGIS software installed whatsoever.

Novērtējiet šo:


8 Atbildes 8

My guess is that you want to estimate the shape parameter and the scale of the Weibull distribution while keeping the location fixed. Fixing loc assumes that the values of your data and of the distribution are positive with lower bound at zero.

floc=0 keeps the location fixed at zero, f0=1 keeps the first shape parameter of the exponential weibull fixed at one.

The fit compared to the histogram looks ok, but not very good. The parameter estimates are a bit higher than the ones you mention are from R and matlab.

The closest I can get to the plot that is now available is with unrestricted fit, but using starting values. The plot is still less peaked. Note values in fit that don't have an f in front are used as starting values.

It is easy to verify which result is the true MLE, just need a simple function to calculate log likelihood:

The result from fit method of exponweib and R fitdistr (@Warren) is better and has higher log likelihood. It is more likely to be the true MLE. It is not surprising that the result from GAMLSS is different. It is a complete different statistic model: Generalized Additive Model.

Still not convinced? We can draw a 2D confidence limit plot around MLE, see Meeker and Escobar's book for detail).

Again this verifies that array([6.8820748596850905, 1.8553346917584836]) is the right answer as loglikelihood is lower that any other point in the parameter space. Piezīme:

BTW1, MLE fit may not appears to fit the distribution histogram tightly. An easy way to think about MLE is that MLE is the parameter estimate most probable given the observed data. It doesn't need to visually fit the histogram well, that will be something minimizing mean square error.

BTW2, your data appears to be leptokurtic and left-skewed, which means Weibull distribution may not fit your data well. Try, e.g. Gompertz-Logistic, which improves log-likelihood by another about 100. Priekā!