6.4 OPÇÃO 4: ogr2ogr (Conversão Direta CSV → GeoJSON) ⚠️ Método Avançado#
⚠️ ATENÇÃO: Este método requer conhecimento de linha de comando e instalação do GDAL. Se você é iniciante, recomendamos usar a Opção 1 ou Opção 2.
Use esta opção se você prefere usar linha de comando e já tem as geometrias no CSV (como WKT ou lat/lon).
O que é ogr2ogr:
ogr2ogr é uma ferramenta de linha de comando do GDAL que converte entre diversos formatos geoespaciais, incluindo CSV para GeoJSON.
A. Instalação:#
Linux:
sudo apt install gdal-bin # Debian/Ubuntu
sudo pacman -S gdal # Arch LinuxMac:
brew install gdalWindows:
- Baixe OSGeo4W: https://trac.osgeo.org/osgeo4w/
- Ou instale via conda:
conda install -c conda-forge gdal
B. Preparar CSV com Geometria WKT:#
Certifique-se de que seu CSV tem uma coluna wkt com as geometrias:
id,wkt,lote,rodovia,item,detalhamento_servico,unidade,quantidade,km_inicial,km_final,local,data_inicial,data_final,observacoes_gerais
conserva-001,"LINESTRING(-46.633308 -23.550520, -46.634567 -23.551234)",L13,SP0000280,a.1.1,Recuperação funcional do pavimento,km,5.25,22.500,27.750,PISTA_NORTE;PISTA_SUL,2026-03-15,2026-07-20,Período noturno
conserva-002,"POINT(-46.635000 -23.552000)",L13,SP0000330,c.2.4,Sinalização vertical,un,15,132.100,138.500,PISTA_NORTE,2026-02-01,2026-02-15,C. Converter usando ogr2ogr:#
Opção C.1: CSV com coluna WKT#
ogr2ogr -f GeoJSON \
-s_srs EPSG:4674 \
-t_srs EPSG:4674 \
-oo GEOM_POSSIBLE_NAMES=wkt \
-oo KEEP_GEOM_COLUMNS=NO \
L13_conservacao_2026_R0.geojson \
dados_com_wkt.csvOpção C.2: CSV com colunas lat/lon#
ogr2ogr -f GeoJSON \
-s_srs EPSG:4674 \
-t_srs EPSG:4674 \
-oo X_POSSIBLE_NAMES=lon \
-oo Y_POSSIBLE_NAMES=lat \
-oo KEEP_GEOM_COLUMNS=NO \
L13_conservacao_2026_R0.geojson \
dados_com_latlon.csvExplicação dos parâmetros:
-f GeoJSON: Formato de saída-s_srs EPSG:4674: Sistema de referência de origem (SIRGAS 2000)-t_srs EPSG:4674: Sistema de referência de destino (SIRGAS 2000)-oo GEOM_POSSIBLE_NAMES=wkt: Nome da coluna com geometria WKT-oo X_POSSIBLE_NAMES=lon: Nome da coluna com longitude-oo Y_POSSIBLE_NAMES=lat: Nome da coluna com latitude-oo KEEP_GEOM_COLUMNS=NO: Não manter colunas wkt/lat/lon no GeoJSON final
D. Resultado Esperado:#
O GeoJSON gerado terá esta estrutura:
{
"type": "FeatureCollection",
"name": "dados_com_wkt",
"features": [
{
"type": "Feature",
"properties": {
"id": "conserva-001",
"lote": "L13",
"rodovia": "SP0000280",
"item": "a.1.1",
"local": "PISTA_NORTE;PISTA_SUL",
...
},
"geometry": {
"type": "LineString",
"coordinates": [[-46.633308, -23.55052], [-46.634567, -23.551234]]
}
}
]
}E. ⚠️ IMPORTANTE - Ajustes Necessários:#
O arquivo gerado pelo ogr2ogr NÃO estará 100% conforme o schema R0. Você ainda precisará:
❌ Remover campo
name(se existir):- Deletar a linha
"name": "dados_com_wkt",
- Deletar a linha
❌ Adicionar campo
crscorreto:- O ogr2ogr pode omitir o CRS ou usar formato RFC7946
- Você precisa adicionar manualmente:
"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::4674" } },❌ Adicionar campo
metadata:"metadata": { "schema_version": "R0", "data_geracao": "2025-11-08T10:30:00-03:00" },❌ Converter campo
localde string para array:- De:
"local": "PISTA_NORTE;PISTA_SUL" - Para:
"local": ["PISTA_NORTE", "PISTA_SUL"] - Use uma das opções descritas em Adicionar Metadados e Ajustar Formato (manual, regex, script Python, ou jq)
- De:
Vantagens e Desvantagens#
Vantagens:
- ✅ Geometria já vem pronta no GeoJSON
- ✅ Não precisa usar interface gráfica do QGIS
- ✅ Rápido para grandes volumes de dados
- ✅ Pode ser automatizado em scripts
Desvantagens:
- ❌ Requer instalação do GDAL/ogr2ogr
- ❌ Ainda precisa de ajustes manuais no JSON (CRS, metadata, campo
local) - ❌ Requer conhecimento de linha de comando
F. Prosseguir para o Passo 5#
Continue para Adicionar Metadados e Ajustar Formato.
📌 Próximo passo: