Detectar piscinas no QGIS: 5 métodos

Para detectar piscinas em
, consulte o OpenStreetMap primeiro: Vector > QuickOSM > QuickOSM…, chave leisure, valor swimming_pool. Onde o mapa é falho, limiarize o azul na calculadora raster ou rode um modelo de segmentação. A resolução do terreno decide qual usar.
Onde a web erra
Três respostas se repetem em fóruns e tutoriais, e cada uma custa um dia de trabalho.
"Rode NDWI no Sentinel-2 e conte as piscinas." Verde e NIR vêm a 10 m e SWIR a 20 m, enquanto uma piscina enterrada nova tem 29 a 30 m². Isso é um terço de pixel. MNDWI sobre um subúrbio retorna o reservatório na saída da cidade e nada nos jardins.
"Limiarize o azul e pronto." Uma regra de cor lê cor e nada mais. Um telhado metálico azul e uma lona sobre lenha passam, uma piscina com fundo escuro e uma piscina verde de algas não passam, e uma piscina coberta nem aparece na imagem.
"A detecção é a lista." A administração fiscal francesa rodou isso em fotografia do IGN e mesmo assim mandou carta a cada proprietário. Uma detecção é uma candidata, e juntá-la a um lote e a um nome a transforma em dado pessoal.
A resposta curta
| Sua entrada | Método | Custo |
|---|---|---|
| Qualquer área com mapeadores OSM ativos | Método 1, QuickOSM em leisure=swimming_pool | Grátis, uma consulta |
| Ortofoto RGB de 5 a 30 cm | Método 2, limiar de cor na calculadora raster | Grátis, no núcleo do QGIS |
| Imagem com banda de infravermelho próximo ou SWIR | Método 3, um índice de água, depois um limiar | Grátis, cego para piscinas de jardim no satélite |
| Imagem multiespectral e uma tarde livre | Método 4, SCP ou dzetsaka | plugins gratuitos, seu tempo desenhando áreas de treino |
| Ortofoto RGB e centenas de piscinas | Método 5, um modelo de segmentação | plugins gratuitos exigem seu próprio modelo ou uma GPU. plugins em nuvem têm faixas gratuitas, depois assinatura |
Como comparei
Cinco critérios: entrada, se a imagem sai da sua máquina, quanto da saída você confere à mão, custo, esforço de instalação. Cada versão, preço e caminho de menu foi conferido em 3 de setembro de 2026 no manual do QGIS 3.44 e na documentação de cada ferramenta. Rodei os métodos gratuitos em uma ortofoto suburbana francesa e em uma cena Sentinel-2 do mesmo quarteirão.
Nós construímos um dos cinco, o Método 5. Para uma varredura em que alguém assina um número publicado de acurácia, use Mapflow. Ele entrega um modelo dedicado Swimming pools, sob demanda, com F1 acima de 0.95 ao lado. Nós não publicamos número para piscinas.
Antes de começar
Trabalhe em um CRS projetado, pois três etapas abaixo filtram por área em unidades do layer. Depois confira a resolução. A federação francesa de piscinas indica 29 a 30 m² para uma piscina enterrada nova, 3.000 pixels em uma ortofoto a 10 cm e um terço de pixel em uma banda Sentinel-2 a 10 m.
A administração fiscal francesa roda isso em fotografia aérea do IGN. Seu piloto Foncier innovant tributou 20.356 piscinas em nove departamentos em 2022, no valor de 9,8 milhões de euros, e a passagem nacional de 2023 achou 150.000 piscinas tributáveis fora do cadastro. Cada uma ainda passou por uma carta ao proprietário.
Método 1: Puxe as piscinas que alguém já mapeou
O OpenStreetMap tem 3.036.801 objetos marcados com leisure=swimming_pool, 2.731.704 deles como ways com geometria real, no taginfo em 3 de setembro de 2026.
Open QuickOSM and query
Vector > QuickOSM > QuickOSM…, which queries the Overpass API. Key leisure, value swimming_pool, on the canvas extent or a named administrative area.
Keep polygons, filter to gardens
A pool mapped as a node has no area, so take the polygon layer. 1,808,809 of these pools also carry access=private, the filter for backyard pools.
leisure=swimming_area é outro objeto: um local designado para nadar em um lago ou no mar.

