July 20, 2009

ESRI User Conference 2009

Walking out the back door of this year’s ESRI user conference the BMW/Oracle sailing team’s trimaran was prominently positioned to steal my gaze. An amazing display of engineering and design… wow. It really impressed me with its elegant lines and high tech equipment. Looking at it right in front of me, my mind struggled to understand how huge this boat really is. Rather than accept how big it was my mind tried to force me to see the crew on the trampolines and hoisted up working on the mast as Lilliputians (tiny people). The man suspended on a boson’s seat rocking in the wind on the top of that 150+ foot mast was normal sized! The people on the sailing team were tuning that machine to make it work for them. They were preparing to set out into the ocean to battle the wind, weather, waves and the competition. People design, build and endeavor to do some truly amazing things!

It was great to meet many of you in San Diego this year. You provided us with a wealth of feedback that will really make a difference in the direction and priorities of GIS and CAD interoperability development at ESRI. I hope that you also were able to use the information we shared to make a positive difference in your work. Spending a week with people like you and hearing what you accomplish and endeavor to create is an awesome thing to experience.

June 29, 2009

ArcGIS Server Maps in Microstation: Easy as Pie

I frequently borrow this device from a neighbor of mine (pictured here), which peels, slices and cores apples. It reinforces my idea that in the design of anything there must be more simple and effective solution just waiting to be discovered. As an amature sailboat designer I am haunted by this contraption as an example of what “could be”, because to me it does exactly what I want to do to an apple for making pie or cobbler. This device exceeds my expectations and even delights me when I use it. This device is not new; it is just new to me.
Something that is not new, but is relatively new to me is the use of ArcGIS Server maps served via WMS in Microstation. Microstation has had the ability to display WMS maps served by ArcGIS Server and other WMS sources for a while now, however with Microstation 8i this functionality includes a user interface in core Microstation that makes it easy to incorporate ArcGIS Server maps into my Microstation drawings.
WMS capabilities are just a checkbox option when publishing maps to ArcGIS Server. After creating maps in ArcGIS desktop, now I personally have a reason to check the WMS service checkbox when publishing my maps to ArcGIS Server. The same maps that I can use in ArcGIS for AutoCAD in the form of a Map Service are also available to me in Microstation as a WMS Service using the same ArcGIS Server.

The apple cobbler my daughter and I made last night tasted good and was fun to make.

June 10, 2009

Coordinate Systems in ArcGIS for AutoCAD; Is it morning already?

Traveling from the West Coast to the East Coast has its challenges for business. On my last trip I shared a hotel room with an associate at a large conference; My colleague, tired after a long day, was looking to get to sleep at 10:00 pm, which was 7:00pm my time. My 5 year old back home, wasn’t going to bed for another hour. My colleague then announces he would be getting up at 5:00 am (booyah!) and was asking if he would have a conflict with me getting ready in the morning. Quick calculation in my head… that’s 2:00am!

The Earth is round, so even though we may have an accurate measurement that same measurement has a geographic relevance for a particular place. The watches on both of our wrists were accurately measuring the time in our zone. Trouble was I was out of my zone.

For many CAD related efforts I may be entering coordinates accurately in my zone, be it state plane or UTM or the alike. However, without some means to identify which zone I am in, or more basically what coordinate system my coordinates are depicting, when I am outside that zone things don’t line up.

In ArcGIS for AutoCAD you can identify which coordinate system you are in so that map services from other coordinates systems will automatically line up in the right locations. Likewise when the drawing is added to ArcGIS software it will also line up. By default ArcGIS for AutoCAD will assume that if you are adding a map service within an AutoCAD file without a coordinate system defined you will want your drawing to have same coordinate system as the map service. This may not be true; therefore you will want to select your coordinate system from a list of some 4000 coordinates systems that ship with ArcGIS for AutoCAD first. If your AutoCAD file has a coordinate system definition in an external .PRJ file, ArcGIS for AutoCAD can import that .PRJ file and store it inside the CAD file according to the Mapping Specification for Drawings.

For Microstation files and AutoCAD files not used in ArcGIS for AutoCAD you would copy a .PRJ file of the appropriate coordinates system in the same directory old-school.

May 15, 2009

Optimizing ArcGIS Server

One of my hobbies is experimental sailboat design. And, with anything worth designing the challenges are circular and interconnected; weight, drag, stability, complexity, reliability, speed, performance. Optimization is the usually the balance of these sometimes diametrically apposed factors. If it’s light weight, it may not be reliable, or stable. If it’s stable it may not be fast or light. If it’s fast it may be too complex, unstable and unreliable. The reward in exploring a design is when I find that overlooked and elusive idea that truly can overcome the previous limitations and provide an uncompromised optimization. A solution where I can do something I could not do before; faster, lighter, stronger, simpler and better.

