Wednesday, August 31, 2005

ArcGIS ArcObjects ... explore...

Some of you... like me... have worked with Avenue and AML before. We used this mainly in university days to program, script or to customize ESRI software. With ArcGIS as I mentioned in earlier blogs, ArcObjects came into being… it’s the de facto language to use for customizing, developing, programming, scripting ESRI software now.

In ArcGIS 9.0 there is a fundamental change in the structure of 'type libraries'. So for those working with existing 8.x, you need to change existing development work. The reason is in ArcGIS 8.x all the type library for ArcObjects was in a single file called esricore.olb. In ArcGIS 9.0 all the "main" classes are split into seperate files can you need to call them seperately (unlike esricore that was implemented before)




Indonesian Art
This one caught my attention because of the vibrant colours and excellent hand representation... not easy when painting in oil.

Mardiyono
Tari Bali - Oil on Canvas

Saturday, August 27, 2005

ArcObjects and ESRI... pathways...

Click this link: http://edndoc.esri.com/arcobjects/9.1/ It has useful info on ArcObjects and sample codes... something like a GIS version of MSDN. I use this site a lot to get reference for codes/classes/methods and also to reference the ArcObjects model.

Read these chapters in the above link to better understand:

A. Explains overall what is ArcObjects - these are collections of classes that implements ArcGIS.
Click >Developing With ArcGIS>Introduction

B. If you want to customise ArcView, ArcEditor or ArcInfo Desktop desktop/workstation software or integrate with your existing applications this chapter explains the overview.
Click >Developing With ArcGIS>Application Development Options>Customizing ArcGIS Desktop Applications Click >ArcGIS Engine

C. If you want to develop your own standalone GIS application, nothing to do with our existing sofware suites... you can use these classes and create your own.
Click >Developing With ArcGIS>Application Development Options>Standalone GIS Applications Click >ArcGIS Desktop

Read about all the different development environments or IDEs you can use to customise / program with ArcGIS. Click >Development Environments




In the 1840s Abraham Solomon concentrated on painting literary and domestic genre scenes. From the 1850s, however, he turned to contemporary subject-matter, and it was this picture which established his reputation. With a carefully sustained mood of suspense and uncertainty, Solomon makes his audience speculate about the outcome of the trial. A writer for the Atheneaeum described the scene: ‘An old country man, the father, bows and sways with grief, while the wife weeps in the pangs and agony of despairing suspense. The unconscious child playing at her side heightens the pathos.’

Tuesday, August 23, 2005

Objects... and classes

For developing applications ArcGIS 9 provides programmers to:

  • Configure and Customise existing ArcGIS Desktop range of software - ArcInfo, ArcEditor and ArcView (all ArcMap and ArcCatalog customisation) - Just like customising MS Access with VBA or VB DLLs you can alter, improve and customise existing off the shelf software.
  • Embed GIS software in other standalone applications - develop new applications (exe, DLLs, COM) and integrate them
  • Build, Test and deploy custom GIS applications from scratch - ArcGIS Engine can be used to create these standalone applications / software in the desktop or workstation level
  • Geoprocessing - use Python/JScript/VBScript and/or Model Builder to process and analyse GIS data. Scripting of GIS workflow can also be done using the above languages.
  • Build Web Services and Web Applications - Use ArcGIS Server for a fully functional GIS application on the web that can support editing/geoprocessing and much more.

The allied defeat of Napoleon at Waterloo in 1815 was the most decisive event of recent history and presented a challenge to painters. Turner visited the battlefield in 1817 to research the topography and troop deployments. Rather than the battle itself, and an overt celebration of a British victory, Turner painted a compassionate and tragic visualisation of the aftermath, with both sides united in death and French women searching among the corpses for their loved ones. When first exhibited alongside the passage from Byron which inspired it, this picture struck some commentators as unpatriotic.

Friday, August 19, 2005

GIS customisation... what is it all about??

