ArcGIS Python API<\/A> e pode ser executado manualmente ou automaticamente a partir de várias fontes, que abordarei mais adiante. O script também requer que as localizações dos seus ativos estejam em uma camada de feição dentro do seu portal GIS, junto com uma camada de feição poligonal usada como trilha da tempestade, e uma camada para adicionar seus alarmes ou ativos vulneráveis. O script está anexado abaixo, mas vamos primeiro analisá-lo.<\/P><\/P>
Primeiro, importe as bibliotecas python necessárias do ArcGIS e autentique-se no seu portal GIS. Como este script usa camadas de feição, usaremos principalmente o módulo arcgis.features.<\/P>
<SPAN class="keyword token">from<\/SPAN> arcgis<SPAN class="punctuation token">.<\/SPAN>gis <SPAN class="keyword token">import<\/SPAN> GIS
<SPAN class="keyword token">from<\/SPAN> arcgis<SPAN class="punctuation token">.<\/SPAN>features <SPAN class="keyword token">import<\/SPAN> FeatureLayer
<SPAN class="keyword token">from<\/SPAN> arcgis<SPAN class="punctuation token">.<\/SPAN>features<SPAN class="punctuation token">.<\/SPAN>managers <SPAN class="keyword token">import<\/SPAN> FeatureLayerManager
<SPAN class="keyword token">from<\/SPAN> arcgis<SPAN class="punctuation token">.<\/SPAN>geometry <SPAN class="keyword token">import<\/SPAN> filters
<SPAN class="keyword token">from<\/SPAN> IPython<SPAN class="punctuation token">.<\/SPAN>display <SPAN class="keyword token">import<\/SPAN> display
gis <SPAN class="operator token">=<\/SPAN> GIS<SPAN class="punctuation token">(<\/SPAN><SPAN class="string token">"https:\/\/your.portal.here\/"<\/SPAN><SPAN class="punctuation token">,<\/SPAN> <SPAN class="string token">'username'<\/SPAN><SPAN class="punctuation token">,<\/SPAN> <SPAN class="string token">'password'<\/SPAN><SPAN class="punctuation token">)<\/SPAN><SPAN class="line-numbers-rows"><SPAN><\/><SPAN><\/><SPAN><\/><SPAN><\/><SPAN><\/><SPAN><\/><\/SPAN><\/><CODE><PRE><P><\/><P>A seguir, carregaremos as camadas de feição usadas no script. O script requer uma camada de feição pontual das localizações dos seus ativos, uma camada de feição poligonal da trilha da tempestade e outra camada pontual usada como alarmes ou suas localizações de ativos vulneráveis.<\/><P><\/><P><EM><STRONG>Dica Ninja Pro:<\/><STRONG> Aproveite o <A href="http:\/\/www.arcgis.com\/home\/item.html?id=248e7b5827a34b248647afb012c58787" rel="nofollow noopener noreferrer" target="_blank">Active Hurricane live feed<\/><A/> do Living Atlas da Esri como sua trilha da tempestade.<\/><EM></P><PRE class="lia-code-sample line-numbers language-none"><CODE>#camada de ativos
cellSiteFeatureLayer <SP anclass= "operator token ">=</SP > gis.content.get('88b5acd4444343b3bdaea40918d070bf')
#camada da trilha da tempestade
hurricaneFeatureLayer = gis.content.get('6c8256c93c0e40debe46d9dcf79d0049')
#camada de alarmes
warningsFeatureLayer = gis.content.get('6f735776f0c246b1ba602a774dbc1b1d')A seguir, truncaremos e limpamos os alarmes anteriores e os ativos vulneráveis das camadas de alarmes.<\/>
warningsLayer = warningsFeatureLayer.layers[0]
warningsLayer.manager.truncate()
A seguir, armazenaremos a geometria atual da camada poligonal ou da trilha da tempestade que será usada para consultar os ativos que estão dentro dela.<\/>
hurricaneFeatures = hurricaneFeatureLayer.layers[8]
queryHurricane = hurricaneFeatures.query(where='1=1')
hurricaneGeometry = queryHurricane.features[3].geometry
##print (hurricaneGeometry)
Agora usaremos a geometria que acabamos de armazenar como filtro espacial para nossa consulta na camada de ativos.<\/>
cellSiteFeatures = cellSiteFeatureLayer.layers[0]
warningsResult = cellSiteFeatures.query(where='1=1', out_fields='SiteID', geometry_filter=filters.intersects(hurricaneGeometry))
##print(warningsResult)
Finalmente, pegue o conjunto de feições retornado pela consulta e adicione as feições à camada de alarmes.<\/>
warningsLayer.edit_features(adds=warningsResult)
E é isso. O resultado são novas localizações pontuais mostrando onde os ativos estão dentro da trilha da tempestade.<\/>
<\/>

<\/>O script pode ser executado em vários locais dependendo da experiência que você deseja para o usuário final. Aqui algumas opções:<\/>
- Localmente no seu próprio IDE
- Dentro do