ESRI 2008 UC: SQL Server 2008 and ArcGIS

I attended the Intro and Advanced sessions of Administration for SQL Server.  The intro was a pretty straight forward topic of installation and configuration for setting up ArcSDE with SQL Server.

The interesting points were how ArcSDE integrates with SQL Server 2008.  As I mentioned in my talk on SQL Server 2008 at the IE .Net User Group storing spatial data in a SQL database is not a new thing, just new to SQL Server.  ArcGIS already has implementations to take advantage of server level spatial handling in Oracle, DB2 and possibly others.  Only in 9.3 are SQL Server 2008 and PosgresSQL now supported.d

Since SQL Server 2008 hasn’t been officially released yet (all info still points to Q3 2008, which leaves less than 2 more months) ESRI is working with Microsoft on the latest release candidate version.  While you can play with it ESRI of course highly discourages using ArcSDE against SQL 2008 until the official release.  At that time ESRI will certify ArcSDE against SQL 2008 and will most likely release SP1 to deal with any changes since the 9.3 release.

That being said, what exactly is ArcSDE offloading to SQL Server?

Remember that the ArcGIS geodatabase is a very proprietary data model, allowing you to store not only geographic items (features) but also tables, topology rules, data access rules, locking schemes, business rules, etc.  SQL Server 2008 is still at heart simply a data storage platform.  This means that the bulk of the management of your GIS data will still be handled by ArcSDE. 

SQL Server now includes spatial features including two new data types (GEOGRAPHY and GEOMETRY) as well as a whole host of functions to manipulate these data types with.  The data is indexed using new Spatial Indexes on the server.  These are the things that ArcSDE will take advantage of.

ArcSDE will store geographic data in the new GEOGRAPHY and GEOMETRY data types.  This allows SQL to manage it’s own spatial indexes on the data.  Doing this also allows ArcSDE to take advantage of the built-in spatial functions for simple requests.

ArcSDE will take advantage of the indexing schemes built in to SQL Server 2008, however, all the settings are left to Microsoft defaults.  ESRI claims this is because every user’s data is different.  While this is true, I got the impression that it’s more because the indexing scheme is so new that everyone is still coming to terms on it’s quality and how to actually manually maintain it.

Now that you can store your data in the underlying database, several questions come to mind:

  • Can I simply enter my own geographic data in SQL Server and use these in ArcGIS?
    • Yes you can, however, you must register it with ArcSDE before you can integrate it with other ArcSDE data.  If you never plan to process this data using ArcGIS tools then you never have to register it.  However, that doesn’t seem like a likely scenario since you imported the data into your geodatabase.
      To register the data use the sdelayer tool.  This sets up all the geodatabase data and relationships so that the features can be managed using standard ArcGIS tools.
  • Can I manipulate ArcGIS data directly in SQL?
    • Yes!  You can hit the data directly using the built-in spatial methods.  This is pretty awesome for automated tasks that might fire at scheduled moments or for triggers. 
      • For instance, at our school district our Student Information System (SIS) has a field for each student storing what their school of residence is.  Since students may request to attend another school in our district, often it is important to know what school they normally would have gone to.  Currently we autopopulate this data do this once a week or so.  This is a manual process by using ArcGIS Desktop to simply join our students against our school polygons, output the results to a table and import these values back into the SIS.  Once our GIS data is in ArcSDE on SQL 2008 I will be able to setup a trigger on the student record causing it to use the ST_INTERSECT method to find this data on the fly.  Sweet! 🙂
    • However, (you knew there had to be a however right?) you MUST BE VERY CAREFUL.  As with manipulating most SQL data you must know exactly what you’re doing.  If you are inserting new objects you must find what the next ObjectID should be.  If you are working with versioned features it’s more complicated as you have to work with versioned views within a versioning session.  SQL 2008 has no concept of these so ArcSDE installed several utility stored procedures into SQL Server that you will use to manage this process.
  • What about the SRID?
    • If you are new to SQL Server 2008 you may have noticed this weird SRID value that is attached to every spatial value.  This is the equivalent of the Spatial Reference used in ArcGIS such as NAD State Plain 1984 or WGS.  However, the SQL Server SRID corresponds to the EPSD code (European Petroleum Survey Group).  This is a table of spatial references all attached to a unique ID. 
      This is required when registering your imported data with ArcGIS using the sdelayer command.
      What’s different is ArcGIS’s SRID’s do not correspond to the EPSD code.  So what do you do?  ArcGIS stores it’s SRID as auth_SRID.  Here is an example of how to join the ArcGIS srid_auth against the EPSD reference table to find out which SRID to map to:
      select sr.auth_srid from SDE_layers l join SDE_spatial_references sr on l.srid = sr.srid where l.table_name = ‘buildings’ and l.owner = ‘dbo’
      This command joins the SDE_layers table against the SDE_spatial_references table and looks for the layer named buildings owned by dbo.

