Mer

ArcGIS Geoprocesing Service ved hjelp av karttjenestedata for input

ArcGIS Geoprocesing Service ved hjelp av karttjenestedata for input


Jeg vil gjerne lage en geoprosesseringstjeneste i ArcGIS Server (10.2) som bruker en eksisterende karttjeneste som input. Jeg har prøvd å gjøre dette med en ModelBuilder-modell, men det kopierer de eksisterende karttjenestedataene til fastlegen min.

Mer presist, det jeg gjør er å bruke et NRCS jordkart-enhetslag og krysser et jordbruksgrenselag. Både jordlaget og gårdens feltlag blir publisert med en annen prosess.

Ingen av ESRI-eksemplene på allmennlegetjenester viser å bruke eksisterende karttjenester som innganger, med mindre jeg mangler noe.


Svaret for meg var å se på http://blogs.esri.com/esri/arcgis/2013/10/10/quick-tips-consuming-feature-services-with-geoprocessing/ og deretter lage Python-skript som direkte trekker ut hva som trengs av meg karttjenester.

Nedenfor er et eksempel som kjører av en ArcGIS-server på skrivebordet mitt. Det gjør hva Select by Attribute ellers ville gjort. I dette tilfellet velger du en gårdsfeltgrense etter navn. Feltgrensen kjører som en funksjonstjeneste, og brukere trekker grensene ved hjelp av JSAPI Edit Dijit.

Jeg håper at ESRI vil legge til noen flere standardverktøy som direkte kan gjøre denne typen ting. Kanskje i 10.4, siden 10.3 allerede er ute av døra denne uken ...

# SelectFieldByName.py # Få et ArcGIS-serverfunksjonssett # input # 0: FeatureService URL # 1: Field Name # output # Feature Set # Modification History # dhh 15Dec2014 Original import arcpy import os import sys import traceback import urllib # Get the Parameters fsBaseURL = arcpy.GetParameterAsText (0) fieldName = arcpy.GetParameterAsText (1) where = urllib.quote (r "Name = '{}'". format (fieldName)) fields = '*' token = "# REST-spørring av mapservice-spørring = r "/ spørring? hvor = {} & outFields = {} & returnGeometry = true & f = json & token = {}". format (hvor, felt, token) fs = arcpy.FeatureSet () fsURL = fsBaseURL + spørring arcpy.AddMessage ("Loading {}. ". format (fsURL)) fs.load (fsURL) arcpy.AddMessage (" Loaded {} ferdig. ". format (fsURL, fs.JSON)) arcpy.SetParameter (2, fs);

Når du arbeider med et frittstående ArcGIS Server-nettsted, kan du forvandle geoprosesseringsverktøyene dine til geoprosesseringstjenester og konsumere dem i ArcGIS Pro. Når en tjeneste er publisert, kan andre ArcGIS Server-brukere også bruke den hvis du deler den med dem.

For å lage en geoprosesseringstjeneste oppretter og dokumenterer du vanligvis et geoprosesseringsverktøy ved hjelp av ModelBuilder eller Python. Du trenger ikke lage ditt eget verktøy, men du kan også bruke et av de mange verktøyene som er inkludert i ArcGIS.

Når du har skrevet et verktøy, må du først kjøre det i ArcGIS Pro, og verktøyet må fullføres. Når verktøyet er ferdig kjørt, kan det deles ved å dele det, og skaper serviceelementet for geoprosessering i serverforbindelsen. Du kan legge til flere verktøy du har kjørt til den samme geoprosesseringstjenesten under publisering.


Publiser en karttjeneste med en tilpasset geografisk transformasjon

Egendefinerte geografiske transformasjoner utføres i ArcGIS Desktop for å transformere kartdata fra ett geografisk koordinatsystem (GCS) eller datum til et annet. Hvis kartet du har tenkt å publisere inkluderer en tilpasset geografisk transformasjon, bør du sørge for at alle filer som trengs av transformasjonen er tilgjengelige for ArcGIS Server.

