My XY Event Source layer is only displaying at full extent and when I zoom in, the features disappear. If I select a feature in the attribute table, the feature is highlighted.
When I see this for a normal featureclass, it usually is a problem with spatial index.
I first experienced this issue in early Oct. and I did open a ticket with ESRI Tech Support. While on the phone with the analyst, I fired up my MXD and no longer had the problem. I've since created several of these XY layers and all have worked perfectly.
Some details: the X,Y theme is created from a query layer (new to ArcGIS 10), which is a SQL Server query to an external SQL Server 2005 database (not SDE and a DB that I'm only a read-only user on). The X,Y values are character values casted to numeric (not efficient, but this will only be used occasionally by a few key users).
Is anyone else having this issue? I had this problem once and I did unknowingly fix it, but I have no clue as to how.
My current workaround is to export to a local file/personal geodatabase--the exported featureclass displays just fine. But I would rather have live access to the data.
Update: I found a layer file from back in Oct which is working (I must have saved one out). When I add the layer to the map, it works. I'm thinking that there's something in the query that ArcMap isn't liking. However, I'm not sure how to access that query. When I add the layer They query layer, from which the x,y event theme was originally created, isn't in the new MXD. I'll have to dig into this further, but I'm in meetings this afternoon.
On a hunch, I thought the issue might have something to do with the number of rows (71847). So in the query layer, I added
TOP 5 my select statement. I do a
Display X, Y Data... and I can zoom in or out with no trouble--everything works as expected.
So I kept increasing the
TOP N and each time it worked. Then I put in a
TOP 71847 (the total number of records) into my Select statement. And that works!! That still doesn't answer my question, but it does me get where I want to be (I have to put a
SELECT TOP (SELECT COUNT(*) FROM TABLE) field1,field2,... FROM TABLE which is messy.