All in all some really great stuff!  I can’t wait to play with this.

I guess my one complaint is that while you can request an ArcGIS Desktop eval cd from the ESRI website I don’t know that you can get some type of an eval version of ArcGIS Server.

Technorati Tags: ,

ESRI 2008 UC: ArcGIS Server – The Developers Perspective

All I can say is WOW!  I should have gone to this one instead of the Web Application Interface Design: The Design Process.  This is what I was looking for.

Unfortunately I missed the first 20 minutes but they showed some incredible access to GIS data and tools using REST and SOAP.

lf you are web app developer and deal with a lot of data definitely check out REST.  It’s a really neat strategy for manipulating data.  With .Net 3.5 Microsoft is building it into their data access model.  From my buddy James’ presentation on it it’s still a little immature, but it’s getting there.

Anyway, when you publish a map or other resource to ArcGIS Server it is instantly available via REST and SOAP.

So, just think.  If you need to get access to layer files or perform some sort of processing you can just use a standard url to grab it.

That’s about all I can say on REST because I only saw a bit of the last demo.  Then they switched over to SOAP.

ESRI has a longer investment in SOAP so, while it’s a slightly older technology, it’s a little more mature in its offerings.  ArcGIS Server exposes a few more abilities in their SOAP architecture, and with the built-in web resource features in Visual Studio it’s very easy to add to a web app and use.

I haven’t jumped into SOAP really so I can’t comment that much on it.  I’m jumping on the bandwagon only now and I’ve already dived into the JSON and REST side of things.  I’ll probably delve into SOAP if I can’t get ArcGIS Server’s JavaScript API to do what I want.

I asked the presenters about  security.  They said if it’s an Intranet based app then we can take full advantage of Active Directory.  He seemed to indicate it was built in to the Server and not really a function of the REST or SOAP interface at all.  Hopefully I’ll find out more about this in my ArcGIS Server sessions.

Anyway, as far as public access REST and SOAP can take advantage of token based accessibility.  It sounds like I should be able to roll that in with Microsoft’s ASP.Net MembershipSecurity framwork.

I don’t really relish opening ArcGIS Server directly to the public.  One of the demos used an ImageHandler.ashx handler that retrieved the image from the Image Server and streamed the result to the user.  This way the web app acted as a middle tier between the user and the server, thus allowing you to keep the server internal and manage access to the outside world.

Can’t wait to play with it!

Technorati Tags: ,,

ESRI 2008 UC: Plenary Session

The main presentation by Jack Dangermond was pretty good, as was last year’s.  It’s a good mix of what is new in ArcGIS 9.3, what users are doing in the field, what’s coming on the horizon, and an overall impact of GIS in the world. 

