Vairāk

JA TAD paziņojumus ArcGIS lauka kalkulatorā

JA TAD paziņojumus ArcGIS lauka kalkulatorā


Es neesmu pārliecināts, vai to vislabāk varētu apstrādāt vbscript vai pitonā, un diemžēl es esmu mazāks par iesācēju abos, tāpēc es ņemšu visu palīdzību, ko es varu saņemt no apmaiņas.

Mēģinu ņemt savu ielu slāni un noņemt lauku "tips" noteiktam ielu nosaukumu kopumam. Jebkurai ielai, kuras nosaukums ir "Avenue A", "Avenue B", Avenue C "un tā tālāk, lauks" TYPE "ir jāiztukšo. Bet visas pārējās ielas un ielu tipi to atgādinātu.

Neliels paskaidrojums par to, kāpēc tas var palīdzēt jums nedaudz labāk izprast manu likteni: manā pašvaldībā ir ārkārtas reaģēšanas programmatūra, kas izmanto gan prefiksu, apakšvārdu un veidu, lai parādītu ielu datus, kā arī izsekotu zvanus un statistiku katrai ielai. Visas ielas tiek attēlotas pareizi, izņemot "Avenue A" tipa ielas, kurās redzama "Avenue A AVE". Jebkura cita AVE tipa iela tiek parādīta pareizi, piemēram: Baltijas AVE, Crawford AVE utt. Bet ielās "Avenue (letter)" netiks aizpildīts lauks "TYPE". Ceru, ka tam ir jēga.

Tāpēc man ir vajadzīgs lauka kalkulatora skripts, kas meklēs jebkuru [SUBNAME] "AVENUE #" ielu un iztukšos tās lauku [TYPE]. Es mēģināju mazliet SQL ar savām nepietiekamajām zināšanām par VBscript, lai izveidotu zemāk norādīto (nē, tas nedarbojās):

JA [SUBNAME] = "AVENUE *", tad nomainiet ([TYPE], "AVE", "")


izmantot (aizstāt [type], "AVENUE%", "") Lauku kalkulatoru var izmantot daudzos veidos.
Mēģinot izmantot apgalvojumu if then, jūs, iespējams, vēlēsities mēģināt iemācīties kādu regulāru izteiksmi. Tas ir ļoti spēcīgs, lai atrastu virknes vai ciparu secības un ļautu veikt izmaiņas.
Īsumā vajadzīgs vairāk nekā tas, ko jau izvairījāties savā jautājumā, jūs viegli varat paveikt ar dažiem pamata lauka kalkulatora paziņojumiem.
Šeit ir dažas saites uz veco un jauno esri dokumentāciju gan pitonam, gan vbscript, kas palīdzēs padarīt jūs par guru.
Vecais vbscript help pdf, bet tomēr noderīgs.
9.3 dokuments par gp rīka lietošanu.
10.3. Dokuments ar pamatelementiem
10.3. Lauka kalkulatora piemēri
Vai arī veikt izmaiņas laukā neatgriezeniski, bet mainīt iezīmēšanas veidu.
Definējiet atsevišķus sql paziņojumus tipiem un iezīmējiet katru atšķirīgi.


Labi, jūs varētu darīt to, ko vēlaties, ar pareizi uzrakstītu lauka kalkulatora izteiksmi, taču es ieteiktu tā vietā divpakāpju metodi problēmas novēršanai. Atlasiet funkcijas, kuras jārediģē, un pēc tam palaidiet ļoti vienkāršu lauka kalkulatora izteiksmi, lai labotu šīs atlasītās funkcijas, tādējādi jūs varat manuāli pārskatīt, kuras funkcijas tiks ietekmētas, pirms tās maināt.

Vispirms izveidojiet rediģējamo ceļu atlasi. ArcMap jūs atvērtu Atlasīt pēc atribūta un izdarītu SQL atlasi, izmantojot operatoru Like. Piemēram, rīkojieties šādi: SUBNAME LIKE 'Avenue%' (iespējams, būs nedaudz jāpielāgo izteiksme atkarībā no datu avota, taču jums vajadzētu būt iespējai izmantot iebūvēto izteiksmju veidotāju, lai atkārtotu līdzīgu izteiksmi). Ja izmantojat Model Builder vai pitona skriptu, iespējams, vispirms būs jāpalaiž rīks Make Feature Layer GP un pēc tam jāpalaiž Select by Attribute. Kad funkcijas ir atlasītas, es ieteiktu manuāli pārskatīt atlasītās un neizvēlētās funkcijas, lai pārliecinātos, vai ir iekļautas visas vēlamās un vai ir iekļautas tikai vēlamās.

Pēc tam laukā TYPE palaidiet lauka kalkulatoru, kā lauka kalkulatora izteiksmes valodu izmantojot Python, un izteiksmei vienkārši ierakstiet vārduNav(pirmais N ir ar lielo burtu, tas ir svarīgi). Tas ļaus laukam. Ja nevēlaties Nulls vai jūsu lauks / datu tips neatbalsta Nulls (piemēram, shapefile), tā vietā varat izteicienu būt "".

Palaižot lauka kalkulatoru pret slāni ar atlasītu funkciju apakškopu, lauka kalkulators rediģēs tikai atlasītos līdzekļus. Tātad atlasiet visus piemērojamos ceļus un pēc tam vienkārši aprēķiniet tos visus pēc vēlamās vērtības. Nav nepieciešami sarežģīti kalkulatora izteicieni.