Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I wanted to know what disadvantages ESRI plug-in data sources have when compared to custom layers. I am looking to implement a fairly large (in terms of average dataset size) read-only custom type for ArcMap and ArcScene.

I have read the chart here. I was wondering if there are any other disadvantages or major issues with plug-in data sources.

In particular, has anybody experienced issues related to performance, integration and interoperability with the Desktop tools, or any other significant issues?

share|improve this question
What did you end up choosing? I'm looking at using custom layers or plug-in data source are there any more issues other than the ones you and Kirk mentioned? – MathiasWestin Feb 28 '11 at 14:17
@MathiasWestin: I ended up using a plugin source for the broad support. – Reed Copsey Feb 28 '11 at 20:22
up vote 2 down vote accepted

I recall a couple of things I found annoying about Plugin datasources when I wrote one with 9.2. First, throwing a COMException is required by design when implementing IPluginCursorHelper.NextRecord which made trapping other exceptions during debugging difficult. Certainly this exception imposes a performance penalty, but I never quantified it.

Second, re-registering PlugInWorkspaceFactory.dll was confusing for the folks building the installer. Maybe this has changed - a lot of registration with 10 has improved. Be sure to test drive the SimplePoint plugin sample.

The implementation I worked on was for vehicle tracking using an in-memory array. The (required) file on disk was empty.

I'd really like to know if inheriting FeatureLayerClass could provide the advantages of a plugin without the headache. Maybe I'll pose that question some time. When I tried that with 9.1 I ran into problems.

share|improve this answer
Thanks. I know about the COMException annoyance... (I've actually implemented this already) I'd be curious of people's experiences with this or doing custom layers, though. – Reed Copsey Jul 24 '10 at 19:44
We also looked a bit into custom layers. Note that BaseCustomLayer.SupportedDrawPhases cannot be overridden. While I could return from ILayer.Draw if the drawphase is not supported, I was never certain that the Display was managing the layer's cache correctly, as required for transparency. The requirement was to display different symbols in the same layer at varying levels of transparency (instead of having the same transparency for the entire layer). This might be possible with a custom layer, but we figured it out sooner with a featurelayer tied to a plugin. – Kirk Kuykendall Jul 26 '10 at 14:53

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.