When publishing a map service containing a XY event layer that is created from an enterprise geodatabase table, the layer fails to publish and results in this error: "Error 001487: Failed to update the published service with the server-side data location."
上次发布: May 23, 2016ArcGIS for Server
漏洞 ID 编号
BUG-000096129
已提交
April 27, 2016
上次修改时间
July 20, 2022
适用范围
ArcGIS for Server
找到的版本
10.4
服务器平台
Windows OS
客户端平台
2008 R2
Version Fixed
10.5.0
状态
Fixed
此漏洞已得到修复。 有关详细信息,请参阅“版本修复”和“其他信息”(如果适用)。
解决办法
SQL Server work around:Instead of using the XY event layer, construct a geometry or geography field based on the X and Y data in the database, and create a query layer using the new table.Oracle work around:--Create function to return the XY data as SDO shape (REQUIRED)create or replace function get_long_lat_pt(longitude in number, latitude in number, srid in number)return SDO_GEOMETRY deterministic isbegin return sdo_geometry(2001, srid, sdo_point_type(longitude, latitude, NULL),NULL, NULL);end;/--Create sample datacreate table xy (x number(38), y number(38), oid number(10));insert into xy values (1,1,1);insert into xy values (2,2,2);insert into xy values (3,3,3);insert into xy values (4,4,4);--Enter the geographic metadata infoinsert into user_sdo_geom_metadata values('XY','sde.get_long_lat_pt(x,y,4326)',sdo_dim_array( sdo_dim_element('Longitude', -180, 180, 0.005), sdo_dim_element('Latitude', -90, 90, 0.005)), 4326);--Create Function Based Index to work around ArcMap limitation of Spatial Index requirement create index xy_spidx on xy(get_long_lat_pt(x,y,4326)) indextype is mdsys.spatial_index; --Query Layer:select get_long_lat_pt(x,y,4326) as shape, oid from xy;