In any software... developers need to create and deploy methods, commands, tools, menus and toolbars. In GIS customisation there is no difference, except that the data is geographic / spatial based and there are complex geometries involved. There are many standalone desktop based GIS software in the market like ESRI, Intergraph, MapInfo, SICAD... you can use this... but still many users prefer more customised interface and applications to suit their specific work needs and data type.

For example ... a property valuation company is not a classic GIS organisation (Survey, Urban Planning, Environment etc)... but they need GIS related information on buildings, property values, historical data, owners and transactions. GIS can make their life so much easier. Buying an off the shelf software is not going to solve their needs specifically ... it needs to be customised to a valuers needs... and also it must be convenient.

So the emphasis of GIS customisation and development should be to develop a new software... please don't re-invent the wheel.... but to plug in your customisations and methods to exisiting software solutions. We are not re-inventing or re-creating GIS tools and methods but merely enhancing the workflow, fine tuning the processes, improving the interface and upgrading methods. "Plug and Play" programminng became very popular with VB and VBA (see my earlier posts). You can now add and remove functions, tools and methods easily... which in return makes the development life cycle faster.

Let me use ArcGIS as an example. ArcGIS uses ArcObjects as the core classes for any development work. Arcobjects is developed in C++. These classes and methods are used to build ESRI software. You as the user have the ability to pull these objects and plug it into a VB / VBA application. Thats the beauty of COM.

All the user interface controls in ArcGIS Desktop applications are commands... "button" being the simplest type of command.... it generally appears as an icon on the toolbar. An "action' occurs when the button is clicked... running a code / method / procedure / function / geoprocessing within the "OnClick" procedure. To be more technical .... Commands mentioned above are components within a DLL that implements the ICommand interface (this is COM)... referenced from esriSystemUI library. You add to this techology by improving the commands...



Today in 1942: Allies launch daring raid on DieppeAllied troops have pulled back after nine hours of heavy fighting on the French coast at Dieppe, northwest of Paris. The withdrawal brings to an end the largest operation yet to include the army, navy and air force at the same time.

Tuesday, August 16, 2005

smog free... Malaysia GIS ...

We are not so free from the haze yet... this could happen again... and again... if the Indonesians keep turning a blind eye to its neigbours. Concerns about health effects from haze is rising... and so are sales of air-conditioners / air purifiers. Strangers in the lift, car park and shopping malls are asking each other how the survived the haze. Survive the haze?? Hhmmm.... maybe its good that everyone... rich or poor has been effected by this. We become more friendly and concerned about our surrounding and environment.

Information is vital and the speed of delivery can save lives. GIS is useful in solving all these issues... forestry mapping, crisis management, fire management, environmental analysis, modelling of wind / haze movement, air pollution mapping, demographic analysis, satellite imagery and much more. No need to mention Indonesia... is the Malaysian government prepared for this disaster... in the future?? Do we have the correct maps, data and satellite / aerial images of the affected areas??? Did we analyse all the various data sources ... GIS and non-GIS?? How fast were our planes flying capturing images and making analysis???



Historic times. Israeli pullout from Gaza. Been reading about this... and we must think positive... maybe peace can reign in the middle east.

However... the Palestinians and the Arab supporters now must prove the world they are capable of managing a country by themselves. The next would be West Bank??

Friday, August 12, 2005

purple haze...




Monday to Wednesday the haze was moderate and bearable... it was slowly building up. On Thursday and today (Friday) it has become worse and very unhealthy.

Thursday and Friday: 7am / 12pm / 7pm (August 11) 9am (August 12)
In PJ SS2 where I live the visibility is about 50m. Apartments are badly effected. You need to have air-cons and not leave the windows open. Traffic and pollution from factories are not helping. Also children and daycare centres are bad effected. You can feel the stuffy air and acrid smell everywhere.

Thursday and Friday: 10am / 2pm / 5pm (August 11) 10am (August 12)
In Sunway (Leisure Commerce Square) where the haze is worse than PJ SS2... the visibility is less than 50m. As I am driving to work the air in the car gets heavy and I can feel my eyes burning. In the office lifts and corridors slowly the haze is creeping in. The parking air is stagnant and mixed with exhaust pollution makes it unbearable in the underground car park. My office air-con helps to contain the haze only for a few hours because the smoke actually creeps in slowly.