Følg disse trinnene når du publiserer et kart med en tilpasset transformasjon:

  1. Kjør Create Custom Geographic Transformation geoprocessing tool i ArcMap eller i ArcGIS Pro. Resultatet av dette verktøyet er en .gtf-fil som er lagret i mappen ESRI & ltArcGIS & gt ArcToolbox CustomTransformations i brukerprofilens mappen Application Data. Denne mappen er opprettet av verktøyet hvis den ikke eksisterer. Hvis Application Data-mappen er skrivebeskyttet eller skjult, opprettes utdataene i ArcToolbox CustomTransformations under brukerens temp-mappe.
  2. Hvis transformasjonen din trenger støttefiler, for eksempel en Grid Shift Binary (.gsb) -fil, kan du kopiere dem til pedatamappen i ArcGIS Desktop-installasjonsstasjonen. Alternativt, hvis du har installert ArcGIS Coordinate Systems Data-komponenten, kopierer du filene dine til mappen CoordinateSystemsData & gt pedata. I begge tilfeller blar du til undermappen til pedata, oppkalt etter metoden du brukte for å lage den tilpassede transformasjonen (for eksempel ntv2) og lim inn de kopierte filene der.
  3. Hvis du kopierte støttefiler til Desktop-pedatamappen i trinn 2, kopierer du dem igjen til pedatamappen i ArcGIS Server-installasjonskatalogen. Som før, finn mappen i pedata som tilsvarer transformasjonsmetoden din, og lim inn filene der.
  4. Når du forbereder et kart for publisering, må du sørge for at den tilpassede transformasjonen er i bruk på kartet. Hvis kartet inneholder lag som bruker både input- og output-geografiske koordinatsystemer fra den tilpassede transformasjonen, må du sørge for at transformasjonen er aktiv:
    • I ArcMap høyreklikker du på datarammen din i innholdsfortegnelsen og åpner egenskapene. Velg kategorien Koordinatsystem, og klikk deretter Transformasjoner-knappen. Bekreft at den tilpassede transformasjonen din er valgt.
    • I ArcGIS Pro høyreklikker du på kartet ditt i Innhold-panelet, åpner Egenskaper og klikker deretter Transformasjon. Bekreft at den tilpassede transformasjonen din er valgt.

Hvis du ikke planlegger å ha lag som bruker den tilpassede transformasjonens input og output GCS på samme kart, legger du til et lag som bruker GCS som ikke vil være i det endelige kartet, angir den tilpassede transformasjonen og fjerner laget. Transformasjonen vil da bli lagret med kartet.

Karttjenesten eller nettkartet ditt inkluderer den tilpassede geografiske transformasjonen som brukes på GIS-dataene dine. Dette inkluderer sanntidsbehandling mens du zoomer og panorerer på kartet.


Du kan spesifisere at geoprosesseringstjenesten din skal kjøres synkront eller asynkront. I asynkron modus er det litt overhead på serveren, noe som betyr at asynkrone oppgaver sjelden utføres i løpet av et sekund. Å utføre den samme oppgaven i synkron modus er et tidels sekund eller så raskere enn å utføre den i asynkron modus.

