Sim, eu percebi o objectivo. Diria que q tua expressão devia funcionar, mas só
experimentando. Não podes antes usar ferramentas de geoprocessamento para fazer
isso? Ou tem mesmo de ser dinâmico? É que com a quantidade de intersecções, se
as camadas tiverem muitos poligonos a coisa pode ficar muito lenta.
Sent with Shortwave
<https://www.shortwave.com?utm_medium=email&utm_content=signature&utm_source=c2VuaG9yLm5ldG9AZ21haWwuY29t>
On Sat Apr 27, 2024, 03:07 AM GMT, Bruno Feliciano
<mailto:brunofelicianodelima...@gmail.com> wrote:
> Vou explicar o que eu quero
>
> Digamos que você tenha uma camada chamada "IMÓVEIS_RURAL" e outra chamada
> "LIMITE_MUNICIPAL". Na camada "LIMITE_MUNICIPAL", há duas áreas em que um
> imovel(lote) se sobrepõem: uma área de 10.395,32 m² e outra de 19.604,69 m².
> Você deseja calcular a área de sobreposição e identificar a maior área de
> sobreposição, que é de 19.604,69 m². Em seguida, você quer usar o valor da
> coluna "município" na camada "LIMITE_MUNICIPAL" correspondente a essa maior
> área de sobreposição e preencher o valor desejado!
>
> Espero que essa seja uma boa forma de explica onde eu quero chegar.
>
>
>
>
> Em sex., 26 de abr. de 2024 às 19:01, Alexandre Neto <senhor.n...@gmail.com
> <mailto:senhor.n...@gmail.com>> escreveu:
>> Ah sim, essa expressão faz sentido. Que resultados devolve?
>>
>> A sexta, 26/04/2024, 21:00, Bruno Feliciano
>> <brunofelicianodelima...@gmail.com
>> <mailto:brunofelicianodelima...@gmail.com>> escreveu:
>>> Tentei e não funcionou.
>>> Acabei optando por outra expressão e também não funcionou.
>>>
>>> Essa no caso, não retornou o resultado que eu esperava.
>>>
>>> aggregate(
>>> layer:= 'LIMITE_MUNICIPAL',
>>> aggregate:='max',
>>> expression:=municipio,
>>> filter:=intersects($geometry, geometry(@parent)),
>>> order_by:=area(intersection($geometry, geometry(@parent)))
>>> )
>>>
>>> Em sex., 26 de abr. de 2024 às 11:34, Alexandre Neto <senhor.n...@gmail.com
>>> <mailto:senhor.n...@gmail.com>> escreveu:
>>>> Boa tarde,
>>>>
>>>> Com esta expressão ele está a obter um array com todos os valores e não
>>>> apenas o primeiro.
>>>> Em vez de "array_agg", talvez tenha de usar o minimun ou maxumum, mas
>>>> colocando na opção order by a coluna ou o cálculo da área.
>>>>
>>>> Cumprimentos,
>>>>
>>>> Alexandre Neto
>>>>
>>>>
>>>> On Tue, 23 Apr 2024 at 21:40, Bruno Feliciano via QGIS-User
>>>> <qgis-user@lists.osgeo.org <mailto:qgis-user@lists.osgeo.org>> wrote:
>>>>> Olá, estou usando essa expressão para puxar de uma camada um determinado
>>>>> valor, em casos onde minha poligonal intersecta com duas com duas, ele
>>>>> está trazendo o valor aleatório (ou o primeiro).
>>>>>
>>>>> Estou buscando uma expressão para puxar apenas o valor onde minha área
>>>>> faz maior intersecção.
>>>>>
[image]
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> QGIS-User mailing list
>>>>> QGIS-User@lists.osgeo.org <mailto:QGIS-User@lists.osgeo.org>
>>>>> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
>>>>> <https://lists.osgeo.org/mailman/listinfo/qgis-user>
>>>>> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
>>>>> <https://lists.osgeo.org/mailman/listinfo/qgis-user>
_______________________________________________
QGIS-User mailing list
QGIS-User@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user