Fui educado em GIS usando ArcGIS (Desktop e Estação de Trabalho) e pesquisei com ele com (muito) espiadas curtas no MapInfo e no uDig. Durante esse período, fiquei satisfeito com o programa, pois utilizava bancos de dados relativamente pequenos e não realizava muitas tarefas repetidas, e o ArcGIS possui muitas ferramentas interessantes para analisar dados científicos.
Há dois anos, desde a graduação, trabalho em uma empresa que está em uma escala totalmente diferente. Lido com bancos de dados enormes, executando tarefas relativamente "mais simples", mas, além disso, eles são compostos de tarefas repetitivas (faço uma série de tarefas simples uma vez por semana para todo o banco de dados). Durante esse período, eu usei o AutoCAD (já que muitos de nossos dados são extraídos usando o AutoCAD) e cresci para apreciá-lo muito - A maior vantagem é que, usando a linguagem de programação LISP e usando variáveis de sistema, você pode controlar um todo Muitas configurações - se se trata de personalizar o valor padrão de uma ferramenta, eliminar o uso de caixas de diálogo no programa ou opções para criar scripts para a abertura e manipulação automáticas de desenhos.
Existem plataformas GIS disponíveis, gratuitas ou não, com esse alto nível de personalização ou estou fadado ao trabalho manual frustrado?
Prefiro plataformas com uma boa interface do usuário ao longo das opções de script, mas isso não é obrigatório.
Respostas:
Não tenho experiência suficiente para dar uma resposta de muitos aspectos, mas ... Fiz minhas primeiras coisas no GIS no ArcView 3.x, escrevendo na Avenue. Gostei muito da velocidade e das possibilidades. Então, eu nunca entendi a alegria de esperar pelo ArcGIS iniciar, procurando a ferramenta certa e depois encontrando a ferramenta de que preciso, precisa do ArcInfo.
Meu novo amor é o PostGIS. É muito mais que um banco de dados para armazenamento. A funcionalidade incorporada torna possível fazer todo o processamento e análise que eu usei até agora. Na maioria dos casos, é muito mais rápido que os produtos Arc.
No mundo do código aberto, você não terá uma solução para tudo, mas há projetos e software que cobrem todas as suas necessidades.
Como eu disse, faço o processamento e a análise no PostGIS. Posso armazenar as consultas sql em arquivos de texto para reutilização (como qualquer ferramenta em outro software, mas muito mais transparente). Você pode escrever funções em várias linguagens diferentes, como plpgsql (uma linguagem especial do PostgreSQL), Python, pLR, C e muito mais.
Para GIS de desktop, eu uso principalmente o QGIS. O que não está no núcleo do QGIS está nas extensões. Se isso não for suficiente, você pode escrever sua própria extensão em Python e acho que também em C ++)
Se você está acostumado ao uDig, é claro que é uma alternativa.
Se você quiser fazer um mapeamento da web, tente o MapServer. O Mapserver ganhou a grande referência nesta conferência FOSS4G deste ano ao servir o WMS. Esri não quis participar este ano. No ano passado, eles se inscreveram para participar, mas nunca o fizeram. Este ano eles nem se registraram.
O GeoServer é outra alternativa para servir mapas da web. É muito fácil de usar e serve muitos formatos diferentes. Ele também lida com o WFS-T, para que você possa editar os dados do mapa e enviar as edições de volta ao servidor.
Se você deseja um servidor WFS-T leve e muito rápido, consulte o Tiny-OWS
Bem, a lista pode ser longa de software competente, criando um conjunto muito poderoso e, é claro, personalizável.
Quero dizer, pode ser mais personalizável. Você tem acesso a todo o código fonte. E pelo dinheiro que você economiza ao não pagar taxas anuais à Esri, você pode pegar um pouco de graça e estudar programação ou contratar um programador. Você obterá muita codificação nesses projetos pelo custo de uma licença do ArcGIS Server.
fonte
Eu discordo de você.
Acho que a ajuda / fóruns / blogs / vids / etc do ArcGIS oferece uma ótima perspectiva sobre o que você pode obter com a gama de produtos ArcGIS.
Você não está limitado ao Python para manipular seus dados espaciais. Você ainda pode usar o VBA 931 e 10 para acessar a biblioteca do ArcObjects, ou pode dar um passo adiante e usar o .NET para fazer todo tipo de coisa, e novamente isso está bem documentado.
Também acho que os atalhos para o ArcGIS Desktop são ótimos, e você pode criar seus próprios atalhos através da caixa de diálogo Personalizar, se necessário.
Se você não quiser aprender a codificar, também há o ModelBuilder, que é uma ótima maneira de automatizar tarefas tediosas / fluxos de trabalho comuns, principalmente com o geoprocessamento .
Estou sendo tendencioso, mas tenho experiência com outros produtos.
Eu sei que o Python não tem o poder de fornecer interfaces fáceis de apresentar para os usuários, mas como mencionei, com o VBA / .NET você pode montar formulários ricos em conteúdo para fornecer uma interface personalizada para que os usuários façam o que precisam. Faz.
fonte
Engraçado, eu aprendi como fazer isso na semana passada.
O DS Map Book pode ser uma solução para você? Ou, se você estiver na v10, Dta Driven Pages ? Como eu disse, o script .NET / VBA poderia fazer isso, não sou muito quente em Python para fornecer uma solução em Python
Eu concordo com você aqui. Eu sei que a ESRI está ciente disso, mas não tenho certeza se eles têm algo em andamento. Esse link pode ajudar como iniciante, se você tiver experiência em VBA. Eu ainda argumentaria que o GTK AO ainda é uma leitura válida e as lições aprendidas ainda se aplicam ao .NET (e você pode ler o livro em uma semana a uma ou duas horas por dia).
Eu era / sou um grande fã do VBA ...
fonte
Na plataforma ArcGIS, se você não está fadado ao trabalho manual, está fadado a fazer algum trabalho de programação (nada mal para mim, pois eu gosto desse tipo de coisa)!
Não conheço uma maneira no 9.3.x de substituir valores padrão no geodatabase sem recorrer a ferramentas personalizadas. É o que faço, especialmente se for um conjunto de operações de edição repetitiva.
No ArcGIS 10, o usuário pode criar modelos de recurso de criação e definir valores padrão para cada modelo inicialmente; os modelos são os símbolos de uma camada de recurso, mas você pode copiar / remotamente / modificar os modelos de recurso de criação, conforme necessário ). Não mudei para o ArcGIS 10, mas esse é um dos recursos que nossos editores de GIS estão ansiosos.
Eu nunca precisei remover um atalho, então não tenho certeza se você pode fazer isso em qualquer versão do ArcGIS. Você pode definitivamente adicioná-los (aceleradores). Não tenho certeza se você pode substituí-los; se você puder, pode ser possível substituí-los por um comando fictício que não faz nada.
Como Simon mencionou, você pode usar o ArcObjects / .NET e operar em vários MXDs. Embora eu ache que o ArcObjects é muito exigente quando o MXD contém conexões de dados quebradas ou qualquer uma das várias camadas de serviço. No ArcGIS 10, você terá o arcpy.mapping em Python, que ajuda no trabalho de script contra MXDs / LYRs em Python. Ainda é um pouco complicado, mas pode funcionar para você, dependendo do que você tem no seu MXD.
fonte
Embora eu realmente goste do ArcGIS, devo admitir que a capacidade de criar arquivos de exibição fornecidos na estação de trabalho ArcInfo está muito ausente na área de trabalho. Muitos estão familiarizados com a capacidade do Excel de gravar macros. Parece que a ESRI poderia ter uma capacidade semelhante - mesmo após a 10.0, quando o VBA for desativado. Por exemplo, o Neooffice tem a capacidade de gravar macros python .
O ArcGIS Engine é altamente personalizável. Permite criar pequenas ferramentas focadas que fazem uma coisa e fazem bem. Ele inclui projetos de modelo para o Visual Studio, incluindo a edição Express gratuita (?), Que pode ser usada para criar pequenos aplicativos de visualização de mapas leves, sem qualquer codificação. Ainda assim, para obter todos os benefícios do ArcGIS Engine, você precisaria investir tempo aprendendo uma linguagem de programação .NET.
fonte
Essa é a realidade de fazer o conjunto de ferramentas dirigir o banco de dados e não o contrário. Parece que você está na posição em que precisa de uma estrutura de banco de dados abrangente, que possa gerar relatórios, criar atualizações, publicar mapas etc. com ou sem a parte GIS. Liberar os dados da ferramenta permitirá que você use uma ferramenta apropriada de sua escolha. É por isso que temos padrões abertos. A partir daí, você pode usar o aplicativo que melhor serve ao propósito que você tem em mente. Acabei de ter essa conversa nesta manhã de que, se você representar dados em colunas, não será uma planilha do Excel.
Outro respondente discutiu a limitação do Python, não é assim. Provavelmente há mais coisas que você pode fazer com python devido às extensas bibliotecas do que qualquer outra linguagem, e as interfaces não são tão difíceis. O que limita é a implementação do Python pela ESRI no ArcGIS. Não confunda os dois.
fonte
Você pode querer verificar o MapWindow como uma alternativa gratuita .... lê Shapefiles etc., mas você precisa saber como programar em C #. Mas então você tem total controle sobre tudo ...
http://www.mapwindow.org/
fonte