[Portugal] Referência WFS num pedido WPS

Luís de Sousa luis.a.de.sousa gmail.com
Terça-Feira, 25 de Setembro de 2012 - 00:27:54 PDT


Olá Jorge,

Neste exemplo do GeoServer não é necessário usar a marca ComplexData:

http://docs.geoserver.org/stable/en/user/extensions/wps/processes.html

E faz sentido, uma vez que ComplexData e Reference são coisas
diferentes. Não deveria um pedido com a mesma estrutura funcionar
tanto no PyWPS como no Geoserver?

O que dizes em relação ao PyWPS não ser capaz de processar as
referências WFS é um bocado chato. Isto significa que a implementação
da norma não é completa. Fazer um fork do PyWPS não era exactamente a
minha idea.

Abraço,

Luís



2012/9/24 Jorge de Jesus <jorge.mendesdejesus at wur.nl>:
>
> Oi
>
> Estive a ver na pywps wiki e nao ha 1 exemplo de como fazer um pedido de
> referencia em XML usando POST.
>
> Se queres bons exemplos ve na pasta de /tests/requests do codigo do pywps
>
> Acho que o problema e' que estas a misturar um input de referencia con
> um input em  XML.
>
> Um pedido usando uma referencia e' assim:
>
> http://pastebin.com/qrjxDhSn
>
> No teu caso basta:
> <wps:Reference
> xlink:href="http://myServer/cgi-bin/mapserv?map=/path/to/file.map">
>
> Depois o PyWPS vai buscar o URL e' melhor se codificare o URL
> (enquote_plus no http://docs.python.org/library/urllib.html)
>
> MAS Se tens de passar um pedido WFS tipo:
>
> <wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs"
> :
> <wfs:Query
> xmlns:feature="http://myServer/cgi-bin/mapserv?map=/path/to/file.map"
> typeName="myLayer">
>
>
> Vais ter de meter o pedido dentro do <ComplexData> ja que isto e' um
> conteudo em XML e o conteudo vai estar disponivel dentro do execute(), e
> teras de escrever umas linhas de codigo para enviar o pedido para o
> servidor WFS.
>
>
> Jorge
>
>
>
>
> On 09/24/2012 05:31 PM, Luís de Sousa wrote:
>> Olá a todos,
>>
>> Estou a usar o PyWPS e preciso de passar como argumento a alguns
>> processos uma referencia para um tema disponível por WFS. Para tal
>> estou a construir um pedido POST em xml, como o que segue em baixo.
>> Enviando este pedido estou a receber um "internal server error - 500".
>> Imagino que seja um problema com o PyWPS mas não estou inteiramente
>> certo que pedido estaja correcto, se alguém podes dar uma olhada
>> agradecia.
>>
>> Obrigado,
>>
>> Luís
>>
>> ###################################
>> <?xml version="1.0" encoding="UTF-8"?>
>> <wps:Execute service="WPS"version="1.0.0"language="en-CA"
>> xmlns:wps="http://www.opengis.net/wps/1.0.0"
>> xmlns:ows="http://www.opengis.net/ows/1.1"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xsi:schemaLocation="http://www.opengis.net/wps/1.0.0/wpsExecute_request.xsd">
>>
>> <ows:Identifier>bufferProcess</ows:Identifier>
>>
>> <wps:DataInputs>
>>
>>  <wps:Input>
>>   <ows:Identifier>data</ows:Identifier>
>>   <wps:Reference mimeType="text/xml; subtype=wfs-collection/1.0"
>> xlink:href="http://myServer/cgi-bin/mapserv?map=/path/to/file.map"
>> method="POST">
>>     <wps:Body>
>>      <wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" service="WFS"
>> version="1.1.0" maxFeatures="1"
>> xsi:schemaLocation="http://www.opengis.net/wfs
>> http://schemas.opengis.net/wfs/1.1.0/wfs.xsd">
>>       <wfs:Query
>> xmlns:feature="http://myServer/cgi-bin/mapserv?map=/path/to/file.map"
>> typeName="myLayer">
>>      </wfs:Query>
>>     </wfs:GetFeature>
>>    </wps:Body>
>>   </wps:Reference>
>>  </wps:Input>
>>
>>  <wps:Input>
>>   <ows:Identifier>size</ows:Identifier>
>>       <wps:Data>
>>         <wps:LiteralData>1</wps:LiteralData>
>>       </wps:Data>
>>  </wps:Input>
>>
>> </wps:DataInputs>
>>
>>   <wps:ResponseForm>
>>       <wps:ResponseDocument lineage="true"
>>               storeExecuteResponse="true" status="true">
>>       </wps:ResponseDocument>
>>   </wps:ResponseForm>
>>
>> </wps:Execute>
>> _______________________________________________
>> Portugal mailing list
>> Portugal at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/portugal
>>
>>
>
>
> --
> ISRIC - World Soil Information Post: PO box 353, 6700 AJ, Wageningen,
> The Netherlands Visiting Address: Droevendaalsesteeg 3, 6708 PB
> Wageningen (Bdg. 101), Office: C.013 Office Phone: +31 (0) 317 4 83715
> Mobile Phone: +31 (0) 613 9 06950 OpenPGPKey: 0xDEE898AB
>
>
> _______________________________________________
> Portugal mailing list
> Portugal at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/portugal


More information about the Portugal mailing list