---
schema_version: "1"
id: da1851d75fc9a3fe5504ce386c0814031812f8ffcf51e4d759d823e76532d1bd
title: Conectar a dados espaciais em um banco de dados
collection: tableau
version: next
locale: pt-br
portal_url: https://docs.salesforce.com/tableau/next/pt-br/pro/desktop/maps_spatial_sql.md
canonical_url: https://help.tableau.com/v0.0/pro/desktop/pt-br/maps_spatial_sql.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 6ccfe108fa880b873ae06d625507bb6058758eb5677933496d38b082da3b5185
description: Connect to spatial data in a database and use custom SQL or RAWSQL for analysis.
---
[Pular para o conteúdo principal](#main-content)

# Conectar a dados espaciais em um banco de dados

Você pode usar as colunas espaciais armazenadas em seu banco de dados para criar visualizações de mapa no Tableau. Você pode se conectar a fontes de dados espaciais compatíveis e criar visualizações com elas para analisar dados espaciais, ou pode se conectar a consultas SQL ou RAWSQL personalizadas para realizar análises espaciais avançadas.

O Tableau é compatível com conexões diretas aos dados espaciais usando estes conectores:

- Amazon Redshift
- Microsoft SQL Server
- Google BigQuery (a partir do Tableau 2026.2)
- Oracle
- PostgreSQL + PostGIS
- Pivotal Greenplum + PostGIS
- Snowflake

Para obter informações sobre como usar esses conectores, consulte os exemplos de conector do [Microsoft SQL Server](https://help.tableau.com/v0.0/pro/desktop/pt-br/examples_sqlserver.htm), [PostgreSQL](https://help.tableau.com/v0.0/pro/desktop/pt-br/examples_postgresql.htm), [Pivotal Greenplum Database](https://help.tableau.com/v0.0/pro/desktop/pt-br/examples_greenplum.htm), [Oracle](https://help.tableau.com/v0.0/pro/desktop/pt-br/examples_oracle.htm) ou [Snowflake](https://help.tableau.com/v0.0/pro/desktop/pt-br/examples_snowflake.htm).

## Dados espaciais e SRIDs compatíveis

Para o Microsoft SQL Server, somente os dados espaciais **Tipo geografia** são compatíveis.

**PostgreSQL + PostGIS, Oracle** e **Pivotal Greenplum + PostGIS** são compatíveis com os campos do tipo Geografia- e Geometria. Os campos de geometria devem especificar o tipo de geografia (por exemplo: POINT, LINESTRING) e SRID para serem reconhecidos como um campo espacial. Os campos Geografia devem especificar o tipo de geometria a ser reconhecido.

**Observação**: não serão no PostgreSQL + PostGIS, você pode se conectar a tabelas com tipos de geometria mistos (pontos, linhas e polígonos), mas o Tableau não os processará simultaneamente.

Os seguintes **SRIDs** são suportados por estes conectores:

- NAD83 (EPSG:4269)
- ETRS89 (EPSG:4258)
- WGS84 (EPSG:4326)

No PostgreSQL + PostGIS, o SRID sempre será padronizado para WGS84 (EPSG:4326).

O Tableau aceita conexões em tempo real e de extração usando esses conectores.

## Conectar-se a colunas espaciais

**Observação**: a partir do Tableau 2026.2, é possível se conectar a colunas espaciais no [Google BigQuery](https://help.tableau.com/v0.0/pro/desktop/pt-br/examples_googlebigquery.htm).

1. Abra o Tableau e se conecte aos dados.  
    Para obter mais informações sobre como se conectar aos dados usando conectores compatíveis, consulte os exemplos de conector do [Microsoft SQL Server](https://help.tableau.com/v0.0/pro/desktop/pt-br/examples_sqlserver.htm), [PostgreSQL](https://help.tableau.com/v0.0/pro/desktop/pt-br/examples_postgresql.htm), [Oracle](https://help.tableau.com/v0.0/pro/desktop/pt-br/examples_oracle.htm) ou [Pivotal Greenplum Database](https://help.tableau.com/v0.0/pro/desktop/pt-br/examples_greenplum.htm) ou [Snowflake](https://help.tableau.com/v0.0/pro/desktop/pt-br/examples_snowflake.htm).
2. Na página Fonte de dados, do painel esquerdo em Tabela, arraste uma tabela que contenha os dados espaciais no canvas.  
    ![A fonte de dados Escolas Públicas de Seattle sendo arrastada para a tela Fonte de dados.](/tableau/next/pt-br/pro/desktop/pt-br/Img/maps_sql2.png)  
    
    As colunas espaciais exibem o mesmo nome presentes em seu banco de dados.
    
    Agora você está pronto para criar um mapa no Tableau usando os dados espaciais. Para obter mais informações sobre como criar mapas com dados espaciais, consulte [Criar uma visualização de mapa de dados espaciais](https://help.tableau.com/v0.0/pro/desktop/pt-br/maps_shapefiles.htm#Build).

## Usar SQL personalizado e RAWSQL para executar a análise espacial avançada

### Conectar a uma consulta de SQL personalizado

1. Abra o Tableau e se conecte ao banco de dados.
2. Na página Fonte de dados, do painel esquerdo, arraste Novo SQL personalizado no canvas.
3. Digite ou cole a sua consulta na caixa de diálogo Editar SQL personalizado exibida. Para obter exemplos do SQL personalizado que você pode usar com os dados espaciais, consulte [Exemplos de consulta de SQL personalizado](#CustomSQL).
4. Ao terminar, clique em OK.

Para obter mais informações, consulte [Conectar a uma consulta de SQL personalizado](https://help.tableau.com/v0.0/pro/desktop/pt-br/customsql.htm).

### Exemplos de consulta de SQL personalizado

As consultas a seguir são exemplos. Observe que as consultas de SQL personalizado serão variadas, dependendo da fonte de dados.

#### Se os seus dados tiverem dois conjuntos de pontos, como escolas e parques, e você deseja mostrar onde há intersecção:

SELECT S.\[name\] as SchoolName, P.\[name\] as PubSpaceName, S.geog\_schools.STBuffer(<Parameters.Radius>) as Geog\_School, P.geog\_pub\_space as Geog\_Pub\_Space FROM TestSpatial.dbo.seattle\_public\_schools S LEFT JOIN TestSpatial.dbo.seattle\_pub\_space P ON S.geog\_schools.STBuffer(<Parameters.Radius>). STIntersects(P.geog\_pub\_space) = 1

Essa consulta de exemplo produz uma linha para cada caso em que um polígono de espaço público está na distância de Raio (metros) da escola. O resultado da consulta tem esta aparência na grade de dados:

![O painel Fonte de dados com 2 campos que têm a Função geográfica aplicada.](/tableau/next/pt-br/pro/desktop/pt-br/Img/maps_sql3.png)

**Observação**: este exemplo faz referência a um parâmetro chamado "Raio”. Ele mede a distância (em metros) e tem as seguintes configurações:

- Tipo de dados: flutuante
- Valor atual: 600
- Valores permitidos: Intervalo
- Mínimo: 100
- Máximo 2.000
- Tamanho da etapa: 50

Usando o parâmetro, você pode ajustar a relação entre escolas e espaços públicos de forma dinâmica.

Para obter mais informações, consulte [Usar parâmetros em uma consulta SQL personalizada](https://help.tableau.com/v0.0/pro/desktop/pt-br/customsql.htm#parameters).

#### Se você quer os dados somente ao redor de um determinado ponto

`SELECT * FROM [Test_spatial_<username>].[dbo].[SDOT_Collisions] C WHERE C.geom.STIntersects(geography::STGeomFromText('POINT(-122.344706 47.650388)', 4326).STBuffer(1000))=1`

Esta consulta de exemplo limita os dados a 1.000 metros ao redor do POINT. O raio pode ser um parâmetro, como [o parâmetro usado no primeiro exemplo](#Radius).

Ou, em vez de um ponto e um raio, um retângulo pode ser usado. Por exemplo:

`SELECT * FROM [Test_spatial_<username>].[dbo].[SDOT_Collisions] C   WHERE C.geom.STIntersects(geography::STGeomFromText('POLYGON ((-122.3625 47.6642,-122.3625 47.6493,-122.3427 47.6493,-122.3422 47.6642,-122.3625 47.6642))', 4326))=1`

A ordem contrária dos pontos do polígono (sentido horário em vez do sentido anti-horário) determina qual conjunto de pontos você obtém. Você pode reverter a ordem contrária com a função do SQL Server ReorientObject().

#### Se você obter um erro sobre os tipo de dados mistos

`SELECT *, F.geom.STGeometryType() as geomtype FROM [Test_spatial_<username>].[dbo].[us_historic_fire_perimeters_dd83] F   WHERE F.geom.STGeometryType() = 'MultiPolygon' OR F.geom.STGeometryType() = 'Polygon'`

Essa consulta de exemplo filtra dados espaciais do tipo geométrico, pois o Tableau não renderiza os dados especiais geométricos para conexões do Microsoft SQL Server. Você também pode selecionar outros tipos espaciais.

#### Se os seus dados renderizam muito lentamente no Tableau

`SELECT [Id], [OBJECTID], [fire_num], [year_], [acres], [fire_name], [unit_id], [Shape_Leng], [Shape_Area], [geom].Reduce(500) as SimpleGeom   FROM [Test_spatial_<username>].[dbo].[us_historic_fire_perimeters_dd83]   WHERE [geom].Reduce(500).STGeometryType() = 'MultiPolygon' OR [geom].Reduce(500).STGeometryType() = 'Polygon'`

Essa consulta de exemplo pode reduzir bastante o tamanho dos dados. (Alguns objetos são reduzidos a Pontos e são descartados.)

### Usar RAWSQL

Para usar RAWSQL com dados espaciais, você pode criar um campo calculado usando as funções RAWSQL\_SPATIAL ou RAWSQLAGG\_SPATIAL. Por exemplo: 

`RAWSQL_SPATIAL("Select %1.STIntersection(%2.STBuffer(200))",[school_geom], [park_geom])`

Essa fórmula retorna dados espaciais exclusivos baseados na interseção dos dois valores.

`RAWSQLAGG_SPATIAL("ST_ConvexHull(ST_Collect(%1))", [Geog])`

`RAWSQLAGG_SPATIAL("ST_ConcaveHull(ST_Collect(%1), %2, false)", [Geog], [ParameterValue])`

Cada um desses retorna uma área delimitadora ao redor dos pontos de fornecidos. ConcaveHull é uma área de limite mínima baseada na precisão, sendo que nesta função é o valor do parâmetro.

Para obter mais informações sobre o uso de RAWSQL com dados espaciais, consulte [Funções de passagem (RAWSQL)](https://help.tableau.com/v0.0/pro/desktop/pt-br/functions_functions_passthrough.htm). Para obter mais informações sobre como criar campos calculados, consulte [Criar um campo calculado](https://help.tableau.com/v0.0/pro/desktop/pt-br/calculations_calculatedfields_create.htm#Create).

> [!WARNING]
> 
> Observação: as funções espaciais RAWSQL não estão disponíveis quando conectadas ao Oracle.

**Observação**: é possível causar erros ao utilizar RAWSQL específicos de funções do PostGIS ao utilizar PostgreSQL + PostGIS.

## Solucionar problemas de conexões espaciais

### Problemas de desempenho

Ao trabalhar com colunas espaciais unidas, com um grande número de registros, as marcas duplicadas podem ocorrer. Isso geralmente resulta em baixo desempenho.

Para melhorar o desempenho, extraia a fonte de dados unida. Para obter mais informações, consulte [Extrair seus dados](https://help.tableau.com/v0.0/pro/desktop/pt-br/extracting_data.htm).

### Soluções e mensagens de erro do Microsoft SQL Server

Quando a tabela espacial estiver usando uma referência espacial não compatível

**Mensagem de erro:**

Um erro ocorreu durante a comunicação com a fonte de dados do Microsoft SQL '<nome da fonte de dados>'.  
Conexão ruim: o Tableau não se conectou à fonte de dados.​  
\[Microsoft\]\[ODBC Driver 13 para SQL Server\]\[SQL Server\]Conflito de tipo de operando: a geometria não é compatível com a geografia.  
\[Microsoft\]\[ODBC Driver 13 para SQL Server\]\[SQL Server\]Não foi possível preparar uma ou mais instruções.

**Solução:**

- Exporte os dados espaciais do Microsoft SQL Server para um Shapefile e conecte-os ao Tableau. As conexões de arquivo espacial passam por um processo de transformação de dados que suportam milhares de projeções.
- Exporte os dados do Microsoft SQL Server transforme-os usando uma ferramenta GIS como QGIS ou ArcGIS. Em seguida, recarregue a tabela de volta ao Microsoft SQL Server. ​​

Quando a tabela espacial inclui vários tipos de objetos de painel

Mensagem de erro:

Não foi possível concluir a ação  
A operação espacial resultou em uma Geometria Mista ou Geografia Mista, que ainda não é aceita pelo Tableau.  
A operação espacial resultou em uma Geometria Mista ou Geografia Mista, que ainda não é aceita pelo Tableau.

**Solução:**​

Usar SQL personalizado para filtrar os dados. Para obter mais informações, consulte o exemplo de SQL personalizado [Se você obter um erro sobre os tipo de dados mistos](#mix).​

Quando as medidas estão sendo agregadas na visualização

Mensagem de erro:

Ocorreu um erro durante a comunicação com a fonte de dados do Microsoft SQL Server '<nome da fonte de dados>'  
Conexão ruim: o Tableau não se conectou à fonte de dados.​  
Não é possível executar uma função agregada em uma expressão que contém um agregado ou uma subconsulta.

**Solução**:

Desagregar medidas na visualização: selecione Análise e, em seguida, desmarque Agregar medidas.

### Soluções e mensagens de erro do PostgreSQL + PostGIS, Oracle e Pivotal Greenplum + PostGIS

Ao utilizar SRIDs mistos e um dos SRIDs não é compatível

**Mensagem de erro:**

Ocorreu um erro durante a comunicação com a fonte de dados do PostgreSQL '<nome da fonte de dados>'  
Conexão ruim: o Tableau não se conectou à fonte de dados.​  
Erro: operação em geometrias de SRID mistas;  
Erro ao executar a consulta  
<query> da <datasource>  
ERRO: operação em geometrias de SRID mistas;  
Erro ao executar a consulta  
SELECT ST\_ForceCollection(ST\_Collect("mixed\_SRID\_geography"."location"::geometry)) AS "clct:location:nk"  
FROM "public"."mixed\_SRID\_geography" "mixed\_SRID\_geography"HAVING (COUNT(1) > 0)

Solução:

Desagregar medidas na visualização: selecione Análise e, em seguida, desmarque Agregar medidas. Isso elimina a mensagem de erro e os dados em que o SRID não é compatível.

Quando a tabela espacial estiver usando uma referência espacial não compatível

No PostgreSQL + PostGIS, é possível se conectar a uma tabela com SRIDs não compatíveis, mas a coluna Geometria será exibida como "Desconhecido".

**Solução:**

- Exporte os dados espaciais do PostgreSQL + PostGIS para um Shapefile e conecte-os ao Tableau. As conexões de arquivo espacial passam por um processo de transformação de dados que suportam milhares de projeções.
- Exporte os dados do PostgreSQL + PostGIS e transforme-os usando uma ferramenta GIS, como QGIS ou ArcGIS. Em seguida, recarregue a tabela de volta ao PostgreSQL + PostGIS. ​​

Quando um resultado de consulta excede o limite de 1GB

**Mensagem de erro**:

ERRO: array size exceeds the maximum allowed (1073741823); ao executar a consulta"  
SELECT ST\_Collect(geom) FROM <data source>

**Solução**:

Reescreva o cálculo para ser mais eficiente. Consulte [Práticas recomendadas para a criação de cálculos no Tableau](https://help.tableau.com/v0.0/pro/desktop/pt-br/calculations_calculatedfields_bestpractices.htm) ou [Criar cálculos eficientes](https://help.tableau.com/v0.0/pro/desktop/pt-br/perf_efficient_calcs.htm).

## Exemplo - Criar um mapa com dados espaciais do Microsoft SQL Server

O exemplo a seguir demonstra como criar o mapa a seguir, mostrando escolas em até 600 metros dos parques em Seattle, Washington.

![Um mapa de espaços públicos a 400 metros de uma escola em Seattle.](/tableau/next/pt-br/pro/desktop/pt-br/Img/maps_sql10.png)

Este exemplo usa uma conexão do Microsoft SQL Server a um banco de dados chamado TestSpatial. As tabelas a seguir deste banco de dados são usadas:

- seattle\_schools
- seattle\_public\_space

### Etapa 1: conectar

1. Abra o Tableau Desktop e conecte-se ao Microsoft SQL Server.
2. Na página Fonte de dados, do painel esquerdo, arraste Novo SQL personalizado no canvas.
3. Digite ou cole uma consulta na caixa de diálogo Editar SQL personalizado exibida.
    
    Para este exemplo, a consulta a seguir é usada:
    
    SELECT S.\[name\] as SchoolName, P.\[name\] as PubSpaceName, S.geog\_schools.STBuffer(<Parameters.Radius>) as Geog\_School, P.geog\_pub\_space as Geog\_Pub\_Space FROM TestSpatial.dbo.seattle\_public\_schools S FULL JOIN TestSpatial.dbo.seattle\_public\_space P ON S.geog\_schools.STBuffer(<Parameters.Radius>). STIntersects(P.geog\_pub\_space) = 1
    
    **Observação**: este exemplo faz referência a um parâmetro chamado "Raio”. Para obter mais informações, consulte [Usar parâmetros em uma consulta SQL personalizada](https://help.tableau.com/v0.0/pro/desktop/pt-br/customsql.htm#parameters).
    
    O resultado desta consulta tem a seguinte aparência:
    
    ![O painel Fonte de dados com 2 campos que têm a Função geográfica aplicada.](/tableau/next/pt-br/pro/desktop/pt-br/Img/maps_sql3.png)

### Etapa 2: criar mapa

1. Vá até uma nova planilha.
2. No painel **Dados**, clique duas vezes em um campo espacial.
    
    Neste exemplo, **Geog\_School** é usado. Ao clicar duas vezes com o botão do mouse, ele é automaticamente adicionado a Detalhe no cartão Marcas e uma visualização de mapa é criada.
    
    ![Um mapa de Seattle com pontos de dados representados por pontos.](/tableau/next/pt-br/pro/desktop/pt-br/Img/maps_sql4.png)
3. No painel **Dados**, arraste um campo de dimensão para Rótulo no cartão Marcas. Neste exemplo, **Nome da escola** é usada.
4. Selecione Análise > Criar campo calculado.
5. No editor de cálculo aberto, faça o seguinte:
    
    - Nomeie o campo calculado. Neste exemplo, o campo calculado é chamado Interseção.
    - Insira uma formula RAWSQL. Este exemplo usa a seguinte fórmula:
        
        RAWSQL\_SPATIAL ("Select %1.STIntersection(%2)", \[Geog\_School\], \[Geog\_Pub\_Space\])
        
        Essa fórmula retorna dados espaciais exclusivos baseados na interseção das duas geometrias.
    - Ao terminar, clique em OK.
6. Selecione Análise e, em seguida, desmarque Agregar medidas.
7. No painel **Dados**, arraste o novo campo calculado (neste caso, **Interseção**) para uma nova camada na planilha.
    
    ![A caixa Adicionar uma camada de marcas que aparece ao arrastar um campo geográfico para uma tela que já contém um mapa.](/tableau/next/pt-br/pro/desktop/pt-br/Img/maps_sql6.png)  
    O mapa é atualizado com uma nova camada de polígonos do campo Interseção. As marcas são formas espaciais exclusivas devido à fórmula RAWSQL.  
    ![Um mapa do bairro de Montlake em Seattle, exibindo vários parques, ruas e edifícios.](/tableau/next/pt-br/pro/desktop/pt-br/Img/maps_sql11.png)
8. No painel **Dados**, arraste um campo de dimensão para Detalhes no cartão Marcas. Isso desagrega as marcas.
    
    Neste exemplo, a dimensão PubSpaceName é usada.
9. No painel **Dados**, arraste o mesmo campo de dimensão para Cor no cartão Marcas.
    
    Neste exemplo, cada espaço público agora recebe uma cor.
    
    ![Um mapa de Seattle indicando a localização do Volunteer Park e das ruas e estruturas ao redor.](/tableau/next/pt-br/pro/desktop/pt-br/Img/maps_sql7.png)

1. Formate o mapa. Para obter mais informações, consulte [Personalizar a aparência do seu mapa](https://help.tableau.com/v0.0/pro/desktop/pt-br/maps_options.htm).
    
    Neste exemplo, a formatação a seguir é aplicada:
    
    - As marcas de buffer Escola (Geog\_School) ficam cinza.
    - Os rótulos da marca de Nome da escola ficam brancos.
    - O estilo em segundo plano do mapa é definido para Escuro.
    - A camada de Ruas e estradas é mostrada no mapa em segundo plano.
    
    O mapa agora está concluído.
    
    ![Um mapa de escolas em Seattle, Washington, com um painel interativo.](/tableau/next/pt-br/pro/desktop/pt-br/Img/maps_sql9.png)

## Consulte também

[Criar mapas do Tableau com arquivos espaciais](https://help.tableau.com/v0.0/pro/desktop/pt-br/maps_shapefiles.htm)

[Conectar a uma consulta de SQL personalizado](https://help.tableau.com/v0.0/pro/desktop/pt-br/customsql.htm)

[Funções de passagem (RAWSQL)](https://help.tableau.com/v0.0/pro/desktop/pt-br/functions_functions_passthrough.htm)

[Introdução a cálculos no Tableau](https://help.tableau.com/v0.0/pro/desktop/pt-br/calculations_calculatedfields_create.htm)

[União espacial lenta e retorna resultados invertidos usando dados espaciais KML ou SQL importados de Shapefile ou GeoJSON](https://kb.tableau.com/articles/issue/spatial-join-slow-and-returns-inverted-results-using-kml-or-sql-spatial-data-imported-from-shapefile-or-geojson?lang=it-it)