Thursday and Friday: 8pm / 10pm (August 11) 7am / 8am (August 12)
In Rawang, my hometown... I have just sent my wife and kid back... the situation is much better. There is still haze but not as bad as the Klang Valley. The visibility is better and lots of trees around my parent's home does help. We still need to leave the air-cons on because the air is not totally clean.

Some Images from NST:


Tuesday, August 09, 2005

he loved the dream... with vengeance...

The Marriage of Giovanni Arnolfini and Giovanna Cenami; 1434 (130 Kb); Oil on wood, 81.8 x 59.7 cm (32 1/4 x 23 1/2 in); National Gallery, London.

Dutch artists... besides my favourite Rembrandt... are very skillful and creative in developing new techniques for oil painting throughout the years. You can see their influence from Rembrandt to Van Gogh. Van Eyck is a true master of potraits and I believe to be the best Dutch potrait painter. His style and skill is still admired today because not many painters can emulate his work. Though his works look static and fixed but this was the style at that time... 1400s... this was during the early years of civilisation and Sultanate in Malaysia... imagine that.

This title has traditionally been given to this painting because it was thought to be a form of "wedding certificate'' for Giovanni Arnolfini and Giovanna Cenami, who married in Bruges in 1434. He was an Italian merchant, she the daughter of an Italian merchant. Their grave, youthful faces both have a lovely responsibility that is typical of van Eyck. Van Eyck's art reached perhaps its greatest triumph in the painting of portraits. In the mirror at the back of the room we see the whole scene reflected from behind, and there, so it seems, we also see the image of the painter and witness.


The mirror is painted with almost miraculous skill. Its carved frame is inset with ten miniature medallions depicting scenes from the life of Christ. Yet more remarkable is the mirror's reflection, which includes van Eyck's own tiny self-portrait, accompanied by another man who may have been the official witness to the ceremony.

We do not know whether it was the Italian merchant or the northern artist who conceived the idea of making this use of the new kind of painting, which may be compared to the legal use of a photograph, properly endorsed by a witness. But whoever it was that originated this idea, he had certainly been quick to understand the tremendous possibilities which lay in Van Eyck's new way of painting. For the first time in history the artist became the perfect eye-witness in the truest sense of the term.

Friday, August 05, 2005

the world will remember ... Tony Montana!!!

OK... to know web programming you need to understand HTML… of course. However, some programmers tend to think HTML is not a language. In my opinion, its a language alright... but a basic and simple one. HTML stands for Hyper Text Markup Language and it’s just a plain text file that contains tags. The tags then tell the web browser how to display the page. So that’s it… it’s a method or structure to display data, text, pics, forms on the web.

HTM or HTML Extension? Have you noticed there are some pages with either extensions. Pretty confusing huh… Actually when you save an HTML file, you can use either the .htm or the .html extension. Using “.htm” might be a bad habit inherited from the past when some of the commonly used software only allowed three letter extensions (i.e. exe, dll and so on). With newer software we think it will be perfectly safe to use .html.

Monday, August 01, 2005

script it... babe

We cannot talk about web programming without having some knowledge of JavaScript. On the client browser (IE, Netscape, Firefox etc)… interactivity with the web user determines ease of use and popularity of a website. HTML is just too static to provide good interactive webpages.

JavaScript is an interpreted scripting language that runs without compilation. It provides HTML designers an option to code interactivity on the client browsers. It will react to user inputs and events like user clicks or form data entry validation.




Richard Manuel and Bob Dylan listening to Blonde On Blonde testpressing, 1966.

It takes some amount of listening to appreciate this guy. I find his voice so irritating... not until I listen to the lyrics and poetic words in his songs. Truly inspirational...

My favourites.. Mr. Tambourine Man, Lay Lady Lay, If Not For You, Shelter From The Storm, A Hard Rain's A-Gonna Fall, Positively 4th Street, I'll Be Your Baby Tonight, Hurricane and much more....