Eu tenho coordenadas x, y em lat / long e preciso criar células quadradas de 5x5 graus em torno delas, com as coordenadas lat / long sendo os centróides.
Minha primeira opção é criar um buffer em torno dos centróides com 1 segmento e uma distância de 1/2 (5 °) * sqrt (2) (deve multiplicar por sqrt (2) bc, a ferramenta usa o centróide no canto do quadrado como a distância do buffer, ao contrário do centróide até a borda), o que resulta em quadrados laterais ao redor dos meus pontos e gire cada recurso em 45 graus. Prefiro não fazer isso, pois a distância não é tão precisa e não sei como girar cada recurso de buffer individual rapidamente.
Minha segunda opção, que parece muito mais simples, é criar um buffer em torno dos centróides com a distância que eu preciso ((1/2) * 5 °) e usar algo como a ferramenta Feature to Envelope do ArcMap.
Vejo que alguém tem a mesma pergunta aqui e uma resposta foi fornecida, mas não tenho idéia de como fazê-lo programaticamente.
QgsMapLayerRegistry
na última linha porQgsProject
. Para mais informações consulte esteO QGIS 3 fornece uma alternativa rápida e suja: - Vetor -> Ferramentas de geoprocessamento -> Buffer
Selecione sua camada de pontos como uma camada de entrada, verifique se o estilo da tampa final está definido como quadrado e a distância deve ser metade do comprimento pretendido do quadrado (para que um quadrado de 1 km por lado tenha uma distância de 500 m).
fonte
Para transformar pontos em quadrados, você pode tentar
native:buffer
processar o algoritmo com oEND_CAP_STYLE
parâmetro definido como2
(quadrado).Atenção! Os resultados podem variar e dependem do sistema de coordenadas da camada de entrada. Por exemplo, se você usar o WGS 84 e definir a distância para
5000
isso, resultará em uma linha quadrada de 5000 graus (não metros).Testado com pyQGIS 3.6.1:
Exemplo de uso:
fonte