Select to view content in your preferred language

Specifying extents for SQL server spatial tables

1965
3
Jump to solution
07-16-2013 01:54 PM
MatthewBaker2
Deactivated User
All,

when I load a SQL server spatial table (native spatial, not SDE) into ArcMap through a direct connection to SQL server, the 'Calculate Extent' button dialogue appears:

[ATTACH=CONFIG]25982[/ATTACH]

Is there a way to calculate the extent so this doesn't happen every time someone brings it into ArcMap?

Thanks!

-m
0 Kudos
1 Solution

Accepted Solutions
ShannonShields
Esri Contributor
Matthew,

ArcMap needs the extent of the data for many operations. An ArcSDE feature class has metadata, including the extent, that can be read when it is brought into ArcMap. A spatial table that is not an ArcSDE feature class has no such metadata, so the extent must be calculated dynamically. That will happen each time it is brought into ArcMap.

If you save the map, the information about each layer, including the extent will be saved in the map document and will not need to be regenerated each time you open the .mxd. If you save the layer as a layer file, and open the layer file instead of dropping the feature class into ArcMap, then you'll also skip the dynamic calculation. A layer file contains a pointer to the database table along with other information on how it is displayed.

-Shannon

View solution in original post

0 Kudos
3 Replies
ShannonShields
Esri Contributor
Matthew,

ArcMap needs the extent of the data for many operations. An ArcSDE feature class has metadata, including the extent, that can be read when it is brought into ArcMap. A spatial table that is not an ArcSDE feature class has no such metadata, so the extent must be calculated dynamically. That will happen each time it is brought into ArcMap.

If you save the map, the information about each layer, including the extent will be saved in the map document and will not need to be regenerated each time you open the .mxd. If you save the layer as a layer file, and open the layer file instead of dropping the feature class into ArcMap, then you'll also skip the dynamic calculation. A layer file contains a pointer to the database table along with other information on how it is displayed.

-Shannon
0 Kudos
RichardWhite
Occasional Contributor

Can I open this back up?  This is still an issue with ArcGIS Pro and is very frustrating.  I get that there is no stored extent with a pure-SQL Server based layer, but an option not to automatically calculate the extent and default to using the spatial reference would be preferable.

With ArcMap, you had a bit of time before the calculation request was actually sent to SQL Server.  With ArcGIS Pro, I have yet to successfully intersect.  When I click on "Use Spatial Reference Extent", the request to calculate the extent has to wait and cancel, which takes as long as doing nothing.

Also, I am able to create OGC tables for any SQL Server layer, couldn't those be referenced by ArcGIS Pro?

I like the idea of pre-creating layer files and can think of a way to calculate these.

0 Kudos
MatthewBaker2
Deactivated User
Makes sense...thank you, Shannon! I will pass this along to the ArcMap clients of our SQL Server database...SQL users will not be affected.
0 Kudos