|
给出下表:
- u. J0 h$ R: rCREATE TABLE #USGS_24K_TOPOMAP_BOUNDARIES( [OBJECTID] [int] NOT NULL, [AREA] [numeric](38,8) NULL, [PERIMETER] [numeric](38,8) NULL, [QD24K_GRSM] [numeric](38,8) NULL, [QD24K_GR_1] [numeric](38,8) NULL, [QUADID] [numeric](38,8) NULL, [CENTLAT] [numeric](38,8) NULL, [CENTLONG] [numeric](38,8) NULL, [NAME] [nvarchar](35) NULL, [STATE] [nvarchar](2) NULL, [LATLONG] [nvarchar](9) NULL, [OHIO_INDEX] [nvarchar](8) NULL, [GRID60] [nvarchar](5) NULL, [Reviewed] [int] NULL, [Corrected] [int] NULL, [Verified] [int] NULL, [GlobalID] [uniqueidentifier] NOT NULL, [SHAPE] [geometry] NULL)和+ v) M) i# ?" h; p% e- @
CREATE TABLE #tbl_locations([OBJECTID] [int] NOT NULL,[FCategory] [varchar](16) NULL,[MapMethod] [varchar](4) NULL,[HError] [varchar](50) NULL,[MapSource] [varchar](255) NULL,[SourceDate] [datetime2](7) NULL,[EditDate] [datetime2](7) NULL,[Notes] [varchar](255) NULL,[Species_Community] [varchar](50) NULL,[Location_ID] [uniqueidentifier] NOT NULL,[Site_ID] [uniqueidentifier] NULL,[GIS_Location_ID] [varchar](50) NULL,[Meta_MID] [varchar](50) NULL,[X_Coord] [numeric](38,8) NULL,[Y_Coord] [numeric](38,8) NULL,[Coord_Units] [varchar](50) NULL,[Coord_System] [varchar](50) NULL,[UTM_Zone] [varchar](50) NULL,[Accuracy_Notes] [varchar](255) NULL,[Unit_Code] [varchar](12) NULL,[Loc_Name] [varchar](100) NULL,[Loc_Type] [varchar](25) NULL,[Updated_Date] [varchar](50) NULL,[Loc_Notes] [varchar](255) NULL,[Datum] [varchar](5) NULL,[Watershed] [varchar](50) NULL,[StreamName] [varchar](50) NULL,[NHDReachCode] [varchar](14) NULL,[TOPO_NAME] [varchar](50) NULL,[Trail] [varchar](100) NULL,[Road] [varchar](50) NULL,[Elevation] [numeric](38,8) NULL,[LAT] [numeric](38,8) NULL,[LON] [numeric](38,8) NULL,[Population_ID] [uniqueidentifier] NULL,[Year_] [varchar](4) NULL,[WGS_DAT] [varchar](5) NULL,[WGS_CS] [varchar](5) NULL,[County] [varchar](20) NULL,[State] [varchar](15) NULL,[IsExtant] [varchar](3) NULL,[IsSenstive] [varchar](3) NULL,[SpeciesName] [varchar](125) NULL,[SpeciesID] [varchar](50) NULL,[Species_ID] [int] NULL,[SHAPE] [geometry] NULL)我想用#USGS_24K_TOPOMAP_BOUNDARIES.Name填充#tbl_locations.Topo_Name。换句话说,我试图确定点所在地形图的名称,并以编程的形式将其写入点表。理论上看起来很简单,但tbl_locations36个地形图多边形边界之一可能会出现数千个点。
: H& g+ K1 m% H# i. i7 z我走了这么远
. x5 x8 v, K" x7 k9 u. n2 lSelect NAME,Loc_Name,Location_IDFrom #USGS_24K_TOPOMAP_BOUNDARIES a,#TBL_LOCATIONS bwhere a.Shape.STContains(b.Shape)=1它回到了一个整齐的表,我可以通过连接跨回tbl_locations,但我一直坚持通过查询更新句子来完成这个操作,我有很多类似的点-6 D2 g3 i6 ?, {
这样实现多边形关系的自动化(如分水岭、县、州等)。).谢谢!) a( u3 D7 h! W0 _- k3 ?9 v
: T5 Q4 J+ L6 D0 U8 S; Z
解决方案:
2 D2 U! u. F. s* ? update TBL_LOCATIONSset TOPO_NAME = dbo.QD24K_GRSM.NAME--(SELECT a.NAME,b.Loc_Name,b.Location_IDFROM dbo.tbl_locationsinner join dbo.QD24K_GRSM on TBL_LOCATIONS.Location_ID = TBL_LOCATIONS.Location_IDWHERE (QD24K_GRSM.Shape.STContains(TBL_LOCATIONS.SHAPE) = 1) |
|