Use quando: você precisa de piscinas públicas e comerciais.
Pule quando: o trabalho é achar o que ninguém declarou.
Método 2: Limiarize o azul na calculadora raster
O mais próximo que o núcleo do QGIS chega. Abra Raster > Raster Calculator…, where bands are layer_name@band_number. On an RGB orthophoto this keeps bright, saturated blue:
("ortho@3" > 90) AND ("ortho@3" - "ortho@1" > 25) AND ("ortho@3" - "ortho@2" > 10)
Esses números são meus, de uma ortofoto a 20 cm. Amostre vinte pixels de piscina e vinte pixels de telhado, depois ajuste.
Polygonize com Raster > Conversion > Polygonize (Raster to Vector), then filter with native:extractbyexpression: $area > 6 AND $area < 400 for size, and my own ratio 4 * pi() * $area / ($perimeter ^ 2) > 0.5 for shape, since QGIS ships no compactness function.

Valores RGB mudam com ângulo de sol e exposição, então um limiar ajustado em uma faixa de voo quebra na seguinte. Matiz e saturação aguentam melhor, via o módulo da Caixa de Ferramentas de Processamento i.rgb.his, which "transforms raster maps from RGB (Red-Green-Blue) color space to HIS (Hue-Intensity-Saturation) color space".
Nenhuma regra sabe o que é a coisa azul.
- Sombra. Telhados sombreados parecem azul-escuro. Suba o piso e você perde piscinas sob árvores.
- Telhados azuis e lonas. Claros, azuis, muitas vezes com o formato certo.
- Piscinas escuras e verdes. Revestimento preto parece asfalto, alga parece gramado. Minha regra perdeu ambas.
- Piscinas cobertas. Nem estão na imagem.

Use quando: uma ortofoto consistente que você vai conferir à mão.
Pule quando: um mosaico de vários voos.
Método 3: Um índice de água, em imagem com as bandas
Água absorve infravermelho próximo quase por completo, então fica preta no NIR enquanto um telhado azul continua claro.
- NDWI, McFeeters 1996:
(Green - NIR) / (Green + NIR). On Sentinel-2,(B3 - B8) / (B3 + B8). - MNDWI, Xu 2006:
(Green - SWIR) / (Green + SWIR). On Sentinel-2,(B3 - B11) / (B3 + B11). Swapping NIR for SWIR suppresses built-up land, the point over a suburb.
Limiarize acima de zero, polygonize, filtre como no Método 2. Rodríguez-Cuenca e Alonso ajustaram um Normalized Difference Swimming Pools Index para esse trabalho em 2014.
Sentinel-2 entrega B3 e B8 a 10 m e B11 a 20 m, então uma piscina de 30 m² nunca se separa do jardim. MNDWI sobre um quarteirão residencial retorna o reservatório na saída da cidade e nada mais.

Use quando: sua ortofoto tem banda NIR a 50 cm ou melhor. Ganha da cor com folga.
Pule quando: RGB de três bandas, ou Sentinel-2 para piscinas de jardim.
Método 4: Treine um classificador na sua própria imagem
Um classificador aprende seus pixels de piscina a partir de exemplos que você desenha, então sobrevive a um mosaico que quebra um limiar fixo.
Semi-Automatic Classification Plugin by Luca Congedo is the usual choice. Create a training input (.scpx) in the SCP dock, draw ROIs, then run SCP > Band processing > Classification in the main window. Six algorithms, from Minimum Distance to Random Forest. Version 9.0.4 shipped 11 July 2026 but declares a QGIS minimum of 3.99, so QGIS 3.x still installs 8.5.0.
dzetsaka 5.0.11, by Nicolas Karasiak, is lighter: eleven classifiers, and its Gaussian Mixture Model runs without scikit-learn.
Desenhe também uma classe de telhado azul e uma classe de sombra. Um classificador só rejeita o que você mostrou.

Use quando: vários voos ou estações, e você vai reutilizar o fluxo.
Pule quando: uma ortofoto, uma passagem. Ambos classificam pixels, não objetos, então você ainda polygoniza e filtra.
Método 5: Um modelo de segmentação
Um modelo de segmentação lê forma e contexto, e é assim que separa uma piscina de uma lona da mesma cor. Nós construímos um desses, AI Segmentation. This section is about our own tool.
Install and sign in
Plugin manager, QGIS 3.22 or later. No GPU, no model weights. An account, a free allowance, then 39 euros a month excluding VAT.
Draw a zone, type the word, filter
Type swimming pool and run. Polygons come back in the project CRS with area, perimeter and a confidence score. Sort, then delete what is wrong.
Dois números da nossa tabela de ajuste, lidos em execução. Uma rodada de piscina pede cerca de 0,13 m por pixel em quadros de no máximo 300 m, porque a piscina se dissolve no terraço em qualquer resolução mais grosseira. A revisão abre em 0,20 de confiança para swimming pool against 0.30 for building, since pool masks score lower than roofs.