Although most of the things that make published map documents fast and efficient Map Services are likewise good for ArcGIS for AutoCAD, there are a couple things that ArcGIS Server IT managers should consider that are specific to ArcGIS for AutoCAD users. Technically, ArcGIS for AutoCAD uses the ExportMapImage functionality of ArcGIS Server to interact with map services.

Therefore the first order of server business for ArcGIS for AutoCAD is to ensure I have not disabled the ExportMapImage functionality on my map server. Secondly ArcGIS for AutoCAD needs an ArcGIS Server geometry service to project the coordinates of a cached map services if they are different than the coordinate system of the AutoCAD drawing. I do not need a geometry service if both the cached map service and the drawing are in the same coordinate system or when the map service is generated dynamically. ArcGIS for AutoCAD will look for the geometry service on the same server as the map and if it doesn’t find one it looks elsewhere on the internet. If a geometry service is enabled on my map server projecting cached maps for ArcGIS for AutoCAD is faster, if needed.

Better yet, to avoid problems with grainy maps caused by excessive scaling, or the performance hit for re-projecting maps, it’s a good idea to publish my map service in a coordinate system AutoCAD users are likely to be viewing the map. I may have casual mapping users who can view the map service in a geographic coordinate system since they really don’t care what the coordinates are, but generally AutoCAD users are working projected coordinates, like State Plane or UTM. If I expect I will have ArcGIS for AutoCAD users I might consider publishing maps in their commonly used coordinate systems.

Although caching the maps on my map server is a good way to speed things up for most ArcGIS map service viewing applications, it is not necessarily faster for ArcGIS for AutoCAD which still requires that a map image be created, and because of the threshold of discrete scales being set for cashed maps, the quality of the map image could be better if the map service was left to be generated dynamically.

Some of these optimization settings may be at odds with other ArcGIS Server best practices. Both are valid, I might consider creating two different map services, one for ArcGIS for AutoCAD to use and another for general users if I notice performance, or image quality issues due to projections. In most cases the differences are minor, but in combination, and with a large number of users it could become significant.

May 08, 2009

Editing In ArcGIS for AutoCAD?

I have planted a vegetable garden. I don’t expect it will save me much money on food, but I really enjoy the idea of it. The best places in my yard for growing things are either covered by structures, concrete or trees. To create some more space and to thwart the plans of bugs and weeds, I’ve decided to plant my garden in pots on a terraced rolling cart. It’s like the produce stand in the picture, accept it has bins of plants from which I hope to pick fruits and vegetables.

This may sound obvious, but one thing I’ve learned from past agricultural experiments is that it is best to plant things that I actually like to eat rather than things that are just easy to grow! And it is nice to get plants that can keep producing over time rather than all at once.

If I want to allow someone to use AutoCAD to edit data I have in ArcGIS I can give them an AutoCAD copy of a sub-set of the GIS data using the EXPORT TO CAD tool. Before I export the GIS data I can flag it with a unique code of my own creation. This transaction flag can be nothing more than an integer in a field I call “transaction” or a text field. I like to create a text field, and then use the now( ) expression with the ArcGIS CALCULATE tool to create a time stamp string as my transaction code. This is probably something I should automate using a geoprocessing model; select stuff, ADD FIELD, CALCULATE, etc… EXPORT TO CAD.

A feature class will be created in the AutoCAD drawing according to the mapping specification for drawings, along with the attribute schema for the data.

TIP: I want to make sure to only export a selected set of features to avoid pushing thousands of features back and forth that I have no intention of changing. If I want more data for geographic context, I can publish a map service of the same GIS data with ArcGIS Server. I then use ArcGIS for AutoCAD’s ability to use map services to see the full basemap.
Using the attribute editing tools of ArcGIS for AutoCAD and the AutoCAD graphics engine I make edits to my copy of the geometry and attributes of the exported GIS data. If I trust the edits made in AutoCAD and I am confident that ArcGIS can see the appropriate data in the AutoCAD feature class, I can use those changes to update my GIS data. I want any features that are added, modified or deleted to be updated in the geodatabase appropriately.

Now assume that I really really want the changes I made in the AutoCAD file to replace the existing data flagged by my transaction code and still unmodified in the geodatabase. I select my flagged features with my transaction code in the geodatabase, and DELETE them. I use the modified AutoCAD file to replace the data involved in the transaction with the APPEND tool. New features will be added, modified features will be replaced and deleted feature will not be replaced, and therefore deleted.

