Procurando uma plataforma GIS altamente personalizável? [fechadas]

9

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.

jonatr
fonte
6
existem tarefas no ArcGIS que são eminentemente programáveis ​​e automatizáveis, outras que definitivamente não são e um intervalo entre elas. Dito para todas as outras plataformas. Se você pode dar exemplos dos tipos de trabalho manual que deseja evitar, pode haver algumas respostas úteis específicas.
Matt Wilkie
@PolyGeo, você está ciente de que esta é uma pergunta de 7 anos que você deseja editar?
Nicklas Avén 12/08
@ NicklasAvén Eu definitivamente não estou exigindo que seja editado. Simplesmente votei para que fosse fechado para que não fosse vista como uma pergunta considerada adequada para servir de modelo para uma pergunta semelhante a ser feita hoje. Para tentar abordar algumas das razões pelas quais eu acho que esse é o caso, eu mesmo realizei algumas edições. Se essas perguntas antigas devem ser encerradas é discutido em meta.stackexchange.com/a/194117/215590
PolyGeo

Respostas:

5

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.

Nicklas Avén
fonte
12

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.

  • Com o .NET, você pode criar scripts com MXDs (por exemplo, percorrer uma pasta de MXDs e abrir cada MXD, fazer algumas coisas e depois passar para o próximo MXD
  • A manipulação de valores padrão em seus dados espaciais também é possível com o ArcObjects.
Simon
fonte
Minhas habilidades de programação são boas, mas de maneira alguma sou compatível com um programador educado (mas estou melhorando a cada dia). Isso vale para Python / VBA. Como, infelizmente, o VBA está avançando rapidamente (graças à Microsoft), eu diria que, pela minha experiência, é uma pena, pois é simples, por um lado, e poderoso, por outro. Mas na velocidade em que a ESRI está lançando as atualizações (com a promessa 10.1 não suportará o VBA), não vejo justificativa para investir tempo em aprender a desenvolver usando o VBA.
Jonatr 24/08
E quanto ao VB.net / ArcObjects. Esqueci-me de me referir a ele como sinto (pela pouca experiência em C # que tenho) que ele não se destina ao analista GIS médio (que tem alguma experiência em programação e pode gerenciar VBA / Python básico), mas a experiência de todos os tempos. programadores profissionais comprometidos. Parece-me que, ao tornar o VB.net o idioma preferido, a ESRI está desistindo de uma porção inteira de pequenas empresas e analistas que costumavam personalizar pequenas coisas para visualização pessoal.
jonatr
O problema básico que tenho com o VB.net é que infelizmente não posso dedicar tempo para aprendê-lo do zero (é um curso de um ano) e, alternativamente, não consigo encontrar nenhuma referência on-line \ livros sobre como trabalhar com o ArcGIS e VB.net. Até onde eu sei, além de alguns códigos, a ESRI não tem nenhum livro sobre o assunto (coisas como conhecer objetos de arte, mas para c #). Se você conhece melhor, compartilhe.
Jonatr 24/08
2
Essa é uma pergunta boa e separada para gis.stackexchange.com: "1. Toda vez que abro a simbologia e vou para a janela Cor de preenchimento para ajustar as cores necessárias. Abre em CMYK e preciso alterá-lo para RGB." Pode haver uma maneira não programática de resolver esse problema.
Jay Cummins
11
re: sua pergunta # 2 acima mencionada. Esse problema parece python para mim, mas eu não faço muito com arcgis / python, então talvez alguém mais possa comentar. Eu recomendaria dividir isso em outra pergunta para gis.stackexchange.com (facilitará futuros analistas frustrados de GIS que precisam fazer loop, zoom, exportar para encontrar sua resposta).
Jay Cummins
4

"... Preencher a janela Cor para ajustar as cores necessárias. Abre em CMYK e preciso alterá-la para RGB"

  1. Engraçado, eu aprendi como fazer isso na semana passada.

    • abra o ArcMap -> adicione uma camada -> vá para a paleta de cores
    • Mude o CYMK para RGB
    • Salve o documento em Normal.mxt em seu documento e configurações (na pasta ESRI)
    • Feche e abra novamente o ArcMap -> Sempre será padronizado para RGB a partir de agora.
  2. 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

"conhecendo arcobjects", mas para c #

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 ...

Simon
fonte
Obrigado. "Limpei o pó" da cópia do meu GTKAO hoje de manhã e imaginei que era hora de voltar a fazê-lo, pois eu melhorei desde a última vez que li pela metade. Talvez depois eu tenha mais uma base para mergulhar e enfrentar o VB.Net.
jonatr
Parte do meu problema é convencer o departamento de informática da empresa de que preciso do Visual Studio (o GIS não é tão popular - eles não nos vêem como desenvolvedores e, portanto, tenho que lutar para obter coisas básicas). O DS MapBook é outro motivo para lutar com computadores, e é por isso que me concentrei em Python e VBA até agora - eles estão integrados e não preciso lutar por eles. De qualquer forma, obrigado pela dica sobre o assunto CMYK / RGB, eu vou experimentar.
jonatr
@ Jonatr - Existe uma versão gratuita do Visual Studio - acho que se chama "Express". Provavelmente fará tudo o que você precisa. A versão profissional possui apenas mais ferramentas para desenvolvedores profissionais.
Concordo que o Visual Studio Express geralmente é substancial o suficiente para obter o que você deseja fazer. Sua def um bom lugar para começar a aprender de qualquer forma, e id também recomendar este link: msdn.microsoft.com/en-au/beginner/default.aspx
Simon
3

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.

Jay Cummins
fonte
Oi. Como escrevi uma resposta muito longa para Simon, não quero copiar e colar (está acima), mas agradeceria se você comentasse (se tiver algo a comentar). Obrigado pela resposta.
Jonatr 24/08
3

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.

Kirk Kuykendall
fonte
11
não é tão perfeito ou completo como um arquivo monitorado, mas a guia Resultados contém o histórico do seu geoprocessamento, que pode ser arrastado e solto no Model Builder ou exportado para snippets python. Eu uso isso como um tipo de histórico aprimorado de metadados para conjuntos de dados.
275108 matt wilkie
também há um histórico de ferramentas gp como arquivo xml aqui% AppData% \ Roaming \ ESRI \ Desktop10.0 \ ArcToolbox \ History, o arquivo xml tem alguns problemas que serão abordados em 10.1. mas pode ser uma opção interessante para você.
gotchula
1

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.

westyvw
fonte
1

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/

timemirror
fonte
O problema é adquirir conhecimento em C #, o que não é trivial e consome muito tempo. Mas obrigado, vou manter isso em mente.
jonatr