Um limite: piscina coberta nunca chega ao modelo, então volta como perda. Ambos os modos em nuvem enviam imagens aos nossos servidores na União Europeia.

Quatro outros fazem esse trabalho, conferidos em 3 de setembro de 2026.
| Ferramenta | O que você instala | GPU | Conta | A imagem sai da sua máquina | Suporte a piscinas | Custo |
|---|---|---|---|---|---|---|
| Deepness | Gerenciador de plugin, seus pacotes Python, um modelo ONNX | Opcional, CPU funciona | Não | Não | Qualquer modelo que você fornecer | Grátis |
| Geo-SAM | Gerenciador de plugin, dependências, pesos do modelo | Opcional | Não | Não | Um objeto por clique ou caixa | Grátis |
| samgeo | Um pacote Python, sem painel no QGIS | Recomendada | Não | Não | Programável, sem classe de piscina | Grátis |
| Mapflow | Gerenciador de plugin | Não | Sim | Sim | Um modelo Swimming pools, sob demanda | Créditos, pago |
| AI Segmentation (ours) | Gerenciador de plugin | Não | Sim | Sim nos dois modos em nuvem, não para o modelo local | Digite swimming pool | Franquia gratuita, depois 39 euros por mês sem IVA |
Use quando: mais piscinas do que você contornaria à mão.
Pule quando: a imagem não pode sair da sua máquina. Use Deepness ou Geo-SAM.
Os cinco métodos lado a lado
| O que você tem | Método |
|---|---|
| Uma cidade bem mapeada, piscinas públicas bastam | Método 1, QuickOSM |
| Uma ortofoto RGB melhor que 30 cm | Método 2, limiar de cor, depois filtre |
| Uma ortofoto com banda NIR | Método 3, NDWI |
| Sentinel-2 ou qualquer coisa a 10 m | Nenhum deles para piscinas de jardim. Busque imagem mais fina |
| Vários voos, um fluxo para repetir | Método 4, SCP ou dzetsaka |
| Centenas de piscinas e sem paciência para falsos positivos | Método 5, um modelo de segmentação |
O que lembrar
Resolução decide primeiro, depois as bandas, depois quanto de conferência manual você aguenta.
Uma piscina de 30 m² nunca se separa do jardim a 10 m, então Sentinel-2 é o sensor errado para piscinas de quintal, qualquer que seja o índice.
Um limiar de cor retorna tudo que é azul no quarteirão, então filtre por área e compacidade antes de olhar o resultado.
Piscina coberta está fora da imagem, então nenhum método desta página a acha e nenhum preço muda isso.
Uma detecção é uma candidata. Qualquer que seja o método, abra os dez polígonos de menor confiança antes de agir sobre o layer.
Try it free in QGIS, no card needed
Perguntas frequentes
O QGIS detecta piscinas sozinho?
Não como recurso. O núcleo do QGIS dá a calculadora raster, polygonize e os filtros vetoriais, que é o Método 2. Reconhecer uma piscina como objeto exige um plugin.
Dá para achar piscinas de quintal em imagem Sentinel-2?
Não. Verde e NIR são bandas de 10 m e SWIR é de 20 m, então uma piscina de 30 m² é um terço de pixel. Use imagem aérea a 30 cm ou melhor.
Por que telhados azuis voltam como piscinas?
Um telhado metálico pintado é mais claro e mais azul que água de piscina, e uma regra de cor só lê cor. Filtre por área e compacidade, migre para NDWI ou use um modelo.
É legal detectar piscinas por imagem aérea?
Junte uma detecção a um lote e ao nome do dono e vira dado pessoal, que na UE exige base legal sob o GDPR. Uma administração fiscal tem uma escrita em lei. Uma empresa privada em geral não, então fale com seu encarregado de proteção de dados antes da junção, e nunca deixe a saída de um modelo ser a última etapa antes de uma cobrança.
Que acurácia devo esperar?
Um número só seria falso, pois muda com sua imagem e a estação. Piscinas abertas a 20 cm voltam bem, piscinas cobertas passam batido em tudo aqui, e telhados azuis são o que você apaga à mão.
Para a etapa de filtragem completa, leia detecting building footprints in QGIS. Para a limpeza por trás de qualquer máscara, raster to vector in QGIS. O QGIS AI hub tem o resto.
Leia a seguirAI Segmentation no QGIS: guia completo