This rather crude form of editing should be thoroughly tested in each environment and then only performed on a copy of the production data that is then verified for quality control, before changes are accepted. In this workflow I must also accept the fact that the object identifiers will be changed on all of the features in the transaction including objects that didn’t change, since in this version of the workflow everything you exported was flagged as part of the transaction.

If someone else edits the same data that I intend to be editing in AutoCAD, their edits might be overwritten by mine, or if my transaction flags become out of sync or invalid the workflow could be compromised. It is up to me to manage how transactions like this are flagged and processed. I must clean up after myself and guard the state of the database during transactions. Additional consideration would need to be given for the effects of editing features involved topologies, or networks. The bottom line for this workflow is that I am responsible for everything that happens to the data, there are no built-in safeguards.

On my produce cart now are: blackberries, raspberries, cucumbers, eggplant, carrots, onions, squash and tomatoes, in the fall, strawberries, beans and spinach will be likely additions. I’m making frequent trips to my produce stand for tending, and watering. I will automate the watering with a drip system hooked up to my lawn sprinklers.

I look forward to the harvesting.

April 30, 2009

Industry Specific GIS Data Models in AutoCAD

My mature Valencia orange tree is full of fruit, and it will have ripe fruit from April thru August, which means as much fresh orange juice as I want to squeeze and drink from the single tree. My lemon tree is still small, but it usually has at least one ripe lemon on it every month of the year. I planted a baby avocado tree two years ago, still no fruit…

I reap the fruit of the previous owner’s planting and care of my orange tree. The lemon tree I planted is starting to produce, and the avocado tree is an investment in the future for me.

One free benefit of ArcGIS for AutoCAD that I can start working with right away is accessing ArcGIS map services in AutoCAD with ArcGIS for AutoCAD. As a GIS administrator I can immediately connect the AutoCAD professionals in other departments, and AutoCAD-based contractors outside my organization by looking at the common and direct view of the enterprise GIS basemap through a map service.

Another benefit that is growing in importance is the ability for these same AutoCAD users to create GIS-ready data with the tools in ArcGIS for AutoCAD that build content according to the mapping specification for drawings.

I can use industry specific GIS data models defined by various industry experts for GIS in AutoCAD too! Within ArcGIS I simply export a sample geodatabase like the Water Model available on ESRI.com to an AutoCAD file using the ArcGIS EXPORT TO CAD tool available with ArcView, and presto I have the water model industry schema designed for use in GIS within AutoCAD according to the mapping specification for drawings! Used as an AutoCAD template file, blank versions of the schema can be passed along to others to fill up with water-model content, I know that when the CAD data is brought back into ArcGIS it will be readily usable.
Time to pick some more oranges.

April 22, 2009

Editing GIS Data in CAD: Attributes

I rented a house on vacation. The house was furnished with cooking utensils and the alike. We packed just our personal stuff that we intended to enjoy while we where there in the new environment. It wasn’t like home; lots of things were different, how things were organized, different interfaces to the appliances etc. We benefitted from having those things there, and not having to pack them. Not surprisingly their stuff was chosen and adapted for a more rugged and minimalist life at the beach. We cooked and played with their stuff, using stuff we brought or bought while we where there. Like all good vacations we took back family memories and experiences that updated and recharged various attributes of our lives.

ArcGIS desktop reads and writes both AutoCAD and Microstation files. In the case of AutoCAD files, ESRI’s mapping specification for drawing allows attributed GIS features to be included in plain AutoCAD files. So what good is that? It is useful for me to create AutoCAD data that will also be used as GIS data and to comply with GIS submittal requirements, but what about as a means for editing ArcGIS data in ArcGIS data sources?

If I want to allow AutoCAD users to make attribute-only edits to my ArcGIS data I can use ArcGIS geoprocessing tools like EXPORT TO CAD, JOIN and CALCULATE to facilitate the workflow. By exporting ArcGIS data to an AutoCAD file with the EXPORT TO CAD tool, the resultant AutoCAD file retains the unique object identifier and feature class organization and attributes of the source ArcGIS feature class according to the mapping specification for drawings. I can make attribute edits to the copy of the data in AutoCAD with ArcGIS for AutoCAD, or any other MSD compliant application. After attribute changes are made to that copy of the data, I can JOIN the AutoCAD version of the data to the original ArcGIS GIS feature class, based on the unique object identifier field and use the geoprocessing CALCULATE tool to move the attributed data from the CAD-based copy of the data to the geodatabase version for each of the attribute fields I want to update.
FREE hit counter and Internet traffic statistics from freestats.com