9

I was educated in GIS using ArcGIS (Desktop and Workstation) and researched with it with (very) short peeks at MapInfo and uDig . During that time, I was satisfied with the program as I used relatively small databases and didn't do a lot of repeat tasks and ArcGIS has a lot of cool tools to analyze scientific data.

For two years now, since graduation, I been working in a company which is in a whole different scale. I deal with huge databases, doing relatively "simpler" tasks, but moreover they are composed of repetitive tasks (I do a series of simple tasks once a week to the whole database). During this time, I've used AutoCAD (as a lot of our data is drawn using AutoCAD) a lot and grew to appreciate it a lot – The greatest advantage is that using the LISP Programming language and using system variables you can control a whole lot of the settings – whether it concerns customizing the default value for a tool, eliminating the use of dialog boxes in the program, or options to script the automatic opening and manipulation of drawings.

Are there any GIS platforms out there, free or not, that have this high level of customizing, or am I doomed to frustrated manual work?

I prefer platforms with a good UI along the scripting options, but that's not a must.

3
  • 6
    there are tasks in ArcGIS which are eminently scriptable and automatable, others which are definitely not, and a range in between. Dito for all other platforms. If you can give examples of the kinds manual labour you wish to avoid there might be some specific helpful answers. Commented Aug 23, 2010 at 15:22
  • @PolyGeo you are aware that this is a 7 year old question that you demand to be edited? Commented Aug 12, 2017 at 19:59
  • @NicklasAvén I most definitely am not demanding that it be edited. I've simply voted for it to be closed so that it is not seen as a question deemed suitable to act as a model for a similar question to be asked today. To try and address some of the reasons why I think that is the case I have performed some edits on it myself. Whether such old questions should be closed is discussed at meta.stackexchange.com/a/194117/215590
    – PolyGeo
    Commented Aug 12, 2017 at 20:21

7 Answers 7

12

I disagree with you.

I think the ArcGIS help/forums/blogs/vids/etc give a great perspective on what you can achieve with the ArcGIS range of products.

You are not limited to Python to manipulate your spatial data. You can still use VBA at 931 and 10 to access the ArcObjects library, or you could take it a step further and use .NET to do all sorts of things, and again this is well documented.

I also think the shortcuts for ArcGIS Desktop are great, and you can create your own shortcuts via the Customise dialog if need be.

If you dont want to learn how to code, there is also ModelBuilder which is a great way of automating tedious tasks/common workflows, particularly with geoprocessing.

I am being biased, but I do have experience with other products.

