Viac

Geografické spracovanie mapovej služby?

Geografické spracovanie mapovej služby?


Pracujem na aplikácii, kde požadovanou funkcionalitou je, aby používatelia začali od veľkého obrazu (tj. Jedna vrstva mapy) a postupne pridávali ďalšie a ďalšie podmienky, aby sa zobrazila iba oblasť, ktorá vyhovuje všetkým (tj. všetky vybrané vrstvy). Dokázal som to s Javascriptom na klientovi, ale má to problémy s výkonom a ideálne by som to chcel spracovať na serveri.

Dáta, s ktorými pracujem, už boli pripravené ako mapové služby polygonálnej vrstvy alebo rastrovej vrstvy. Môžem získať údaje priamo z týchto služieb na spracovanie?


Predpokladám, že chcete použiť geografické spracovanie služby vo vašej webovej aplikácii spolu s mapovou službou. Uskutočňujem prezentáciu Creating GP Services na ESRI UC a ukážem z toho ukážku. To je to, čo by som považoval za najmenej pravdepodobný scenár, pokiaľ ide o služby GP využívajúce dáta, takže nie je dobre zdokumentovaný. To znamená, že na prácu so službou funkcií môžete použiť službu geografického spracovania. Služba funkcií prenesie funkcie do služby GP, aby ich mohla použiť. Vyžaduje si to konkrétne nastavenie v nástroji aj vo vašej aplikácii JavaScript.

Najskôr bude potrebné, aby váš nástroj a struna ako vstup. Tento reťazec bude predstavovať adresu URL služby funkcií s parametrami dopytu. Toto by bol napríklad štartovací kód vášho nástroja:

inFS = arcpy.GetParameterAsText (0) featureset = arcpy.FeatureSet () featureset.load (fs) cnt = arcpy.GetCount_management (sada funkcií) # Alebo akýkoľvek nástroj / pracovný postup

Webová aplikácia by odoslala adresu URL ako: (všimnite si, že tu je dotaz 1 = 1 a f = json je kritický.)

http: // server: 6080 / arcgis / rest / services / fs1 / FeatureServer / 0 / dopyt? kde = 1% 3D1 & returnGeometry = true & returnIdsOnly = false & returnCountOnly = false & f = json

Poslednou časťou je samotná webová aplikácia. S parametrom s názvom „inputFS“ vo vnútri samotného nástroja je to kód používaný v JS:

vals = "url na fs ... kód JS nastavuje toto" gp = nový geoprocesor (gpServiceUrl); var params = {"inputFS": vals}; console.log (parametre); gp.submitJob (parametre, gpJobComplete, gpJobStatus, gpJobFailed);

Pokiaľ ide o vrstvu RASTER ... existuje nástroj, ktorý by ste potrebovali na použitie nástroja Make Image Service Layer, ale nezabudnite, že tento nástroj funguje iba mimo služby ImageService, nie ako mapová služba s rastrom. Vstupným parametrom by bol opäť reťazec (samotná adresa URL).

Pri tomto postupe nezabúdajte, že služba mapy / funkcie a služba GP nemajú skutočne nič spoločné. Áno, chcete, aby konzumovali rovnaké základné údaje. Ale každá služba sama o sebe nemá žiadne vedomosti. Je to webová aplikácia, ktorá spája tieto dve služby tak, že odovzdáva adresu URL, pokiaľ je služba GP správne nastavená tak, aby ju spotrebovala.


Pozri si video: Digitální technická mapa: DNES A ZÍTRA