From a technical point of view here are just a few of the new features in 9.3.  There are way too many to list so take a look at the ESRI site if you want a comprehensive list.

  • Reverse Geocoding
    This has been a long time coming and a hot item on the request.  This wouldn’t warrant too much discussion, except that the implementation was really well done.  Typically (from my point of view) ESRI is a functional program, but  wouldn’t win any UI or productivity awards for most of it’s features.  The buttons or dialogs for typical tasks aren’t always where you expect them and sometimes you have to drill down through 10 screens just to get to your data. 
    However, with the reverse geocoding, it was a very easy to use tool with a crosshair for your cursor and a small dot that would snap to your street network nearest to your cursor.  Clicking would very quickly give you a geocoded address at that point.  If you clicked on an intersection the geocoding would be the intersection of those streets.
    These reverse geocoded addresses could be saved as pushpins which can later be saved as features I believe.  Very nice!
    • Oh, I just stepped into the Geocoding Intro technical workshop.  Now when you run a geocoding process, if there are any addresses that could not be geocoded, in addition to the standard options to fix this you can now use Pick Location.  This allows you to use the Reverse Geocoding tool to pinpoint exactly where on the map this address should be.  This is great as it might be difficult, if impossible, to change the address in the source data.
  • KML Export
    As the rest of the world jumps online ESRI, arguably the largest provider in the GIS arena, has been a little behind the game.  In the past I have had to resort to 3rd party tools to export our map data to KML.  Invariably this also requires lots of massaging of the data afterwards before it is ready to be published on an online mapping service such as Google. 
    You can see an example of our school district layers pushed to Google through KML here.
    Now ArcGIS will have native KML export built in.  When used in conjunction with ArcGIS Server and other tools this will make offering your GIS data to online mapping systems a very easy process, that will free up maintenance and always hit live data.
  • PDF Support
    For a while now you’ve been able to export GIS maps as PDF.  This is a great feature as ArcGIS Desktop will also export the text as well which is completely searchable and selectable using Acrobat Reader.  I use this all the time when exporting maps of our district.  It’s amazing when I have several hundred streets on a map, go to the Acrobat Reader search box, type in a street name and find it in an instant on a map.  This is really useful when other users download our maps and want to find where they live.  We have an online School Locator tool, however, having a map on your local machine is a great tool for use in offline scenarios. 
    However, other than this ability the PDF version of the map has still been fairly static.  ESRI has been working with Adobe to really exploit the abilities of Reader.  Now you can export a wealth of data to PDF.  This includes data frames, layers and feature attributes.  In the PDF hierarchy you can now see the individual data frames and layers.  When clicking on a feature you can get all the underlying data for that feature.  This is just like using the Info tool in ArcMap.  Also, the data can be georeferenced.  This allows a user to get X,Y coordinates from any area of the map.  There is no geocoding yet, but tis is all pretty neat. 
    This is pretty amazing because now you can get an incredible amount of information just from an offline PDF.  This is not only useful for Internet connected machines.  As more and more users are using mobile devices that may not have direct connection to an online GIS service, having a PDF they can use with this info will be a great step forward short of building an offline app.
  • Virtual Earth Integration
    They went through this area pretty fast so I didn’t get all the details.  It seems that you can pull VE services and resources directly into ArcGIS Desktop now and use in your own maps.  This means that you have full access to the imagery and data.  This is all on demand, which means that you cannot store the resources for your own editing or offline use.  However, this also means that you will always have the latest data.  When you open a map it will retrieve the latest images, including any new ones Microsoft may have published, directly in your maps.  This can offer a wealth of data if you have out of date or no imagery/data for your map content.
    I assume that Google and other map services will be accessible as well, it’s just that ESRI kept touting it’s partnership with Microsoft so I’m a little hesitant to say this.
  • JavaScript API
    This has been a sore point with ArcGIS in the past few years.  As I said above, ESRI has really been playing catchup.  Most of ESRI’s online mapping products have been pretty bad.  The UI design wasn’t great and it was terribly slow.
    I don’t know what the current tools are like (and usually ERSI demos are always running in a perfect world) but ESRI is starting to allow more options to connecting with data.  One of these is the JavaScript API.
    This API, on the surface, seems pretty similar to Google or Microsoft, where you specify a JavaScript file, the resource data and a div to place the contents into.
    When you publish a map to the ArcGIS Server there are now several default options to consume the data.  When you go to the url ArcGIS Server now allows you to open the map in ArcMap, view in the internal viewer, and view using the JavaScript API among others (KML export possibly but not sure).  If you choose the JavaScript API option a new page is opened with a standard web 2.0 map using the ESRI API.  If you view the source you can see that there are only about 10 lines of code that actually retrieve and display the content.  If you simply copy this text you can paste this into your  own apps and very easily add your interactive map resource to your pages.  Pretty nice indeed!
    I have to laugh here because the ESRI rep demoing this function turned a static (and very bad looking) jpeg of a campus map into a fully GIS capable interactive map in about 1 minute.  The crowd cheered.  :)  As any HTML/JavaScript developer might know there are a lot of underlying things being assumed, the first gotcha being make sure your div is properly named either in your DOM or in the JavaScript code referencing the ESRI map resource.  This is of little worry for developers who understand what’s going on, but I know there will be a few business users going back to their organizations saying "Do this, it only takes 1 minute!" and their non-web savvy GIS engineer will be spending a day on it.
    Eh, maybe I’m just pessimistic but you  can see the marketing "woohoo!" all over these demos.  ESRI always operates their demos in the perfect world.  But so does everyone else (i.e. Microsoft). 🙂
  • Mashups
    OK, if you are a web developer and haven’t been in a coma for the past few years, you should know what a mashup is.  In a nutshell a mashup is simply a web page that takes data from one source (i.e. Flickr photos), combine it with another source (i.e. Google Maps) and display the results (i.e. showing where the photos were taken on a map).
    John Grayson from ESRI’s Applications Prototype Laboratory created a great tutorial with 7 different examples of creating mashups using ESRI data and JavaScript API’s.  Each one increases in it’s level of capability and complexity.  Unfortunately all the examples were based on retrievinganalyzing data and not on editing actual data for updating on the server.
    I can’t seem to find these slides or any information on John’s presentation anywhere so hopefully he will publish these soon.  Otherwise in my spare time maybe I can throw a few together.  (Yeah, when do I have spare time!  I stayed up to almost 4am last night!)