I know that Python does lack the power of providing easy to tailor interfaces to present to users, but as I mentioned, with VBA/.NET you can put together content-rich forms to give a custom interface for users to do what they need to do.

  • With .NET you can script against MXDs (e.g. Loop through a folder of MXDs and open each MXD, do some stuff, then move onto next MXD
  • Manipulating default values in your spatial data is also achievable with ArcObjects.
6
  • My programming skills are good, but in no way am I a match for a educated programmer (but I'm getting better every day). That goes for Python/VBA. As unfortunately VBA is going fast down the drain (thanks to Microsoft), I'd just say that from my experience, it is a shame, as it is simple on one hand and powerful on the other. But at the rate ESRI is releasing the updates (with the promise 10.1 won't support VBA), I don't see any justification to invest time in learning to develop using VBA.
    – jonatr
    Commented Aug 24, 2010 at 8:09
  • And as for VB.net / ArcObjects. I forgot to refer to it as I feel (from the very little C# experience I have) that it is not meant for the average GIS analyst (which has some programming experience and can manage basic VBA/Python) but to experienced all-time-committed professional programmers. It seems to me that by making VB.net the preferred language, ESRI is giving up on a whole portion of small companies and analysts that used to customize small things for personal view.
    – jonatr
    Commented Aug 24, 2010 at 8:09
  • The basic problem I have with VB.net is that I can't unfortunately dedicate the time to learn it from scratch ( It's a year long course) and alternatively I can't find any online references \ books as to how to work with ArcGIS and VB.net. As far as I know apart from a few codes out there, ESRI hasn't got any books on the matter (things like getting to know arcobjects but for c#). If you know better, please share.
    – jonatr
    Commented Aug 24, 2010 at 8:10
  • 2
    That's a good, separate question for gis.stackexchange.com: "1. Every time I open the the symobolgy and go to the Fill Color window to adjust the colors I need It opens in CMYK and I need to Change it to RGB." There may be a non-programmatic way to solve that issue. Commented Aug 24, 2010 at 11:29
  • 1
    re:your above-mentioned #2 question. That problem seems pythonable to me, but I don't do much with arcgis/python so maybe someone else will comment. I would recommend breaking this out into another question for gis.stackexchange.com (it will make it easier for future, frustrated GIS analysts who need to loop, zoom, export to find their answer). Commented Aug 24, 2010 at 12:11
5

I am not experienced enough to give a give an answer from very many aspects, but... I did my first things in GIS in ArcView 3.x writing in Avenue. I really liked the speed and possibilities. Then I have never understood the joy in waiting for ArcGIS to start, searching for the right tool and then find the tool I need, needs ArcInfo.

My new love is PostGIS. It is very much more than a database for storing. The built in functionality makes it possible to do all processing and analyzing I have had use for so far. In most cases it is very much faster than Arc products.

In open source world you will not get one solution for everything but there is projects and software covering all your needs.

As I said I do the processing and analysing in PostGIS. I can store the sql-queries in text files to reuse (like any tool in other software but much more transparent). You can write functions in a lot of different languages like plpgsql (a special PostgreSQL language) Python, pLR, C and many more.

For desktop GIS I use mostly QGIS. What is not in the core of QGIS is in the extensions. If that is not enough you can write your own extension in Python and I think also C++)

If you are used to uDig that is of course an alternative.

If you want to do some web mapping you could try MapServer. Mapserver won the big benchmark on this years FOSS4G conference in serving WMS. Esri didn't want to participate this year. Last year they had registered to participate but never did. This year they didn't even register.

GeoServer is another alternative for serving web maps. It is very user friendly and serves a lot of different formats. It also handles WFS-T so you can edit map data and send the edits back to the server.

If you want a lightweight and very fast WFS-T server you should take a look at Tiny-OWS

Well, the list could be long of competent software together building a very powerful and of course customizeable suite.

I mean can it be more customizable. You have access to all the source code. And for the money you save not paying annual fees to Esri you can take some free and study programming or hire a programmer. You will get a lot of coding in those projects for the cost of an ArcGIS Server license.

0
4

"...Fill Color window to adjust the colors I need It opens in CMYK and I need to Change it to RGB"

  1. Funny, I learnt how to do this last week.

    • open ArcMap --> add a layer --> go to colour pallete
    • Change the CYMK to RGB
    • Save the document to Normal.mxt under your doc & settings (under the ESRI folder)
    • Close and re-open ArcMap --> Will always be defaulted to RGB from now on.
  2. DS Map Book might be a solution for you? Or if your on v10, Data Driven Pages? Like I said, .NET/VBA scripting could do this, I am not too hot on Python to provide a Python solution

"getting to know arcobjects" but for c#

I agree with you here. I know ESRI are aware of this but not sure if they have something in the pipeline. This link may help as a starter, if you have a background in VBA. I would still argue that the G-T-K AO is still a valid read and the lessons learnt will still apply for .NET (and you can get through the book in a week @ 1-2hrs a day).

I was/am a big fan of VBA...

4
  • Thanks. I "brushed the dust" off MY GTKAO copy this morning and figured it's time to get back to it as I've improved since the last time I half-read it. Maybe afterwards I'll have more of a basis to dive in and tackle VB.Net .
    – jonatr
    Commented Aug 24, 2010 at 12:45
  • Part of my problem is convincing the company computer department I need Visual Studio (GIS not so popular - they don't see us as developers and so I have to fight to get basic stuff). The DS MapBook is a another reason for fighting with computers, and that's why I've focused on Python and VBA until now - they are built in and I don't need to fight over them. Anyways, thanks for the tip over the CMYK/RGB matter, I'll try it out.
    – jonatr
    Commented Aug 24, 2010 at 12:46
  • @jonatr - There is a free version of Visual Studio - I think it's called "Express". It will probably do everything you need. The professional version mostly just has more tools for professional developers.
    – user708
    Commented Aug 24, 2010 at 15:40
  • I agree, Visual Studio Express is usually substantial enough for getting what you want done. Its def a good place to start learning anyhow, and id also recommend this link: msdn.microsoft.com/en-au/beginner/default.aspx
    – jakc
    Commented Aug 24, 2010 at 23:35
3

On the ArcGIS platform, if you are not doomed to manual work, then you are doomed to do some programming work (not bad for me since I enjoy that sort of thing)!

I don't know of a way in 9.3.x to override default values in the geodatabase without resorting to custom tools. This is what I do, especially if it's a set of repetitive edit operations.

In ArcGIS 10, the user can make Create Feature templates and set default values for each template initially, the templates are the symbols for a feature layer, but you can copy/remote/modify the create feature templates as needed). I haven't moved across to ArcGIS 10, but this is one of the features that our GIS editors are looking forward to.

I've never needed to remove a shortcut, so I'm not sure if you can do that in any version of ArcGIS. You can definitely add them (accelerators). I'm not sure if you can override them; if you can, it might be possible to override them with a dummy command that does nothing.

As Simon mentioned, you can use ArcObjects/.NET and operate on multiple MXDs. Although I do find that ArcObjects to be very picky when the MXD contains either broken data connections or any of the various service layers. In ArcGIS 10, you'll have arcpy.mapping in Python that helps with scripting work against MXDs/LYRs in Python. It is still a little buggy, but it might work for you depending on what you have in your MXD.

1
  • Hi. As I wrote a very long reply to Simon, I don't want to copy paste it (it's above), but I'd appreciate it if you would comment (if you have anything to comment). Thanks for the reply.
    – jonatr
    Commented Aug 24, 2010 at 8:14
3

While I really like ArcGIS, I must admit that the ability to create watch files provided in workstation ArcInfo is sorely missing in desktop. Many are familiar with Excel's ability to record macros. It seems like ESRI could come up with similar capability - even after 10.0 when VBA is retired. For example, Neooffice has the ability to record python macros.

ArcGIS Engine is highly customizable. It allows you to create small focused tools that do one thing and do it well. It includes template projects for Visual Studio, including the free Express edition(?), that can be used to build small light weight map viewer apps without any coding. Still, to get the full benefits of ArcGIS Engine though, you would need to invest time in learning a .NET programming language.

2
  • 1
    it's not as seamless or complete as a watch file, but the Results tab contains the history of your geoprocessing, which can be drag n dropped to Model Builder or exported to python snippets. I use this as a kind of improved metadata history for datasets. Commented Aug 25, 2010 at 5:38
  • also there is a history of gp tools as xml file here %AppData%\Roaming\ESRI\Desktop10.0\ArcToolbox\History, the xml file has some issues with it that will be addressed at 10.1. but it may be an interesting option for you.
    – gotchula
    Commented Nov 25, 2010 at 20:40
1

This is the reality of making the toolset drive the database and not the other way around. You sound like you are in the position where you need a compreshensive database structure, one that you can derive reports, create updates, publish maps, etc. with or without the GIS part. Freeing the data from the tool will give you the ability to use an appropriate tool of your choosing. That is why we have Open Standards. From there you can use the application that best serves the purpose you have in mind. I just had this conversation this morning that if you happen to represent data in Columns it doesn't make it an Excel Spreadsheet.

Another responder discussed the limitation of Python, this is not so. There is probably more things you can do with python due to the extensive libraries then most any other language, and interfaces are not that hard. What is limiting is ESRI's implementation of Python in ArcGIS. Dont confuse the two.

1

You may want to check out MapWindow as a free alternative.... reads Shapefiles etc, but you'd need to know how to program in C#. But then you have total control over everything...

http://www.mapwindow.org/

1
  • The problem is getting hold of knowledge in C#, whic isn't trivial and very time-consuming. But thanks, I'll keep it in mind.
    – jonatr
    Commented Aug 30, 2010 at 5:59

Not the answer you're looking for? Browse other questions tagged or ask your own question.