Referência e Manual do Usuário

Utilizando os geocoders

Esta seção descreve o processo de geocodificação e explica como executar um geocoder no modo batch a partir do Centro de Controle.

Sobre geocodificação

Conforme observado anteriormente, o DB2 Spatial Extender utiliza uma função, chamada geocoder, para executar duas atividades: conversão de dados de endereço em dados espaciais e colocação desses dados espaciais em colunas da tabela. Esta seção distingue as diferenças básicas entre os geocoders e suas fontes. Ela também descreve os dois modos nos quais um geocoder pode operar e introduz fatores a considerar quando você planeja usar um geocoder.

Com o Spatial Extender, você pode:

O geocoder padrão geocodifica endereços nos Estados Unidos e pode convertê-los em dados ST_Point. Se você precisa armazenar dados de outros tipos de dados espaciais, você pode se conectar a um geocoder para gerar tais dados. Se você precisa de dados espaciais que representam locais fora dos Estados Unidos, ou locais que não possuam endereços -- por exemplo, área de cultivo que variam por conteúdo de solo -- você pode se conectar a um geocoder para encontrar o que precisa.

Antes que um geocoder plug-in possa ser usado, ele deve ser registrado. Usuários e fornecedores podem registrá-lo com o procedimento armazenado db2gse.gse_register_gc. Ele não pode ser registrado a partir do Centro de Controle. Para obter mais informações sobre db2gse.gse_register_gc, consulte db2gse.gse_register_gc. Para obter informações gerais sobre o uso dos procedimentos armazenados Spatial Extender, consulte Procedimentos armazenados.

Um geocoder opera em dois modos:

Ao planejar o uso de um geocoder, você deve considerar os seguintes fatores:

  1. Quando você usa o Centro de Controle, você geralmente usa a janela Criar Camadas Espaciais antes de utilizar a janela Executar o Geocoder. Isto significa que você pode ter definido disparadores Spatial Extender para a geocodificação incremental antes de iniciar a geocodificação em batch. Portanto, é possível para a geocodificação incremental preceder a geocodificação em batch. Processando todos os dados fontes no modo batch, o geocoder irá geocodificar os mesmos dados que ele operou no modo incremental. Esta redundância não causará duplicações (quando os dados espaciais são produzidos duas vezes, a segunda produção dos dados irá sobrepor a primeira).De qualquer modo, ele pode degradar o desempenho. Uma maneira de evitar isto é postergar a definição dos disparadores até que a geocodificação em batch esteja feita.
  2. Se os disparadores estão no lugar quando você estiver pronto para geocodificar no modo batch é aconselhável desativá-los até que a geocodificação em batch tenha encerrado. Você pode desativá-los a partir da janela Executar Geocoder ou em um programa de aplicação, codificando o programa para chamar o procedimento armazenado db2gse.gse_disable_autogc. Se você usa a janela Executar Geocoder, o Spatial Extender reativa-os automaticamente quando a geocodificação estiver encerrada. Se você usa o procedimento armazenado db2gse.gse_disable_autogc, você pode reativá-los chamando o procedimento armazenado db2gse.gse_enable_autogc.
  3. Se deseja executar um geocoder no modo batch para preencher uma coluna espacial que possui um índice, desative ou elimine o índice primeiro. Caso contrário, se o índice permanece operável enquanto o geocoder é executado, o desempenho será severamente prejudicado. Se estiver usando o Centro de Controle, você pode desativar o índice a partir da janela Executar Geocoder. O Spatial Extender reativa o índice automaticamente quando a geocodificação estiver encerrada. Se estiver usando um programa de aplicação, você pode eliminar o índice com a instrução SQL DROP. Caso faça isso, assegure-se de tomar nota dos parâmetros do índice, assim você pode recriá-lo após o encerramento da geocodificação.
  4. Quando o geocoder lê um registro dos dados fonte, ele tenta fazer coincidir o registro com uma contra-parte nos dados de referência. A coincidência deve ser exata para um certo grau (chamado uma precisão) para o geocoder processar o registro. Por exemplo, uma precisão de 85 significa que a coincidência entre um registro fonte e a sua contrapartida nos dados de referência deve ter pelo menos 85 por cento de precisão a fim de que o registro fonte seja processado.

    Você determina qual precisão deve ser. Esteja ciente de que talvez necessite ajustá-lo. Por exemplo, supõem-se que a precisão seja 100. Se muitos registros fonte contêm endereços que são mais recentes do que os dados de referência, a coincidência de 100 por cento entre estes registros e os dados de referência será impossível.Como resultado, o geocoder rejeitará estes registros. No total, se um geocoder produz dados espaciais que parecem insuficientes ou largamente imprecisos, você pode estar apto a resolver este problema alterando a precisão e executando o geocoder novamente.

Há diversas maneiras de controlar o número ou a série de registros que um geocoder processa antes de uma consolidação ser emitida:

Método 1

Um geocoder pode geocodificar dados de endereço em um número específico de registros antes de cada consolidação. Esse método permite gerenciar, de forma precisa, o tamanho de unidades de trabalho. Entretanto, este método consome consideravelmente mais sobrecarga que outros métodos abordados aqui.

Para iniciar o Método 1, especifique o número de registros a serem processados antes de cada consolidação. Se estiver utilizando o Centro de Controle, defina esse número com o botão de rotação Consolidar escopo na janela Executar Geocoder. Se estiver gravando um programa aplicativo, atribua esse número ao parâmetro commitScope do procedimento armazenado db2gse.gse_run_gc.

Método 2

Um geocoder pode geocodificar dados de endereço em todos os registros de uma tabela antes que uma consolidação seja emitida. Com esse método, o geocoder processa os registros de maneira semelhante à operação em batch, consumindo muito menos sobrecarga por registro que o Método 1. Entretanto, você tem um controle menor sobre o tamanho da unidade de trabalho que no Método 1. Conseqüentemente, não é possível controlar quantos bloqueios serão recebidos ou quantas entradas de registros serão feitas conforme o geocoder opera. Além disso, se o geocoder encontrar um erro que precise de uma reversão, será necessário definir o geocoder para que execute todos os registros novamente. O custo resultante com recursos pode ser caro se a tabela for extremamente grande e o erro e a reversão ocorrerem após a maioria dos registros ter sido processada.

Para iniciar o Método 2 do Centro de Controle, defina o botão de rotação Consolidar escopo na janela Executar Geocoder para zero. Se estiver gravando um programa aplicativo, defina o parâmetro commitScope do procedimento armazenado db2gse.gse_run_gc para zero.

Método 3

Um geocoder pode geocodificar dados de endereço em um subconjunto de registros de uma tabela antes de cada consolidação. Ele pode, então, geocodificar dados de endereço em um segundo subconjunto e, se for necessário, um terceiro, um quarto e assim por diante. O geocoder processa cada subconjunto de maneira semelhante à operação em batch, consumindo menos sobrecarga por registro que no Método 1. Porém, como no Método 2, o Método 3 não permite o controle direto sobre o tamanho da unidade de trabalho. Além disso, ele requer a sobrecarga de definição e execução do geocoder várias vezes para cada subconjunto de registros.

Para definir um subconjunto de registros a partir do Centro de Controle:

Para definir um subconjunto de registros em um programa aplicativo, codifique o procedimento armazenado db2gse.gse_run_gc da seguinte forma:


[ Início da Página | Página Anterior | Próxima Página | Índice | Índice Remissivo ]