Overall it was a great session.

I’ll be adding more posts throughout the conference on anything I see that’s noteworthy.  Those will hopefully be a much shorter read!

ESRI 2008 UC: Start up

Well, I’m here at the ESRI User Conference in San Diego, CA.

I’m the GIS admin at Val Verde USD and this is the 2nd time I’ve been here.  I have to say, that this is one of the best conferences I’ve been to.  Not only in content, but the actual logistics of the entire event.  The San Diego Convention Center is a great place, very easy to get around, clean, with lots of nearby restaurants of any food type.  Just the shear amount of people in attendance is a logistical nightmare, but everything is always very orderly and well handled.  Definitely a pleasure to attend.

Anyway, I’ll be writing a few posts here and there about what I think is noteworthy in the conference.

I’m a developer at heart and GIS is just an incredible extension of visualizing data.  That being said, I’m not really the green bio-loving attendee that GIS usually caters too. 🙂  I love the geeky stuff, so I’ll be mainly focusing on the new 9.3 server, SQL 2008 integration and automated development using .Net.  If you want to find out how to map the migration of the Blue Morpho Butterfly or track the degradation of the rainforests over the past 50 years then this may not be the blog for you. 🙂  however, if you’re interested in .Net and GIS then stop by every so often and see if I have anything new for you.

So far I’m in the Plenary session waiting for the main event to start.  The music started out as a nice techno energetic beat, however, now it’s getting a little aboriginal.  That’s not a bad thing, it’s just a little over played.  OK, now we’re into more Last of Mohican’s style, which is definitely a great sound track if you haven’t heard it.  OK, I guess that’s potentially aboriginal as well, but it’s definitely more grounded then the wooden flute stuff that was going on earlier.

OK, I’ll stop.  🙂  I’ll post again when something of actual content comes up.

Take Care!

iPhone 3G – Almost there

OK, I’m a die-hard techy and the iPhone is just sexy. :)  I don’t have one because I’m also a family man.  The wife tends to get a little upset when I buy "toys" and starve the kiddies.  🙂

This article is a fairly good review of the current state of the iPhone. 

PC World – First Reviews: iPhone 3G Improved, but Still Flawed

Let’s keep one thing in perspective.  The iPhone has been out less than a year.  Even with the criticism, I still think it’s one of the best featured phones on the market compared to it being less than a year old and a version 2.0 status.

Of the current "flaws" it has, really only one is a long standing problem and that is the 3G coverage from AT&T.  That’s really up to AT&T to fix.  I really hope they are working on this quickly.  The cost is also something to work out, but I don’t really see it much different than other top selling smart phones.

