Meus usuários estão me enviando dados de pontos que foram digitalizados usando o Google Earth.
Como posso converter o KML deles em um shapefile?
Meus usuários estão me enviando dados de pontos que foram digitalizados usando o Google Earth.
Como posso converter o KML deles em um shapefile?
Respostas:
Usando o código aberto ogr2ogr
do GDAL / OGR :
ogr2ogr -f 'ESRI Shapefile' output.shp input.kml
Conforme observado no comentário do grego abaixo , pode ser necessário usar aspas duplas em vez de aspas simples para a opção de formato de saída (por exemplo, "ESRI Shapefile" para a linha de comando do Windows). Veja também o wiki da gdal .
O ArcGIS 10 possui uma ferramenta GP chamada KML To Layer que converte KML em uma classe de recurso. Pesquise KML usando a nova pesquisa. Usei isso para pegar os feeds de kml de derramamento de óleo do Google e convertê-los em SHP.
O KML To Layer pode criar apenas uma classe de recurso de geodatabase, que precisa ser seguida por uma etapa Feature Class To Feature Class para convertê-lo em um shapefile.
Use ogr2ogr, mas se você não estiver interessado em uma linha de comando, tente ogr2gui - um front end realmente simples para ogr2ogr.
Para usar dados espaciais publicados como um arquivo KML ou KMZ no ArcGIS, você deve primeiro converter o KML em uma classe de recurso (shapefile). A Universidade de Connecticut publicou um script para criar shapefiles a partir do KML chamado KML_to_Shp.tbx. Funciona muito bem e você pode usá-lo no ArcToolbox. Como o KML (sempre) deve estar sempre em coordenadas geográficas (WGS84), você poderá transformá-las na Zona 15TM NAD83 da UTM ...
Como em todas as novas ferramentas, revise a documentação antes de usar. Isso pode ser encontrado no site do Centro de Educação e Pesquisa do Uso da Terra da UCONN. Depois de adicioná-lo à sua caixa de ferramentas e entender suas limitações, a ferramenta é muito simples de usar.
Se você estiver interessado em ferramentas de linha de comando, poderá usar o GDAL / OGR da OSGEO.
Mais um produto comercial que vale a pena mencionar é o Global Mapper . Isso se enquadra na categoria de visualização, conversão, reprojeção de quase todos os dados geográficos que você possa imaginar. Eu uso muito a versão gratuita em uma aula que ensino e quase todo mundo sai comentando sobre como esse é o canivete suíço das ferramentas GIS (embora a versão gratuita não faça traduções, ela expõe todos os menus e opções). Vale a pena o custo na minha experiência.
Par mais opções, além das outras respostas ...
O aplicativo fdo2fdo do SL-King , que usa as bibliotecas FDO de código aberto, permite executar KML para SHP e traduções vice-versa. Ele inclui uma GUI (que expressa traduções de formato para formato e traduções de mapeamento de esquema mais personalizadas), além de uma ferramenta de linha de comando.
Para aplicativos adequados, o FME da Safe Software oferece um controle incrível sobre como você mapeia as informações de origem no destino. Se você possui o ArcGIS, pode acessá-lo através da Data Interoperability Extension ( lista de formatos ) a um custo adicional.
Se eles são apenas recursos pontuais sem atributos, eu consideraria analisar o XML em algo que você possa importar facilmente como um CSV; você está apenas procurando os dados entre as tags de coordenadas.
Outra opção é usar o XToolsPro, uma extensão de terceiros que funciona no ArcGIS. Entre suas muitas ferramentas úteis de conversão, está a função "Importar dados do KML".
O FME publicou uma versão beta de uma ferramenta on-line que lida com muitos tipos diferentes de conversão, incluindo isso. http://fmeserver.com/userweb/sharper/Portal/EasyTranslator/index.html Este conversor deve realmente ajudá-lo.
Existem também outros produtos comerciais. Arc2Earth vem à mente. Ele tem uma integração muito boa com o ArcGIS Desktop. http://www.arc2earth.com
Você também pode consultar o FME em Safe Software http://www.safe.com
Há um teste de 14 dias disponível. O FME permite mapear os atributos do seu arquivo KML para o formato ESRI SHP durante o processo de conversão / migração de dados, além da capacidade de filtrar os arquivos de pontos KML com base em determinados atributos ou extensões espaciais.
Também há a opção de fazer a conversão em lote quando você tiver um grande conjunto de arquivos KML de seus usuários.
~ SRG
usar o OGR para o controle da linha de comando, o Google Earth Pro fornecerá uma maneira gráfica de converter, assim como uma variedade de outros aplicativos
O ET GeoWizards também possui uma opção de importação do Google Earth, que converterá arquivos KML ou KMZ em classe de recurso. > http://www.ian-ko.com/ET_GeoWizards/gw_MainFeatures.htm
Se você está procurando uma opção de código aberto, vejo que o MapWindow acabou de ser atualizado e existem alguns plugins para converter de e para KML e shapefile.
O GIS do MapWindow de código aberto possui uma extensão gratuita ( KML2Shapefile ) para converter arquivos KML / KMZ em shapefiles.
Se você possui a extensão de interoperabilidade, carregue esse KML diretamente no ArcMap e exporte para shp.
Embora a resposta oposta ao seu Q, caso alguém tenha vindo aqui para fazer o vice-versa, acho esse script perfeito para ir de SHP -> KML http://arcscripts.esri.com/details.asp?dbid=14273
Se você deseja converter seus arquivos on-line, experimente os formatos MyGeodata GIS e converta o sistema de coordenadas . É baseado no ogr2ogr (biblioteca gdal / ogr) - portanto, quase todos os formatos GIS e sistemas de coordenadas conhecidos são suportados ...
O conversor online de KML para Shapefile da Zonum Solutions também funciona bem:
Algumas opções que não encontrei em nenhuma das respostas para adicionar recursos adicionais para a conversão de KML em SHP seriam as seguintes:
O conversor online do formato Keyhole Markup Language para o formato ESRI Shapefile (KML para SHP) é uma ferramenta rápida e fácil de usar para conversões individuais e em lote. O Converter também suporta mais de 90 outros formatos GIS / CAD de vetores e rasters e mais de 3.000 sistemas de referência de coordenadas.
O Free Geography Tools cobre e fornece um tutorial da ferramenta Zonums Software
Uma ajuda boa e fácil que pode produzir resultados mais limpos é converter o KML para o GPX primeiro (existem vários softwares de código aberto que podem fazê-lo) e abrir os respectivos dados (o GPX possui 5 classes diferentes de informações: pontos de referência, pontos de controle, Pontos de rota, trilhas e rotas) usando o ogr2ogr de GDAL / OGR no QGIS e salve-o diretamente no formato de arquivo .SHP.
Também é fácil usar o processo em lote para grande quantidade de dados (usando as Merge Vector Layers da SAGA, por exemplo) para produzir um arquivo de forma única, se desejado, e você também pode limpar os atributos vazios antes do final "Save as SHP".
Tome especial atenção ao sistema de codificação se caracteres estranhos aparecerem no resultado final ... você pode escolher o correto no momento em que estiver adicionando novos dados vetoriais ao seu mapa.
Estou atrasado para a festa, mas aqui estão algumas maneiras extras:
Com o Google Fusion Tables , ele pode converter informações de pontos KML em WGS84 X e Y em um formato .csv, que você pode usar no seu software de análise GIS preferido.
Usando o pacote rgdal no R .:
install.packages("rgdal")
library(rgdal) #load package
kmlfile=readOGR("yourkmlfilehere.kml") #load KML
writeOGR(kmlfile,"yourshapepath",layer="shapename", driver="ESRI Shapefile") #save shape
Outra dica: se você deseja converter vários KMLs em uma pasta / diretório de uma vez para shapefile usando a linha de comando, abra o cmd na pasta e digite:
para / R% f em (* .kml) faça ogr2ogr -f "ESRI Shapefile" "% ~ dpnf.shp" "% f"
Nota: Ele usará o nome do KML como o nome do shapefile, para garantir que seus KMLs tenham os formatos de nomenclatura adequados para os shapefiles. O shapefile será criado no mesmo diretório que o kml correspondente. Os KMLs nos subdiretórios também serão convertidos em shapefiles.
Para converter o formato de arquivo KML para Shp, você pode usar o utilitário ogr2ogr. Primeiro, você precisa instalá-lo no sistema. Se você já o instalou, digite ogr2ogr no terminal.
Agora, para a conversão, o comando fornecido precisa ser executado, ou seja,
--- ogr2ogr -f 'ESRI Shapefile' Output_sahpefile.shp Input_KML.kml
É assim que as conversões podem ser feitas pelo ogr2ogr e, se você não estiver obtendo resultados, poderá converter Kml em shp pelo método de codificação.
isso também pode ser feito usando PHP. Você pode criar uma função que definiu esse comando como string e pode fornecer essa string no método shell_exec () para executar. Shell_exec () realmente executa o comando e retorna a saída como string.
public function KML_to_shp($KMLfilepath,$output){
$query="ogr2ogr -f 'ESRI Shapefile' $output.gml $KMLfilepath";
shell_exec($query);
}
Aqui está um post para converter kml para shp usando a ferramenta de linha de comando ogr2ogr ou usando o código php. Enquanto se você usa a ferramenta QGIS, pode consultar uma das minhas postagens aqui kml para shp convert usando QGIS ou então continuar usando esta postagem.
No ArcGIS, basta procurar "kml TO LAYER" ou "Layer to KML". essa ferramenta ajudará você a converter em shapefile e KML