A Esri forneceu instruções sobre como fazer um mapa de fluxo radial, mas acho que as linhas curvas serão produzidas apenas a uma longa distância, como metade do globo.
Para distâncias curtas (20 km), uma linha geodésica provavelmente ainda parecerá bastante reta. Para continuar usando esse processo para um mapa de fluxo radial em distâncias curtas, pensei que poderíamos editar as configurações dos dados para que a Terra fosse menor, portanto, você obterá uma boa linha curva por uma pequena distância. Alguém sabe como fazer isto?
Como alternativa, existe outra ferramenta no ArcGIS Desktop 10.0 a ser usada para criar linhas curvas? Eu tenho 90 pontos que preciso conectar até 54 pontos, seria bom automatizá-lo ao invés de ter que desenhar as linhas manualmente.
Respostas:
Aqui está uma ilustração do fluxo de trabalho que mencionei no comentário acima e, embora eu não conheça nenhuma rotina simples pré-enlatada para fazer isso, anexei uma planilha do Excel que pode importar um conjunto de coordenadas de origem e destino e a folha cria um conjunto ou coordenadas de linha circular (planilha aqui ). Ele possui fórmulas configuradas, por isso é muito fácil importar novas coordenadas de OD e estendê-las para preencher os resultados, mas vou explicar a lógica do processo mais explicitamente, e outros podem dar conselhos sobre como criá-lo inteiramente dentro ArcMap (ou o que for).
Resumidamente, acho que isso é razoável para a visualização de dados OD principalmente pela mesma razão que grandes linhas circulares são populares, elas fornecem mais distinção visual entre linhas. A abordagem que sugiro também tem uma vantagem sobre as grandes linhas circulares, pois a direção do fluxo é codificada no semicírculo. Nesta outra resposta no site, ofereço uma visão geral mais geral das técnicas de visualização para mapeamento de fluxo, e muitas dessas mesmas técnicas podem ser aplicadas além de criar arcos como esse.
Assim, para detalhar como se desenha linhas como a sugestão, essencialmente, só tenho 3 etapas para o processo: 1) encontre a orientação do fluxo, 2) encontre o ponto médio e a distância do fluxo, 3) trate o ponto central como o centro de um círculo e, em seguida, desenhe o arco (um semicírculo da origem ao destino). Para ser claro, estou começando com um par de coordenadas projetadas de origem
(x1,y1)
e coordenadas de destino(x2,y2)
.Então 1) encontre a orientação do fluxo. Um primeiro usa a fórmula
ATAN((y2 - y1)/(x2 - x1))
e, em seguida, dependendo da direção, atribui uma orientação, dependendo de a direção ser leste ou oeste. Um exemplo de pseudocódigo abaixo (eu atribuo pontos OD que estão ambos nas mesmas coordenadas e uma orientação de zero). Aqui, o varaibleor_rad
deve ser uma abreviação de "orientação em radianos" epi
se refere ao valor de pi.2) Encontre o ponto médio e a distância do fluxo. Isso é muito simples, pois apenas um conjunto de coordenadas emparelhadas será o ponto médio em (x, y)
(x1+x2/2,y1+y2/2)
. Então vamos definirmid_x = (x1 + x2)/2
emid_y = (y1 + y2)/2
para a próxima parte. A distância usando o teor de pitágoro é simplesdistance = SQRT((x1 - x2)^2 + (y1 - y2)^2)
.3) Em seguida, dadas essas informações, desenhe o círculo dado sobre um número pré-especificado de graus e um raio (que é metade da distância entre os dois pontos). Por exemplo, digamos que começamos com um conjunto de pares de coordenadas OD em
(1,3):(3,2)
. A orientação em graus será ~ 116 (e em radianos ~ 2), o ponto médio x, y será(2,2.5)
e a distância entre os dois pontos será de 2,2.Então, digamos que queremos desenhar o semicírculo em torno de 180 graus. No código pseduo (usando as variáveis que eu já defini), as iterações serão parecidas com;
Abaixo, é inserido um diagrama das coordenadas originais especificadas acima. Começar em zero e terminar em 180 garante que os pontos de existência e de extremidade estejam nos mesmos locais. Ajustar o loop para ter mais etapas (arco mais detalhado) ou menos (arco menos detalhado) deve ser bastante óbvio.
Observe que outros threads no site discutem a criação de linhas a partir de dados pontuais (consulte a tag de criação de polilinha ). Eu tenho um exemplo na planilha xls anexada e utilizei a ferramenta de arcmap ET Geo-wizards para converter as coordenadas da planilha em linhas de shapefile. Os arcos nos dados de exemplo na planilha anexada subsequentemente se parecem com isso;
Uma atualização simples, mas potencialmente útil para esta configuração atual seria atualizar as fórmulas para permitir uma quantidade pré-especificada de excentricidade em arco, embora eu não tenha tido muita certeza de como fazer isso em minhas poucas tentativas até agora. Estou ansioso por sugestões e comentários da comunidade aqui, sob meus conselhos.
fonte