Standalone IE6

Okay, this really has nothing to do with GIS but I wanted to get this info out there. I have a particular piece of software that I use regularly that involves connecting a device to my PC to exchange information. This software does not work with IE7 yet. Since automatic updates doesn’t really give you any choice in the matter (I love coming down in the morning and finding a new browser), this created a problem for me.

I found the following software that lets you install previous version of IE in standalone mode: I imagine it may have applicability for testing and such but it also solved my problem.

In For a Dime…

…in for a dollar.

I’ve been blogging about zigGIS a lot (more than I had planned to, really). So, today, I joined the project. If you go to the site, you’ll see “bill” listed as one of the project owners. That’s me.

I had a long IM session with Paolo today and there’s a lot to do. It’s an amazing project that has a lot of potential. Not just for PostGIS but other data sources as well. This is my first time joining an open-source project so that’ll be a learning experience for me as well. You can’t be a lurker forever…

zigGIS Update

Paolo has posted an update to zigGIS. This update deals more effectively with data layers that have an SRID associated (SRID != -1). They now seem to overlay well. On-the-fly reprojection is still not working but he is working on it. Archaeogeek¬†recently posted about some issues getting zigGIS to work. Continue reading “zigGIS Update”

The FedUC Approaches

The ESRI Federal User Conference is almost here. I’ll be going this year because my company is doing a booth. I like to refer to this event as the “UC-Lite” in that it’s smaller and more focused.

I highly encourage anyone in the DC/MD/VA region to go. First of all, admission is free to all federal employees and it’s only $100 for state and local employees. If you can take the time and have the travel budget, I’d say go. Although, it’s the “Federal” UC, there’s enough general exposure to ESRI technology that this event is a nice alternative for those who can’t make San Diego. Basically, you see a lot of government applications of the technology but the concepts will cross over well to other markets and applications.

Of course, this event occurs in my back yard so I’d like to see it thrive. See ya in DC…

Happy New Year and a Continued Merry Christmas

Greetings to all and wishes for a peaceful and prosperous 2007. And, for those of you keeping track at home, today would be “seven swans a-swimming”.

I’m heading out for a business trip tomorrow that keeps me gone for the rest of the week so it’s time to pack away the decorations. Typically, we wait until after Three King’s Day but my travel schedule won’t allow for that this year.

zigGIS and Spatial References, Part 2

Update to this post:

Another post about zigGIS. I didn’t really intend this blog to be so dominated by zigGIS but that’s certainly the way it’s been thus far. Basically, it’s just really cool and it satisfies my geek nature on a couple of fronts.

After posting about the spatial reference issue before, I couldn’t resist digging into it. I found a placeholder in the implementation of IFeatureClass. Abe G. had even left a comment there that he needed to go back and implement it. So I dove in…

In the IFeatureClass implementation of CPostGisFeatureClass the SpatialReference property was stubbed out to always return and UnknownCoordinateSystem object. The feature class wraps a CLayer object (among others). This is the object I needed to use to get the spatial reference. The loadLayer method of CLayer (in the postgis_connector project) contained the following code:

string sql = CDbHelper.createSelectSql
(CPostGisConstants.geometryColumnsTable + " as g",
"g.*,g.oid,s." + CPostGisConstants.spatialReferenceSrField,
"left join " + CPostGisConstants.spatialReferenceTable + 
" as s on g." +
CPostGisConstants.spatialReferenceIdField + "=s." +

This code queries the geometry_columns table for all of the metadata I need. So I added the following code to the CLayer class:

private int m_srid = -1;
public int srid { get { return m_srid; } }

I then added this code to the loadLayer method…

m_srid = (int)((Int32)dr["srid"]);

…in order to expose the srid for the layer. The variable dr refers to an instance of the CAutoDataReader class defined in the postgis_connector project.

Finally, i added the following code to the init method of the CPostGisFeatureClass class in the postgis_geodatabase project:

if (m_layer.srid != -1)
    ISpatialReferenceFactory2 srfact = new SpatialReferenceEnvironmentClass();
    m_spaRef = srfact.CreateSpatialReference(m_layer.srid);

With that, the layer properties dialog in ArcMap correctly reports my spatial reference and the geometry that once failed to draw now works fine. I’ve got some more clean-up to do to the code to add some error-handling and the like. I’m sure it wouldn’t take much to crash it right now.

I think the thing I like about zigGIS is that it’s got something for everyone. ArcObjects geeks will appreciate the implementation of feature classes, cursors and the like. .NET geeks will appreciate nuggets like the CAutoDataReader class which is an implementation of the IDataReader interface. All in all, it’s a nice piece of work that I find more to like about as I dig deeper.

As I mentioned before, the project has a new home in Google Code and the discussion forum is getting a little more active so maybe zigGIS will gain a little more momentum. That’s all for now…