Enhver programvare som behandler data fungerer raskere når datasettet er lite. Det er noen måter du kan redusere størrelsen på geografiske data på:

  • Fjern unødvendige attributter på prosjektdataene dine med Delete Field-verktøyet.
  • Linje- og polygonfunksjoner har hjørner som definerer formen. Hvert toppunkt er en x, y-koordinat. Det kan være at funksjonene dine har flere hjørner enn de trenger, og øker størrelsen på datasettet ditt unødvendig.
    • Hvis dataene dine kommer fra en ekstern kilde, kan de inneholde dupliserte hjørner eller hjørner som er så tett sammen at de ikke bidrar til definisjonen av funksjonen.
    • Antall hjørner passer ikke til analysen. For eksempel inneholder funksjonene dine detaljer som passer i stor skala, men analysen eller presentasjonen din er i liten skala.

    Bruk en av de følgende to arbeidsflytene for å distribuere .gtf-filen. Det første alternativet er det enkleste og enkleste hvis du ikke har direkte tilgang til servermaskinen din. Det andre alternativet for manuell kopiering av filer kan kreve hjelp fra nettverksadministratoren din hvis du ikke har tilgang til ArcGIS for Server-maskinen.

    Publiser Create Custom Geographic Transformation-verktøyet som en tjeneste. Å utføre den publiserte tjenesten vil opprette og distribuere filen til riktig katalog for deg.

    1. I ArcGIS for Desktop utfører du Create Custom Geographic Transformation for å opprette en .gtf-fil. Selv om du allerede har en allerede eksisterende .gtf-fil, må du fortsatt kjøre dette trinnet slik at du får et resultat som kan publiseres som en geoprosesseringstjeneste.
    2. Publiser resultatet fra trinn 1 som en geoprosesseringstjeneste. Du kan hardkode inngangsparametrene eller la dem være konfigurerbare parametere.
    3. Kjør den nylig publiserte geoprosesseringsoppgaven. Ikke endre noen av inngangsparametrene. De vil bli satt med de samme standardverdiene som da du opprinnelig kjørte verktøyet fra ArcMap. Når du kjører geoprosesseringstjenesten, skrives .gtf-filen til mappen% appdata% Roaming ESRI Server10.x ArcToolbox CustomTransformations i serverens brukerkonto.
    4. Du kan slette tjenesten etter å ha kjørt den en gang. Påfølgende geoprosesseringsoppgaver får nå tilgang til .gtf-filen du opprettet.

    Kopier .gtf manuelt til servermaskinen fra din lokale maskin.

    1. Finn .gtf på din lokale maskin. Se avsnittet ovenfor om å lage en egendefinert geografisk transformasjonsfil som forklarer de mulige stedene denne filen kan lagres. Vanligvis, på Windows, vil dette være C: Users & ltUSERNAME & gt AppData Roaming ESRI Desktop10.X ArcToolbox CustomTransformations.
    2. På servermaskinen finner du mappen ArcToolbox CustomTransformations for brukerkontoen som kjører ArcGIS for Server-tjenesten. Vanligvis, på Windows, vil dette være C: Users & ltArcGIS Server Account Name & gt. & LtServer Name & gt Appdata Roaming ESRI Server10.X ArcToolbox CustomTransformations. På et Unix-system vil denne banen vanligvis være &<AGS_InstallDir>/framework/runtime/.wine/drive_c/users/<AGS_InstallAccount>/Application Data / ESRI / Server10.X / ArcToolbox / CustomTransformations.
    3. Kopier filen fra stedet i trinn 1 til stedet i trinn 2.

    Bruk geoprosesseringsoppgaver i ArcGIS API for JavaScript

    Ved hjelp av disse fire trinnene kan du legge til geoprosesseringsfunksjonalitet ved hjelp av ArcGIS API for JavaScript.

    Trinn 1: Initialiser geoprosesseringsoppgaven

    For å initialisere en geoprosesseringsoppgave, må du være oppmerksom på oppgavens URL. Malen for en URL-adresse for geoprosessering er https: // & ltarcgis-host & gt / & ltgpservicename & gt / GPServer / & ltgptask-name & gt. Legg til koden nedenfor i JavaScript-applikasjonen din for å initialisere en geoprosesseringsoppgave.

    Når du initialiserer, må du sørge for å angi outSpatialReference-egenskapen til geoprocessing-oppgaveforekomsten til nettkartets romlige referanse. Datasettene til geoprosesseringsoppgaver kan være i en annen romlig referanse, og dermed kan deres utganger også være i en annen romlig referanse. Imidlertid antar webapplikasjoner at oppgavene har samme romlige referanse som kartet. Dette kan føre til uventet oppførsel når du tegner utdata. Derfor må du angi den geografiske referanseegenskapen for geoprosesseringsoppgaven. Serveren returnerer utganger i den romlige referansen som er spesifisert av outSpatialReference-egenskapen.

    Initialiser geoprosesseringsoppgaven

    Trinn 2: Sett opp oppgaveparametere

    Når du utfører en geoprosesseringsoppgave, må webapplikasjonen oppgi parameterverdiene for geoprosesseringsoppgaven. For å lære parameterkravene til en oppgave, kopier og lim inn oppgavens URL i adresselinjen til en nettleser for å åpne oppgavesiden i tjenestekatalogen. Oppgavesiden viser alle oppgaveparametrene og deres datatyper. Oppgavesiden har også en URL for hjelp der du kan finne mer informasjon om geoprosesseringsfunksjonalitet, tilgang og bruk.

    • Verdier angitt av brukeren ved hjelp av webapplikasjonen
    • Verdier fra et av de gjeldende webkartene inneholder lag eller grafikklag
    • Resultatene av andre oppgaver som spørring, ruteoppgaver og så videre
    • Resultater av andre geoprosesseringsoppgaver

    JavaScript-koden nedenfor viser et eksempel på å lage inngangsfunksjoner, en GPFeatureRecordsetLayer-parameter fra et FeatureLayer som legges til på nettkartet, og å lage buffDistance, en GPLinearUnit-parameter avledet fra en dojo-tekstinngang med en id = "distance". Det antas at brukeren interaktivt vil angi avstandsverdien. Når oppgaveparametrene er opprettet, blir en JSON-konstruksjon, med navn-verdipar av parametrene, konstruert og sendt til serveren.

    GPFeatureRecordSetLayer og GPRecordSetLayer-parameterne har et standardskjema definert av oppgaven. Du finner skjemaet for parameterne på oppgavesiden. Et skjema for et GPFeatureRecordSetLayer består av geometri, romlig referanse, felt og funksjoner. Det er en god praksis å sikre at GPFeatureRecordSetLayer-parametere har alle egenskapene som definert i skjemaet for å oppnå vellykkede resultater.

    Trinn 3: Kjør oppgaven

    For å kjøre en oppgave, bør du bruke metoden execute eller submitJob for geoprosessorforekomsten (gpTask) basert på den støttede operasjonen av geoprosesseringsoppgaven. Du finner den støttede driften av oppgaven på oppgavesiden. Oppgaveoperasjon: utføre og Oppgaveoperasjon: submitJob-emner forklarer forskjellen mellom operasjonene og server- og klientkommunikasjonen for operasjonen.

    Oppgaveoperasjon: utfør

    Hvis den støttede driften av oppgaven er Utfør oppgave, må du bruke utførelsesmetoden for geoprosessorforekomsten og sende parametrene. Du må definere hendelsesbehandlere som styrer applikasjonen på vellykkede og mislykkede forespørsler. OnExecuteComplete-hendelsen vil løftes når oppgaven kjøres vellykket og returnerer resultat- og geoprosesseringsmeldingene. OnError-hendelsen heves når en oppgaveutførelse mislykkes. Når oppgaven mislykkes, returnerer serveren en feilforekomst med HTML-feilkode og geoprosesseringsmeldinger, hvis noen.

    Oppgaveoperasjon: submitJob

    Hvis den støttede driften av oppgaven er submitJob-operasjonen, må du bruke metoden Geoprocessor.submitJob og sende parametrene. Når det gjelder submitJob, trekkes tre hendelser opp, og de må håndteres på riktig måte i webapplikasjonen.

    Når gjeldende status for jobben er mottatt

    Når jobben er fullført

    • onStatusUpdate: I motsetning til å utføre, når det gjelder submitJob, oppretter serveren en jobb og tildeler en jobId. sendJob-operasjoner varsler ikke klienten når en jobb er fullført, så det er opp til klienten å sjekke med tjenesten for å bestemme statusen til jobben. Nettapplikasjoner sender som standard statusforespørsler til serveren hvert sekund for å bestemme oppgavens status. Hver gang statusrespons mottas, heves onStatusUpdate-hendelsen. Du kan øke eller redusere intervallet for statuskontroll ved hjelp av Geoprocessor.setUpdateDelay-metoden. OnStatusUpdate-hendelsen heves hver gang jobbens status blir sjekket. Hendelsesbehandleren mottar en JobInfo-forekomst som inneholder jobb-ID, jobbstatus og eventuelle GPM-meldinger som er returnert av serveren. Du kan bruke denne informasjonen til å holde oversikt over fremdriften i oppgaven.
    • onJobComplete: Når JobInfo.jobStatus = STATUS_SUCCEEDED, heves onJobComplete-hendelsen. Resultatene returneres ikke automatisk til klienten når operasjonen er fullført, men lagres i stedet på serveren, og klienten må sende en forespørsel om å hente dem. I hendelsesbehandleren onJobComplete kan du påberope deg Geoprocessor.getResultData-metoden og få resultatene. Hver utgangsparameter er en uavhengig ressurs, og getResultData-metoden til geoprosessorforekomsten må påkalles for hver utgangsparameter for oppgaven. Du må oppgi jobId returnert av hendelsesbehandleren og navnet på utdataparameteren i getResultData-metoden. Du må også opprette en hendelsesbehandler for hendelsen onGetResultDataComplete. OnGetResultDataComplete-hendelsen heves når resultatverdien for utdata-parameteren mottas av webapplikasjonen.
    • onError: OnError-hendelsen heves når en submitJob-forespørsel eller statusforespørsel avvikles, eller hvis geoprosesseringsoppgavene mislyktes. Hendelsen returnerer en feilforekomst med HTML-feilkode.

    Trinn 4: Gjengi resultatet

    Resultatene av en geoprosesseringsoppgave gjengis basert på datatypen til utdata-parameteren.

    Utgangsfunksjonene blir vanligvis tegnet på nettkartet som et grafisk lag for å vise geoprosesseringsresultatet.

    Utgangspostene vises i et rutenett, eller verdiene brukes til å lage diagrammer og grafer.

    Output rasters kan lastes ned, men kan ikke tegnes på kartet. Du kan imidlertid bruke en Result Map Service til å visualisere rasterdata.

    Utdatafiler kan lastes ned, eller filer som .gpx og .csv kan behandles av webapplikasjonen.

    GPBoolean, GPDataFile, GPLong, GPDouble, GPString, GPLinearUnit, GPDate

    Utgangene vises ved hjelp av HTML eller andre småprogram.

    Resultater fra onExecuteComplete hendelsesbehandler

    I tilfelle utførelsen returnerer hendelsen onExecuteComplete resultatene og meldingene til geoprosesseringsoppgaven. Resultatforekomsten er en matrise med alle utdata-parametrene for oppgaven, og oppføringene i matrisen er alltid i den rekkefølgen som er oppført på oppgavesiden. Derfor kan parameterverdiene identifiseres av deres posisjon i matrisen. Hver utgangsparameter i matrisen har et parameternavn, datatype og verdi. Koden nedenfor viser hvordan du får tilgang til den første utdataparameteren i resultatene. I koden nedenfor er utdata-parameteren kjent for å være en GPFeatureRecordSetLayer-utgang, og derfor viser koden hvordan den skal gjengis som et grafisk lag og legges til i webapplikasjonen.

    Gjengivelsesresultater fra onExecuteComplete hendelsesbehandler

    Resultater fra hendelsesbehandleren onGetResultDataComplete

    OnGetResultDataComplete-hendelsen gir en resultatforekomst. I motsetning til resultatene fra hendelsen onExecuteComplete, vil resultatforekomsten bare ha verdier for den valgte parameteren. Parameterresultatet vil ha den valgte parameterens navn, datatype og verdi. Parameterverdien hentes fra resultatet og brukes etter behov. Koden nedenfor viser gjengivelse av resultatene til en GPFeatureRecordSetLayer-parameter fra en parameterresultatforekomst.


    Enkle data inn, enkle data ut

    En GIS-tjeneste må jobbe med den enkleste av alle klienter: en nettleser som kjører på en datamaskin som ikke har GIS-muligheter. Slike enkle klienter vet bare hvordan de skal sende pakker med enkle data til en server, for eksempel tekst, tall, tabeller og geografiske funksjoner og deres attributter. Disse klientene er ikke klar over mer avanserte geografiske datarepresentasjoner som du bruker i ArcGIS Desktop, for eksempel nettverksdatasett, topologier, TIN-er, relasjonsklasser, geometriske nettverk og så videre. Disse datasettene er kjent som komplekse datasett, de modellerer komplekse forhold mellom enkle funksjoner. Komplekse datasett kan ikke transporteres over Internett, bare enkle funksjoner, tabeller, rasters og filer kan transporteres.

    Når du skriver en oppgave, må du være oppmerksom på at alle klienter, enten de er webapplikasjoner, Explorer for ArcGIS eller ArcGIS Desktop, bare vet hvordan de skal sende og motta (transportere) disse enkle datasettene. Selv om du vet at tjenesten din kun blir tilgjengelig av sofistikerte klienter som ArcMap, er du fremdeles begrenset til enkle inndata når du redigerer oppgavene dine.

    Se emnet Inndatamodi og parameterdatatyper for mer informasjon om transportable og ikke-transportable datasett.


    Parametere

    Bla til inngangs-WCS-tjenesten. Dette verktøyet kan også godta en URL som refererer til WCS-tjenesten.

    Hvis en WCS-server-URL brukes, bør URL-en inneholde dekningsnavn og versjonsinformasjon. Hvis bare URL-adressen er angitt, tar verktøyet automatisk den første dekningen og bruker standardversjonen (1.0.0) for å opprette WCS-laget.

    Et eksempel på en URL som inkluderer dekningsnavnet og versjonen er http: // ServerName / arcgis / services / serviceName / ImageServer / WCSServer? Dekking = rasterDRGs & ampversion = 1.1.1.

    I dette eksemplet, http: // ServerName / arcgis / services / serviceName / ImageServer / WCSServer? er URL. Dekningen som er spesifisert er dekning = rasterDRG, og versjonen er & ampversion = 1.1.1.

    For å få dekningsnavnene på en WCS-server, bruk WCS GetCapabilities-forespørselen. Et eksempel på WCS-forespørsel er http: // ServerName / arcgis / services / serviceName / ImageServer / WCSServer? Request = getcapabilities & ampservice = wcs.

    Navnet på utgangs-WCS-laget.

    Produksjonsomfanget til WCS-laget.

    • Standard - omfanget vil være basert på den maksimale omfanget av alle deltakende innganger. Dette er standard.
    • Nåværende skjermomfang - Omfanget er lik datarammen eller den synlige skjermen. Alternativet er ikke tilgjengelig når det ikke er noe aktivt kart.
    • Som spesifisert nedenfor — Omfanget vil være basert på de angitte minimums- og maksimumsverdiene.
    • Bla gjennom - omfanget vil være basert på et eksisterende datasett.

    Velg hvilke bånd du vil eksportere for laget. Hvis ingen bånd er spesifisert, vil alle båndene brukes i utgangen.

    Navnet på inngangs-WCS-tjenesten eller URL-en som refererer til WCS-tjenesten.

    Hvis en WCS-server-URL brukes, bør URL-en inneholde dekningsnavn og versjonsinformasjon. Hvis bare URL-adressen er angitt, tar verktøyet automatisk den første dekningen og bruker standardversjonen (1.0.0) for å opprette WCS-laget.

    Et eksempel på en URL som inkluderer dekningsnavnet og versjonen er http: // ServerName / arcgis / services / serviceName / ImageServer / WCSServer? Dekking = rasterDRGs & ampversion = 1.1.1.

    I dette eksemplet, http: // ServerName / arcgis / services / serviceName / ImageServer / WCSServer? er URL. Dekningen som er spesifisert er dekning = rasterDRG, og versjonen er & ampversion = 1.1.1.

    For å få dekningsnavnene på en WCS-server, bruk WCS GetCapabilities-forespørselen. Et eksempel på WCS-forespørsel er http: // ServerName / arcgis / services / serviceName / ImageServer / WCSServer? Request = getcapabilities & ampservice = wcs.

    Navnet på utgangs-WCS-laget.

    Produksjonsomfanget til WCS-laget.

    • MAXOF —Maksimumsgraden til alle innganger vil bli brukt.
    • MINOF —Det minste området som er felles for alle innganger, vil bli brukt.
    • DISPLAY — Omfanget er lik det synlige displayet.
    • Lagnavn — Omfanget av det spesifiserte laget vil bli brukt.
    • Omfang objekt - Omfanget av det spesifiserte objektet vil bli brukt.
    • Plassavgrenset koordinatstreng - omfanget av den angitte strengen vil bli brukt. Koordinater uttrykkes i rekkefølgen av x-min, y-min, x-max, y-max.

    Velg hvilke bånd du vil eksportere for laget. Hvis ingen bånd er spesifisert, vil alle båndene brukes i utgangen.


    Tilpasse kildemodellen for geoprosesseringstjeneste

    Det forrige eksemplet bruker modellverktøyet Utdrag dataoppgave fra serververktøykassen. Denne modellen gjør ikke annet enn å angi parametere for Extract Data-verktøyet. Hvis du kopierer modellverktøyet til en ny tilpasset verktøykasse, kan det åpnes i ModelBuilder og redigeres. Extract Data Task-modellen inneholder inputvariablene Spatial Reference og Customized Spatial Reference Folder, som ikke blir eksponert som modellparametere. Romlig referanse har en standardverdi, samme som inngang, noe som betyr at den romlige referansen til utdatafilene er den samme som inngangslagene. Hvis du ønsker å få en romlig referanse av utdatafilene, som er forskjellig fra den for inndatafilene, kan du angi romlig referanse som en inndataparameter slik at når en modellverktøy-dialogboksen åpnes, kan en annen romlig referanse angis . Variabelen Custom Spatial Reference Folder er en valgfri parameter som lar deg spesifisere en bane til en mappe som inneholder tilpassede og / eller standard romlige referanser.

    I tillegg til de to romlige referansevariablene, kan parameteren Feature Format også endres for å inneholde flere formater du trenger.

    De følgende trinnene viser hvordan du tilpasser Extract Data Task-modellen ved å eksponere variabelen Spatial Reference som en parameter, legge til en bane for den tilpassede romlige referansemappen og legge til nye utdataformater for Parameteren Feature Format.

    En verktøykasse med navnet CustomSPRef.tbx som inneholder en tilpasset ExtractZionSPRef-modell, finnes i C: arcgis ArcTutor GP Service Eksempler ClipAndShip. Verktøykassen og modellen er det ferdige produktet etter å ha utført følgende trinn.

    1. Det første trinnet er å lage en ny verktøykasse og modell. Fra katalogen kopierer du mappen ClipAndShip fra C: arcgis ArcTutor GP Service Eksempler til en lokal katalog.
    1. Fra din lokale katalog der du kopierer dataene og modellen til, åpner du ClipAndShip.mxd.
    2. I katalogvinduet klikker du Gå til Hjem-mappen knapp. Slett verktøykassen CustomSPRef.tbx og SpatialReference-mappen.
    3. Høyreklikk Hjem-mappen og velg Ny & gt Verktøykasse.
    4. Gi verktøykassen nytt navn til CustomSPRef.
    1. Utvid verktøykasser og gt Systemverktøykasser og gt serververktøy. Tbx og gt Datautvinning.
    2. Høyreklikk Pakk ut dataoppgave og velg Kopier.
    3. Høyreklikk på CustomSPRef.tbx du opprettet ovenfor, og velg Lim inn.

    Modellen Extract Data Task kopieres til verktøykassen.

    1. Høyreklikk på Hjem-mappen i katalogvinduet. Opprett en ny mappe ved å høyreklikke på mappen og velge Ny & gt-mappe.
    2. Gi nytt navn til den nye mappen SpatialReference.
    3. Fra Hjem-mappen, naviger til ToolData / Zion.gdb. Høyreklikk på en hvilken som helst funksjonsklasse i geodatabasen, og velg Egenskaper for å åpne Egenskaper-dialogboksen. Klikk på fanen XY Koordinatsystem.
    4. Utvid Projected Coordinate System / State Plane / NAD 1983 (US Feet). Bla nedover til du finner NAD 1983 StatePlane Utah South FIPS 4303 (US Feet).
    5. Høyreklikk NAD 1983 StatePlane Utah South FIPS 4303 (US Feet) og velg Lagre som.
    6. Lagre projiseringsfilen i den nye mappen, SpatialReference, som du opprettet i trinn b ovenfor. Lagre filen med standardnavnet NAD 1983 StatePlane Utah South FIPS 4303 (US Feet) .prj.

    Parameteren Romlig referanse vises nederst i parameterlisten.


    Se videoen: Creating Geoprocessing Services With Python Script Tools