The missing features  are simply a lack in the software such as no video capture,  no voice dialing, etc.  These are all things that can easily be solved by a future update from Apple.  With Apple’s track record I have no doubt that all these features (and plenty more) will be added before too long.

There is a rumor that next year there might be a slide out keyboard.  This may not be as thin and sexy as the current iPhone, but you have to admit, that’s what much of the business sector is waiting for.  It’s what I want.  Research is showing that most business users don’t want to give up their built-in keypads hoping the iPhone will work out for them.  Even though the iPhone has a great onscreen keyboard, it still isn’t an actual keyboard with individual buttons.  Maybe when the slide out keyboard comes along, the business users will jump on it, and then end up just using the on screen keyboard.  But they need the actual keyboard to help encourage the jump.  Think of it as the tipping point.

As new versions come out (probably at least one a year for now like the iPod) it will just get better and better.  The battery life will improve, the features will increase, etc.

I can’t wait till I finally get my hands on one.  🙂

 

Technorati Tags:

ReSharper 4.0 Released!

It’s official!!!!  ReSharper 4.0 has just been released.

This is by far one of the best (and coolest) tools available for Visual Studio.  If you have never heard of, or had a chance to experience, ReSharper then you owe it to yourself to click the link below and check it out.  This tool has made me a better developer both in quality and performance.  I’m definitely a student of TDD, refactoring, patterns, etc.  ReSharper makes using these practices so incredibly easy it just becomes a part of your work.

ReSharper is one of those tools that when you work on someone else’s machine you feel like you’re in the stone age.  Or if you see a presentation and the presenter doesn’t have ReSharper you constantly think "Come on man!  I could have coded that in half the time!"

There’s no way to do it justice here.  Just check it out.

I’ve been using JetBrains software since IntelliJ back when I was a Java programmer.  Every Java dev has their favorite IDE and IntelliJ was mine.  I was sold the instant I ran it.  When I moved over to .Net, honestly, one of the biggest sore points was loosing IntelliJ.  Now with VS 2008 and ReSharper I feel at home again.

Boy, this really sounded like a commercial, huh?  sorry about that.  I’ll try and keep it to a minimum next time.  But if you’re a ReSharper user already I’m sure you understand. 🙂

ReSharper:: The Most Intelligent Add-In To Visual Studio

 

Technorati Tags: ,

ShowMyPC.com – Instant Desktop Sharing and Access Remote PC Free

I just found out about ShowMyPC.  I had to call into support for one of our app servers at work and  the tech used this software to remotely control my machine.

That’s no big deal.  I’m sure most of us have done this.  What got me was that this was totally free.

Since I don’t really consult anymore 90% of my remote troubleshooting calls are from customers like "wife", "mom" or "mother-in-law".  🙂 I don’t like the idea of spending a monthly subscription fee so that I can help troubleshoot my family and friends.

So my current strategy is I have hamachi installed on all my personal machines and those of my families.  I then use RealVNC to jump in whenever they need me.  It’s been working great.  however, the setup is a pain, especially if the user needs help right away.

The next time I’ll be trying ShowMyPC.  As the website says it’s a free alternative to GoToMyPC and such. 

To use it just go to their website.  For your users they click on the top link:

link

You simply click on the 2nd link (it’s really just the same target):

link2

Once you click Run you get the following dialog:

dialog

Your user clicks the Show My PC Now button and a random password is generated. They tell you this password over the phone.

You click the View a Remote PC button, type in the password, and that’s it!

This is a great tool for quickly helping out simple problems and impromptu calls.

Of course they do have premium features that they charge for, such as branding, using your own secure SSH server, etc.  But for helping out with a quick and dirty question like "my printer isn’t working" this is great.

I still like my hamachi setup for when I need to get into a computer that is unattended or for more advanced features.  I’m sure others of you have similar setups with your program of choice.  But maybe the next time your 4th cousin who doesn’t know how to use the digital camera your 3rd cousin just got them, you can start up ShowMyPC and get them up and running.

ShowMyPC.com – Instant Desktop Sharing and Access Remote PC Free

Technorati Tags: ,,