Dada uma península que se estende para o norte ao sul e as duas linhas costeiras que se conectam ao sul, quero descobrir qual é o lugar, ou melhor, a linha que está mais distante das duas linhas costeiras da península. O que estou procurando é a linha vermelha na imagem abaixo. As linhas pretas e rosa são as costas leste e oeste.
Uma maneira poderia ser gerar um polígono e fazer um buffer negativo. Um outro poderia ser adicionar os valores longitudinais e dividir por dois. O último parece mais racional - ainda exige alguma programação e manipulação de coordenadas.
Mas talvez haja uma terceira via? Alguma sugestão? ArcGIS e QGIS são ferramentas relevantes do comércio aqui.
qgis
arcgis-desktop
arcpy
ragnvald
fonte
fonte
Respostas:
Quase por definição, este é o eixo medial da península. Citando a Wikipedia
o que significa que um ponto no eixo medial está realmente mais distante das duas linhas de contorno. Caso contrário, um estaria mais perto que o outro.
Veja o exemplo
ST_ApproximateMedialAxis
da documentação da função PostGIS .(Isso também significa que a função está disponível para usuários do QGIS via conexão com o PostGIS.)
fonte
Recentemente, trabalhei em um projeto que envolvia derivar o eixo medial (distinto da linha central, mas semelhante) dos recursos de fluxo usando recursos de polilinha de banco de fluxo extraídos de imagens de alta resolução. Era importante para nós fazer a distinção para nossos propósitos, pois o eixo medial deveria ser usado para geração ortogonal e, portanto, precisava ser um centro generalizado de nossas características de fluxo e não o meio exato do fluxo.
O método que acabamos usando foi um script python que captou nossos dois recursos de polilinha, adicionou verteces em um determinado intervalo (~ 5m) e, em seguida, percorreu cada vértice em uma polilinha e procurou o vértice mais próximo na outra polilinha. Houve algumas situações específicas que foram tratadas de maneira diferente (curvas extremas no fluxo que encontrariam um vértice mais próximo do que o verdadeiro correspondente na margem oposta), mas eu não escrevi o código para ter que buscá-lo para entender o que realmente estava acontecendo.
Antes de decidirmos sobre o nosso método, o cara que trabalhava com scripts brincou com algumas alternativas e usou a Alocação Euclidiana usando as polilinhas do banco como entrada e, em seguida, criou um contorno a partir da varredura resultante. Foi uma maneira brilhante de obter a linha central, mas não o que estávamos procurando. Isso pode funcionar para você, no entanto.
Você deve dedicar algum tempo a refletir sobre o uso da linha central e se deve procurar uma linha central ou um eixo medial generalizado.
fonte
Você pode converter os vértices da linha em pontos e, em seguida, criar um diagrama de Voronoi a partir deles. Ele mostrará a linha central muito bem, que você pode desenhar como uma linha sobre o diagrama.
Além disso, a extensão ArcScan possui um método automático de vetorização de linha central (se você converter a península em polígono e depois em varredura).
fonte
Neste blog do Geospatial Analyst , parece que a ET GeoWizards oferece uma função chamada Create Centerlines que "Cria linhas de centro a partir de recursos poligonais. Pode ser criada dentro de polígonos (de rios e ruas poligonais) nossos [sic] polígonos externos (a partir de dados de parcelas)".
Estou supondo que o processo que ele usa envolva a criação de uma rede irregular triangulada primeiro, porque eu fiz algo parecido há muitos anos atrás para criar linhas centrais de estradas em áreas rurais (o que provavelmente é um pouco mais fácil do que você está tentando fazer).
Além disso, não tenho certeza se a ferramenta Collapse Polygon To Centerline anunciada no ArcGIS Blog transformou-a em uma versão - talvez ela esteja com outro nome?
fonte