4 votos

¿Aceptar la forma como parámetro de entrada en la aplicación web que llama al servicio de geoprocesamiento de ArcGIS?

Estoy escribiendo un geoprocesamiento script que tendrá que aceptar una forma como parámetro de entrada. Esta forma será obtenida por un usuario que dibuje la forma en una aplicación web. La aplicación web ejecutará el servicio de geoprocesamiento, proporcionando la cadena de coordenadas de la forma como parámetro de entrada.

En la definición de la herramienta de geoprocesamiento script, supondría que este parámetro de entrada sería del tipo FeatureSet y que dentro del script utilizaría arcpy.GetParameter para acceder a este parámetro de entrada. Cuando sé que el parámetro de entrada siempre será exactamente una característica (cadena de coordenadas), ¿hay alguna alternativa mejor que usar un FeatureSet como tipo de parámetro de entrada?

4voto

Galbrezu Puntos 142

Si sus usuarios van a "digitalizar" formas, entonces querrá utilizar el parámetro FeatureSet. Este parámetro está pensado para tomar características de entrada simples (normalmente dibujadas como has descrito).

inFS = arcpy.GetParameterAsText(0)

arcpy.Buffer_analysis(inFS, "output", "100 Miles")

3voto

geni Puntos 91

He implementado algo muy similar. Una aplicación cliente tenía el usuario elegir algunos puntos y luego envié esto a ArcGIS Server GP Service como una cadena con C#. Luego hice que el python script convirtiera la cadena en un feature class/shapefile en el directorio de trabajos de GP y a partir de ahí ¡una aplicación bomba! La respuesta de polygeo es la ruta que probablemente debería haber tomado, pero estaba bajo una fecha límite y no podía permitirme el tiempo para averiguar esa pieza. La respuesta de KHibma suena muy prometedor como herramientas gp (me imagino que los servicios gp también) tomar un parámetro muy fresco llamado un conjunto de características que le permite dibujar en la memoria (cuando en ArcMap) una característica, pero usted tiene que tener un esquema (un shapefile / clase de características con la bruja para definir todas las cosas regulares al crear un nuevo shapefile / clase de características) ya definido que no debe impedir que mucho. ¡Estaría encantado de ayudar en cualquier forma con esto ya que no estoy trabajando en este tipo de cosas en este momento y me gustaría recordar esas aventuras!

2voto

UnkwnTech Puntos 21942

Creo que tendrá que utilizar JSON/GeoJSON.

Para obtener ideas sobre cómo incluir objetos JSON largos (por ejemplo, una geometría de polígono como una cadena de coordenadas) en una solicitud POST a un Servicio de Geoprocesamiento, y luego cómo leerlo como un parámetro en un script de Python publicado como un Servicio de Geoprocesamiento, consulte ¿Cómo enviar objetos JSON largos (geometría de polígonos, filas de tablas) en una petición POST al servicio de geoprocesamiento? .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X