6.1 OPÇÃO 1: Fórmula Excel/Calc para POINT/MULTIPOINT (Automática) 🌟#
Use esta opção quando você tem coordenadas de km_inicial e km_final e deseja gerar automaticamente geometrias POINT ou MULTIPOINT.
Quando usar:
- ✅ Você tem coordenadas dos pontos inicial e final de cada serviço
- ✅ Deseja processo rápido e automático
- ✅ Serviços pontuais ou com dois pontos de referência
O que a fórmula faz:
- Se
km_inicial = km_final(coordenadas iguais) → Gera POINT (serviço pontual) - Se
km_inicial ≠ km_final(coordenadas diferentes) → Gera MULTIPOINT (dois pontos de referência)
Passo A: Adicionar Coluna WKT com Fórmula#
Certifique-se de que você já preencheu as 4 colunas de coordenadas (conforme Seção 6.3.D):
lon_inicio,lat_inicio,lon_fim,lat_fim
Crie uma nova coluna chamada
wkt(após as colunas de coordenadas)Escolha e copie a fórmula adequada para seu software:
📊 Fórmulas por Software#
MICROSOFT EXCEL / ONLYOFFICE SPREADSHEET (Português):
=SE(E(lon_inicio=lon_fim;lat_inicio=lat_fim);"POINT("&lon_inicio&" "&lat_inicio&")";"MULTIPOINT("&lon_inicio&" "&lat_inicio&", "&lon_fim&" "&lat_fim&")")MICROSOFT EXCEL / ONLYOFFICE SPREADSHEET (Inglês):
=IF(AND(lon_inicio=lon_fim,lat_inicio=lat_fim),"POINT("&lon_inicio&" "&lat_inicio&")","MULTIPOINT("&lon_inicio&" "&lat_inicio&", "&lon_fim&" "&lat_fim&")")LIBREOFFICE CALC (Português):
=SE(E(lon_inicio=lon_fim;lat_inicio=lat_fim);"POINT("&lon_inicio&" "&lat_inicio&")";"MULTIPOINT("&lon_inicio&" "&lat_inicio&", "&lon_fim&" "&lat_fim&")")LIBREOFFICE CALC (Inglês):
=IF(AND(lon_inicio=lon_fim,lat_inicio=lat_fim),"POINT("&lon_inicio&" "&lat_inicio&")","MULTIPOINT("&lon_inicio&" "&lat_inicio&", "&lon_fim&" "&lat_fim&")")Cole a fórmula na primeira célula da coluna
wkt(linha 2, se linha 1 é cabeçalho)Copie a fórmula para todas as linhas de dados:
- Selecione a célula com a fórmula
- Copie (Ctrl+C)
- Selecione todas as células abaixo (até a última linha de dados)
- Cole (Ctrl+V)
Passo B: Verificar Resultado#
Exemplo de saída:
| id | lon_inicio | lat_inicio | lon_fim | lat_fim | wkt | Tipo Gerado |
|---|---|---|---|---|---|---|
| conserva-001 | -46.6333 | -23.5505 | -46.6333 | -23.5505 | POINT(-46.6333 -23.5505) | Pontual (início = fim) |
| conserva-002 | -46.6333 | -23.5505 | -46.6345 | -23.5515 | MULTIPOINT(-46.6333 -23.5505, -46.6345 -23.5515) | Dois pontos de referência |
Verifique:
- ✅ WKT está no formato correto (sem vírgulas como separador decimal)
- ✅ POINT tem apenas 1 coordenada
- ✅ MULTIPOINT tem 2 coordenadas separadas por vírgula
Passo C: Exportar para CSV#
Salve a planilha como CSV:
- Menu: Arquivo → Salvar Como
- Formato: CSV (delimitado por vírgulas) (.csv)
- Codificação: UTF-8
- Nome:
dados_com_wkt.csv
IMPORTANTE: Verifique que o separador decimal no CSV é ponto (.)
Passo D: Importar no QGIS#
Abra o QGIS (baixe em https://qgis.org/download/ se necessário)
Menu: Camada → Adicionar Camada → Adicionar Camada de Texto Delimitado
Configuração:
- Nome da camada:
conservacao_2026(ou nome apropriado) - Nome do arquivo: Selecione seu
dados_com_wkt.csv - Formato de arquivo: CSV (vírgulas)
- Codificação: UTF-8
- Definição de geometria: Definição de geometria WKT
- Campo de geometria:
wkt - CRS da geometria: EPSG:4674 - SIRGAS 2000
- Nome da camada:
Clique em “Adicionar”
Verifique: As geometrias devem aparecer no mapa
Passo E: Prosseguir para Exportação#
Continue para Exportar para GeoJSON.
⚠️ Notas Importantes#
1. POINT vs MULTIPOINT:
- POINT: Serviço em um único local (ex: instalação de equipamento no km 25.3)
- MULTIPOINT: Representa dois pontos de referência (início e fim do trecho)
- MULTIPOINT NÃO é a geometria completa da rodovia - são apenas pontos de referência
2. Quando MULTIPOINT é apropriado:
- ✅ Para visualização dos pontos de início e fim do serviço
- ✅ Quando precisão da geometria intermediária não é crítica
- ✅ Como solução rápida e automática
3. Quando MULTIPOINT NÃO é apropriado:
- ❌ Se você precisa de LineString que segue o traçado da rodovia
- ❌ Se você precisa de Polygon representando área precisa
- ❌ Se requisitos exigem geometria detalhada
Para geometrias precisas (LineString/Polygon seguindo traçado), use Opção 3 (QGIS Desenho Manual).
4. Separador Decimal:
- A fórmula gera WKT com ponto (.) como separador
- Se você vê vírgulas no WKT, revise a Seção 6.3.D sobre formatação de coordenadas
📋 Fórmula com Validação Automática (Avançado)#
Se você quer que a fórmula converta automaticamente vírgulas para pontos no WKT, use esta versão:
Excel/OnlyOffice (Português) - COM VALIDAÇÃO:
=SE(SOMA(ÉNÚM(lon_inicio);ÉNÚM(lat_inicio);ÉNÚM(lon_fim);ÉNÚM(lat_fim))<4;"❌ ERRO: Coordenadas inválidas";SE(E(lon_inicio=lon_fim;lat_inicio=lat_fim);"POINT("&SUBSTITUIR(TEXTO(lon_inicio;"0.000000");",";".")&" "&SUBSTITUIR(TEXTO(lat_inicio;"0.000000");",";".")&")";"MULTIPOINT("&SUBSTITUIR(TEXTO(lon_inicio;"0.000000");",";".")&" "&SUBSTITUIR(TEXTO(lat_inicio;"0.000000");",";".")&", "&SUBSTITUIR(TEXTO(lon_fim;"0.000000");",";".")&" "&SUBSTITUIR(TEXTO(lat_fim;"0.000000");",";".")&")"))Excel/OnlyOffice (Inglês) - COM VALIDAÇÃO:
=IF(SUM(ISNUMBER(lon_inicio),ISNUMBER(lat_inicio),ISNUMBER(lon_fim),ISNUMBER(lat_fim))<4,"❌ ERROR: Invalid coordinates",IF(AND(lon_inicio=lon_fim,lat_inicio=lat_fim),"POINT("&SUBSTITUTE(TEXT(lon_inicio,"0.000000"),",",".")&" "&SUBSTITUTE(TEXT(lat_inicio,"0.000000"),",",".")&")","MULTIPOINT("&SUBSTITUTE(TEXT(lon_inicio,"0.000000"),",",".")&" "&SUBSTITUTE(TEXT(lat_inicio,"0.000000"),",",".")&", "&SUBSTITUTE(TEXT(lon_fim,"0.000000"),",",".")&" "&SUBSTITUTE(TEXT(lat_fim,"0.000000"),",",".")&")"))LibreOffice Calc (Português) - COM VALIDAÇÃO:
=SE(SOMA(ÉNÚMERO(lon_inicio);ÉNÚMERO(lat_inicio);ÉNÚMERO(lon_fim);ÉNÚMERO(lat_fim))<4;"❌ ERRO: Coordenadas inválidas";SE(E(lon_inicio=lon_fim;lat_inicio=lat_fim);"POINT("&SUBSTITUIR(TEXTO(lon_inicio;"0,000000");",";".")&" "&SUBSTITUIR(TEXTO(lat_inicio;"0,000000");",";".")&")";"MULTIPOINT("&SUBSTITUIR(TEXTO(lon_inicio;"0,000000");",";".")&" "&SUBSTITUIR(TEXTO(lat_inicio;"0,000000");",";".")&", "&SUBSTITUIR(TEXTO(lon_fim;"0,000000");",";".")&" "&SUBSTITUIR(TEXTO(lat_fim;"0,000000");",";".")&")"))LibreOffice Calc (Inglês) - COM VALIDAÇÃO:
=IF(SUM(ISNUMBER(lon_inicio),ISNUMBER(lat_inicio),ISNUMBER(lon_fim),ISNUMBER(lat_fim))<4,"❌ ERROR: Invalid coordinates",IF(AND(lon_inicio=lon_fim,lat_inicio=lat_fim),"POINT("&SUBSTITUTE(TEXT(lon_inicio,"0.000000"),",",".")&" "&SUBSTITUTE(TEXT(lat_inicio,"0.000000"),",",".")&")","MULTIPOINT("&SUBSTITUTE(TEXT(lon_inicio,"0.000000"),",",".")&" "&SUBSTITUTE(TEXT(lat_inicio,"0.000000"),",",".")&", "&SUBSTITUTE(TEXT(lon_fim,"0.000000"),",",".")&" "&SUBSTITUTE(TEXT(lat_fim,"0.000000"),",",".")&")"))Essa fórmula:
- ✅ Valida se as coordenadas são números válidos
- ✅ Converte automaticamente vírgulas para pontos
- ✅ Mantém 6 casas decimais
- ❌ Mostra erro se dados estiverem incorretos
Use a versão simples se suas coordenadas já estão formatadas corretamente com ponto decimal.
🔧 Solução de Problemas Comuns#
Problema 1: WKT gerado com vírgulas no lugar de pontos#
Sintoma:
MULTIPOINT(-46,6333 -23,5505, -46,6345 -23,5515) ❌ INVÁLIDOSoluções:
Opção A: Use a fórmula com validação (seção acima) que converte automaticamente
Opção B: Formate as células de coordenadas como Número:
- Selecione colunas lon_inicio, lat_inicio, lon_fim, lat_fim
- Clique direito → Formatar Células → Número
- Casas decimais: 6
- Refaça a fórmula WKT
Opção C: Localizar e Substituir no WKT gerado:
- Selecione a coluna
wkt - Ctrl+H (Localizar e Substituir)
- Localizar:
, - Substituir:
. - ATENÇÃO: Isto substituirá TODAS as vírgulas, inclusive as que separam coordenadas no MULTIPOINT
- Solução: Substituir primeiro
,(vírgula+espaço) por;(ponto-e-vírgula+espaço), depois,por., depois;de volta para,
Opção D (Mais Segura): Use substituição com regex no VS Code:
- Abra o CSV no VS Code
- Ctrl+H, ative regex (ícone
.*) - Localizar:
(-?\d+),(\d+) - Substituir:
$1.$2 - Substituir Tudo
Problema 2: Fórmula retorna erro #NOME? ou #VALUE!#
Causas possíveis:
Nomes de função em idioma errado:
- Se Excel está em português, use
SE,E,CONCATENAR - Se Excel está em inglês, use
IF,AND,CONCATENATE
- Se Excel está em português, use
Nomes de colunas incorretos:
- Verifique se as colunas se chamam exatamente:
lon_inicio,lat_inicio,lon_fim,lat_fim - Sem espaços, sem acentos
- Verifique se as colunas se chamam exatamente:
Células vazias:
- Certifique-se de que todas as 4 colunas de coordenadas estão preenchidas
- Use a fórmula com validação para detectar células vazias
Problema 3: MULTIPOINT sempre gerado, mesmo quando coordenadas são iguais#
Causa: Coordenadas aparentemente iguais têm pequenas diferenças nas casas decimais
Solução: Arredonde as coordenadas para 6 casas decimais:
=SE(E(ARRED(lon_inicio;6)=ARRED(lon_fim;6);ARRED(lat_inicio;6)=ARRED(lat_fim;6));"POINT("&lon_inicio&" "&lat_inicio&")";"MULTIPOINT("&lon_inicio&" "&lat_inicio&", "&lon_fim&" "&lat_fim&")")Problema 4: QGIS não reconhece geometrias ao importar CSV#
Soluções:
Verifique formato do WKT:
- Deve ser exatamente:
POINT(lon lat)ouMULTIPOINT(lon1 lat1, lon2 lat2) - Sem aspas extras, sem espaços no início/fim
- Deve ser exatamente:
Verifique codificação do CSV:
- Deve ser UTF-8
- Ao salvar, escolha explicitamente “CSV UTF-8”
Configuração no QGIS:
- “Definição de geometria”: selecione “Definição de geometria WKT”
- “Campo de geometria”: selecione a coluna
wkt - “CRS da geometria”: EPSG:4674
Separador de CSV:
- Se o CSV usa ponto-e-vírgula (
;) como delimitador, altere nas configurações do QGIS - Ou salve novamente o Excel como “CSV (delimitado por vírgulas)”
- Se o CSV usa ponto-e-vírgula (
📌 Próximo passo: