12-14-2016 12:30 AM
ArcGIS uses python scripting to automate various geoprocessing tasks and interfaces.
What scripting language does GeoMedia and/or Hexagon products use to automate such geoprocessing tasks?
Look forward to receive feedback on this as I am currently engaging with a prospect on this.
Thanks in advance!
Solved! Go to Solution.
12-14-2016 01:26 AM - edited 12-14-2016 01:27 AM
As far as I know there exists no "classic scritpting" for GeoMedia (Desktop). There is the API which provide the full access to a COM/.NET object modell for every element of the program.
You can do something like scripting with the Visual Studio IDE. It's not exactly scripting, more exactly it's "ActiveX in debug mode".
The first code lines (in VB) in such a project are
Dim objGmApp As Object
objGmApp = GetObject(, "GeoMedia.Application")
Now you have full access to the application via the API.
But such a code is not integrated into GeoMedia as you might expect for scriptiing.
Custom commands are integrated into GeoMedia. But this approach is a plugin concept with compilation not scripting (in the narrow sense).
12-14-2016 03:29 AM
Thanks for your prompt feedback.
If I understand correctly (i am not a technician but commercially active), scripting can be done through the API?
After some more research online, I came across the following; "Just bear in mind GeoMedia only has .NET scripting, no python scripting unlike ESRI products and there's very limited online resources'.
To answer answer the clients qeustion....Can I say, GeoMedia uses .NET scripting only but can also use the spatial modeler to automate geoprocessing tasks in GeoMedia?
12-14-2016 04:34 AM
So, we have a wording problem...
If "scripting" is used synonymic to "programming" your citation is correct (whatever it means "there's very limited online resources").
But your last sentence is not correct or doesn't make sense. To automate geoprocessing you can use .NET "scripting" (what you want to do else with this??) and with spatial modeler too. Scripting/programming does it with code, the spatial modeler does it with an interactive graphic designer. Notice, scripting/programming is more flexible (in general).
If you familiar with queries in database, you can compare the difference with the differenc between sql statements (=scripting) and a query designer (=interactiv grapic) - more or less.
Hope, you can follow my explanation
12-14-2016 10:55 PM
Thanks for the explanation, it definitly helps.
I already provided some feedback to the customer. A final qeustion; does .NET and python have similar capabilities or are there any notable differences between these 2 programming languages?
Many thanks and best regards,
12-16-2016 04:20 AM - edited 12-16-2016 04:22 AM
That's a religious question...
To keep it simple: If you ask for the capabilities of .NET and GeoMedia vs. python and ArcGIS there are the similar capabilities.
More general, .NET is strictly based on Microsoft technology and more Desktop orientated - disregarding from ASP.NET. And more exactly .NET is a technology/framework not a programming language. The .NET languages are C#, VB etc.
Python is a more or less platform neutral language.
From a view point of language design - maybe a question isn't very important in practice sometimes - .NET languages like C# and VB are strong while python is more pragmatic. If we make a difference between scripting and programming - our wording problem above -, python has more the character of a script language and is multi paradigmatic while .NET fundamentals are classical object orientated programming - not only but in the main tendency.
But this are only a few aspects and the question could initialize a scholars' disput.
01-10-2017 10:51 PM
Still many thanks for the info provided above.
I enjoyed summer holiday therefore my late response.
A happy new year and will stay in contact. I know there will arise more technical qeustions going forward.
06-17-2018 01:04 PM - edited 06-17-2018 01:48 PM
.NET Framework (+Mono .NET), Qt, GTK, Java Virtual Machine, Adobe AIR... and so on is computing platforms (software libraries, engines, environments) for runing, developing and controling of compiled/interpreted software applications.
This computing platforms can be parts of different operation systems like Windows (Desktop, Mobile, Embedded), *NIX (UNIX, FreeBSD, Solaris, Linux...), OS/360, Multics, VMS, RT-11...
The operating systems can be run on different hardware processors. E.g.: MS Windows support ARM, IA-64, Itanium, MIPS, DEC Alpha, PowerPC and x86. )))
GeoMedia is the open system (as well as other Intergraph's open systems in the past) and it not postulating only one embedded programming language inside closed software environment.
GeoMedia use .NET as the computing platform, as the software environment for building additional plug-ins or for controlling of GeoMedia by an external application.
You can use ANY modern languages to develop an appllication for .NET — Python, e. g.
The language selection is depend on your knowledge, work experience and corporate IT environment.
See Python for .NET
--= APh =--
06-19-2018 12:27 PM - edited 06-20-2018 12:19 AM
As I said: It could initialize a scholars' disput ...
I'm not sure it's a good idea always to tell your customer, "you can do everything" - it's the usual "IT to customer-speech" ... It doesn't help your customers to find the solution they need.
On the technical aspects: On a machine you can always do everything with a Turing complete language - theoretically ...
If not necessary I wouldn't add an extra interoperability layer (only to say "I'm programming with Python" ...). If you need to integrate libraries from different frameworks (with different technology), it may be better to use an interface between the frameworks where every framework "stay on its side". Integration with an interoperability layer often causes an ugly overhead which is not a good idea for stability and performance. And I'm not talking about debugging here ...