Tuesday, November 3, 2015

ArcGIS Add-ins C# Series


We are back! 

Brand new episode, talking about ArcGIS for Desktop, customizations, describing the setup, Extending ArcObjects vs Add-ins and discussing what we are going to do in the coming episodes! 





Enjoy Guys
Stay Awesome! 

Sunday, September 27, 2015

ArcObjects by Example Book by Hussein Nasser





 Buy ArcGIS by Example


Last month I recorded a video on general channel and life update. In that video (or podcast) I mentioned that I'm working on a new book.

The book titled "ArcGIS By Example" has been successfully published. I would have named it ArcObjects by Example really, but the publisher suggested this name so.

The book is extremely useful for those who want to get started with programming with ArcGIS and do really cool stuff with ArcGIS that is not provided out of the box. It discusses how to develop using Add-ins and extending ArcObjects techniques. The beauty of this book is that it uses an example approach, which is a real life scenario project where you build a software to satisfy certain requirements. Not only that, you have 3 examples that you will never find anywhere on the net because simply I made them up. Unless the future version of me beat me to it and published it before I did?

You only need ArcGIS and ArcObjects SDK to work on the book and of course Visual studio express which is free. The book is written for ArcGIS 10.3.1 but you can work with ArcGIS 10.1 up 10.3.1 safely. The book has the list of software requirements too.

Since I'm a gamer, the book references some video games characters and location. Shoot me an email if you did figure them out with the page number :)

Thank you guys for buying my book! Enjoy it and check out my 200+ free video tutorials on IGeometry YouTube channel. 





Thursday, August 13, 2015

Blog, Channel and Life Update


Really long time since I wrote anything here...

It has been a wonderful journey since my wife suggested that I take a publisher offer to write my first book back in 2013. I'm so glad that I did.

Today, the fruits of that decision, four books, a Youtube channel, and a big move in my proffesional carrier..

Listen the Channel Update for more details

-Hussein



Tuesday, December 16, 2014

ArcObjects Recycled Cursors

If you are new to ArcObjects, you must have seen this Boolean parameter when you want to create a search cursor. This might be confusing for some new developers. I didn't know about it in the beginning so I used to insert a false there every time.

Actually this very Boolean parameter can really ruin your entire application and produce unexpected results if used in the wrong context.

What is Recycling?
Recycling is reusing the same memory location for creating features or rows.


When to use Recycling?
Recycling cursor is much more efficient than non-recycling one. It is great for populating lists and printing values in the screen.

Here are some cases you want to use Recycling in
  • Populating Features' attributes in a list
  • Saving certain primitive features attributes (like objectid) in a collection

When not to use Recycling?
When capturing the feature or its geometry (or any other non-primitive reference) , DO NOT use Recycling cursor. If you did you will simply get the same feature (probably the last one) in all your collection because it is using the same memory location.

Here are some cases you must not use Recycling in
  • Union the geometry of all features in a given cursor
  • Saving the feature geometry in the Grid Tag or collections
  • Comparing features

I even made you a video guys!


Hope that helped!

Extending ArcObjects with .NEt (IGeometry) - 09 - Searching the Geodatabase

In this episode we talk about how to search restaurants by name, filter them on the map as we type in the name of the restaurant. 

Interfaces introduced in this episode: None

====
Previous episode with code 
http://www.youtube.com/watch?v=h7TYtS...

The Source Code as of the end of the Episode
https://www.dropbox.com/s/b1wdh57g342...


Enjoy



Sunday, December 14, 2014

Extending ArcObjects with .NET (IGeometry) - 08 - Flashing Geometry

This episode we will learn how to flash restaurants geometry on the map. We learn how to draw the point geometry on the screen and customize the pen to change the size and the color. The NOT XOR pen will allow you to draw over the same color which will make the color disappear simulating a flashing process.

Interfaces introduced in this episode: IGeometry, IRGBColor, ISymbol, IMarkerSymbol


Enjoy



Friday, December 12, 2014

Extending ArcObjects with .NET (IGeometry) - 07 - Selecting Features

In this short episode we learn how to interact with the map from our form. We will learn how to select a feature, clear existing selection and refresh the map so we can show the selection

Interfaces introduced in this episode: None

====
Previous episode with code 
http://www.youtube.com/watch?v=XT1LqH...

The Source Code as of the end of the Episode
https://www.dropbox.com/s/d8rhjgh1we4...



Wednesday, December 10, 2014

Extending ArcObjects with .NEt (IGeometry) - 06 - Object Oriented and GIS

First introduction of Object Oriented concepts with ArcObjects. We create the category and restaurant class to wrap the ArcObjects and populate them dynamically in drop down lists. We remove the hard code coded categories and replace them with a dynamic subtype auto fill. 

Interfaces introduced in this episode: ISubtypes and IEnumSubtype

====
Previous episode with code 
http://www.youtube.com/watch?v=saixbj...

The Source Code as of the end of the Episode
https://www.dropbox.com/s/uxva0bj8fph...

Enjoy


Monday, December 8, 2014

Extending ArcObjects with .NET (IGeometry) - 05 - Filtering Queries

his short episode introduces the concept of filtering queries. We talk and discuss the IQueryFilter and IFields interface. We do that by adding a new functionality to our Bestaurants application to filter restaurants by their category

Interfaces introduced in this episode: IFields, IQueryFilter

====
Previous episode with code 
http://www.youtube.com/watch?v=avbKHJ...

The Source Code as of the end of the Episode
https://www.dropbox.com/s/57wvn1hgbe9...

Enjoy



Saturday, December 6, 2014

Extending ArcObjects with .NET (IGeometry) - 04 - Querying Features

We fix the form-hiding-behind-arcmap problem by forcing the form to be the child of ArcMap. Also this is our first encounter with Feature Classes, Feature Cursor and yes Features. We will learn how to get the feature class, use it to query and get a feature cursor which will give us individual features to loop through. New Interfaces introduced in this episode, IFeatureClass, IFeatureCursor and IFeature 

Interfaces introduced in this episode: IFeatureClass, IFeatureCursor, IFeature 

====
Previous episode with code 
http://www.youtube.com/watch?v=QCpEKW...

The Source Code as of the end of the Episode
https://www.dropbox.com/s/yiggh6ky3aw...


Enjoy