Математика | ||||
Beginning Spatial with SQL Server 2008 -Alastair Aitchison 2009 str401 | ||||
Beginning Spatial with SQL Server 2008 -Alastair Aitchison 2009 str401 Contents at a G ance About the Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi About the Techn ca Rev ewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii Acknow edgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv Introduct on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii PART 1 Working with Spatial Data CHAPTER 1 Defining Spatial Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 CHAPTER 2 Implementing Spatial Data in SQL Server 2008 . . . . . . . . . . . . . . . . 33 CHAPTER 3 Working with Spatial Data in the .NET Framework . . . . . . . . . . . . . 55 PART 2 Adding Spatial Data CHAPTER 4 Creating Spatial Data Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 CHAPTER 5 Marking Out Geometries Using Virtual Earth . . . . . . . . . . . . . . . . . . 115 CHAPTER 6 Importing Spatial Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 CHAPTER 7 Geocoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 PART 3 Presenting Spatial Data CHAPTER 8 Syndicating Spatial Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 CHAPTER 9 Presenting Spatial Data Using Web Mapping Services . . . . . . . . . 207 CHAPTER 10 Visualizing Query Results in Management Studio . . . . . . . . . . . . . 249 PART 4 Analyzing Spatial Data CHAPTER 11 Examining Properties of Spatial Objects . . . . . . . . . . . . . . . . . . . . . . 261 CHAPTER 12 Modifying Spatial Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 CHAPTER 13 Testing Spatial Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 PART S Ensuring Spatial Performance CHAPTER 14 Indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 IND EX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 Contents About the Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi About the Techn ca Rev ewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii Acknow edgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv Introduct on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii PART 1 Working with Spatial Data CHAPTE R 1 Defining Spatial Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 What Is Spat a Data? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Uses of Spat a Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Represent ng Features on the Earth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Po nts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 L neStr ngs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Po ygons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Choos ng the R ght Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Comb n ng Geometr es n a Geometry Co ect on . . . . . . . . . . . . . . . . 8 Understand ng Inter ors, Exter ors, and Boundar es . . . . . . . . . . . . . . 9 Pos t on ng a Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Descr b ng Pos t ons Us ng a Coord nate System . . . . . . . . . . . . . . . . . . . 11 Geograph c Coord nate System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Projected Coord nate System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 App y ng Coord nate Systems to the Earth . . . . . . . . . . . . . . . . . . . . . . . . . 14 Datum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Pr me Mer d an . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Un t of Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Project on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Us ng Spat a Reference Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Spat a Reference Ident f ers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 C ON TE N TS Spat a References n SOL Server 2008 . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Express ng Spat a References n the We -Known Text Format . . . 26 Contrast ng a Geograph c and a Projected Spat a Reference . . . . . 27 Compar ng Spat a Reference Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 WGS 84 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Nat ona Gr d of Great Br ta n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 CHAPTE R 2 Implementing Spatial Data in SQL Ser"er 2008 . . . . . . . . . . 33 Understand ng Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Compar ng Spat a Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 The geography Datatype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Coord nate System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Un t of Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Spat a Reference ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 S ze L m tat ons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 R ng Or entat on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 The geometry Datatype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Coord nate System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Un t of Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Spat a Reference ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 R ng Or entat on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Choos ng the R ght Spat a Datatype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Cons stency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 The End(s) of the Wor d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Presentat on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Standards Comp ance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 How Spat a Data Is Stored . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Convert ng Between Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Spat a y Enab ng Your Tab es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Creat ng a New Tab e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Add ng to an Ex st ng Tab e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Enforc ng a Common SRID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 C ON TEN TS ix CHAPTE R 3 Working with Spatial Data in the .NET Framework . . . . . . 55 What Is the NET Framework? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 How NET Is Hosted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Why Use NET for Spat a Funct ona ty? . . . . . . . . . . . . . . . . . . . . . . . . . . 58 App y ng Pr nc p es of Object Or entat on . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Data Abstract on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Encapsu at on (Data H d ng) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Inher tance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Po ymorph sm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Instant at ng Spat a Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Us ng Stat c Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 App y ng a Stat c Method of the Appropr ate Datatype . . . . . . . . . . . 65 Invok ng Spat a Instance Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 T-SOL Funct on Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 NET CLR Instance Method Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Cha n ng Mu t p e Method Ca s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Accessor and Mutator Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Access ng Propert es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Read-On y and Read-Wr te Propert es . . . . . . . . . . . . . . . . . . . . . . . . 69 Comb n ng T-SOL and NET CLR Methods . . . . . . . . . . . . . . . . . . . . . . . . . 69 Us ng Open Geospat a Consort um Methods . . . . . . . . . . . . . . . . . . . . . . 70 Hand ng Except ons n the CLR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 PART 2 Adding Spatial Data CHAPTE R 4 Creating Spatial Data Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Choos ng an Appropr ate Stat c Method . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Creat ng Geometr es from We -Known Text . . . . . . . . . . . . . . . . . . . . . . . 79 Creat ng a Po nt from WKT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Creat ng a L neStr ng from WKT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Creat ng a Po ygon from WKT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Creat ng a Mu t Po nt from WKT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Creat ng a Mu t L neStr ng from WKT . . . . . . . . . . . . . . . . . . . . . . . . . 86 Creat ng a Mu t Po ygon from WKT . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Creat ng a Geometry Co ect on from WKT . . . . . . . . . . . . . . . . . . . . . 87 Creat ng Any K nd of Geometry from WKT . . . . . . . . . . . . . . . . . . . . . 87 Represent ng an Ex st ng Geometry As WKT . . . . . . . . . . . . . . . . . . . 89 x C ON TE N TS Creat ng Geometr es from We -Known B nary . . . . . . . . . . . . . . . . . . . . . 91 Creat ng a Po nt from WKB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Creat ng a L neStr ng from WKB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Creat ng a Po ygon from WKB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Creat ng a Mu t e ement Geometry from WKB . . . . . . . . . . . . . . . . . 100 Creat ng Any Type of Geometry from WKB . . . . . . . . . . . . . . . . . . . 102 Represent ng an Ex st ng Geometry As WKB . . . . . . . . . . . . . . . . . . 102 Creat ng Geometr es from Geography Markup Language . . . . . . . . . . . 103 Structure of a GML Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Dec ar ng the GML Namespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Methods to Instant ate Geometry Objects from GML . . . . . . . . . . . 106 Creat ng a Po nt from GML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Creat ng a L neStr ng from GML . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Creat ng a Po ygon from GML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Creat ng a Mu t Po nt from GML . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Creat ng a Mu t L neStr ng from GML . . . . . . . . . . . . . . . . . . . . . . . . 110 Creat ng a Mu t Po ygon from GML . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Creat ng a Geometry Co ect on from GML. . . . . . . . . . . . . . . . . . . . 111 Represent ng an Ex st ng Geometry As GML . . . . . . . . . . . . . . . . . . 112 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 CHAPTE R 5 Marking Out Geometries Using Virtual Earth . . . . . . . . . . . . 115 Creat ng the Web App cat on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Creat ng a New Web S te . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Add ng a Bas c Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Extend ng the Map Funct ona ty . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Add ng Contro s to HTMLPage htm . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Us ng the Web App cat on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Creat ng a Geometry from the WKT Output . . . . . . . . . . . . . . . . . . . . . . . 132 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 CHAPTE R 6 Importing Spatial Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Sources of Spat a Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Import ng Tabu ar Spat a Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Import ng the Text F e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Add ng the geography Co umn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Popu at ng the Spat a Co umn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 C ON TEN TS xi Import ng Data from Keyho e Markup Language . . . . . . . . . . . . . . . . . . 144 Compar ng KML to GML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Transform ng KML to GML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Import ng Data from ESRI Shapef e Format . . . . . . . . . . . . . . . . . . . . . . 148 Obta n ng Samp e Shapef e Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Import ng Shapef e Data w th Shape2SOL . . . . . . . . . . . . . . . . . . . 150 Us ng Th rd-Party Convers on Too s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Commerc a Too s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Free Too s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 CHAPTE R 7 Geocoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 What Is Geocod ng? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 MapPo nt Web Serv ce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Access ng the MapPo nt Web Serv ce from SOL Server . . . . . . . . . 159 S gn ng Up for the MapPo nt Web Serv ce . . . . . . . . . . . . . . . . . . . . 160 Creat ng the NET Assemb y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Creat ng a New Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Conf gur ng the Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Add ng the Geocod ng Funct on . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Comp ng the Assemb y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Conf gur ng the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Enab ng CLR Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Sett ng Secur ty Perm ss ons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Import ng the Assemb y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Creat ng the Funct on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Us ng the Geocode Funct on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 PART 3 Presenting Spatial Data CHAPTE R 8 Syndicating Spatial Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Why Synd cate Spat a Informat on? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Synd cat on Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 The GeoRSS Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 GeoRSS Spat a Encod ngs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Re at ng Spat a Informat on w th the GeoRSS xii C ON TE N TS Attach ng Spat a Informat on to a Feed . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Creat ng a GeoRSS Feed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Creat ng the Samp e Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 Serv ng the GeoRSS Feed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Test ng the Feed Hand er . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Consum ng the GeoRSS Feed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Us ng the Goog e Maps Web S te . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Us ng Embedded Goog e Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Us ng M crosoft V rtua Earth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Us ng Yahoo! Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 CHAPTE R 9 Presenting Spatial Data Using Web Mapping Ser"ices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 The App cat on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Process Overv ew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Obta n ng the Source Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Creat ng a New Web S te Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Creat ng the HTML Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Referenc ng the API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Inc ud ng the JavaScr pt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Spec fy ng the Map Conta ner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Rev ew ng the HTML Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Creat ng the Stat c JavaScr pt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Dec ar ng the Map Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Load ng the Goog e Maps API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Sett ng Ca backs to Load and Un oad the Map . . . . . . . . . . . . . . . . 217 Creat ng the Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Conf gur ng the Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Add ng Interact v ty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Creat ng an AJAX Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Request ng Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 C ear ng the Map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Updat ng the Status W ndow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 D spos ng of the Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Rev ew ng the JavaScr pt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Creat ng the Stored Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 C ON TEN TS xiii Creat ng the Web Hand er . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Creat ng a Connect on to SOL Server . . . . . . . . . . . . . . . . . . . . . . . . 232 Ca ng the Stored Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Construct ng the Geometry E ements . . . . . . . . . . . . . . . . . . . . . . . . 233 Add ng a Shape to the Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Attach ng Descr pt ve Informat on to the Map . . . . . . . . . . . . . . . . . 237 Custom z ng the Appearance of Map E ements . . . . . . . . . . . . . . . . 238 Rev ew ng the NET Hand er . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 V ew ng the Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Further App cat ons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 CH APTER 10 Visualizing Query Results in Management Studio . . . . . . 249 SOL Server Management Stud o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 V sua z ng Spat a Resu ts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Choos ng V sua zat on Opt ons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 Supported Project ons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 Equ rectangu ar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 Mercator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Rob nson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Bonne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 PART 4 Analyzing Spatial Data CH APTER 11 Examining Properties of Spatial Objects . . . . . . . . . . . . . . . . 261 Return ng the Name of a Geometry Type . . . . . . . . . . . . . . . . . . . . . . . . . 262 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Return ng the Number of D mens ons Occup ed by a Geometry . . . . . . 263 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 xi" C ON TE N TS Test ng Whether a Geometry Is of a Part cu ar Type . . . . . . . . . . . . . . . . 264 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 Compar ng the Resu ts of STD mens on(), STGeometryType(), and InstanceOf() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 Test ng Whether a Geometry Is S mp e . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 Test ng Whether a Geometry Is C osed . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Test ng Whether a L neStr ng Is a R ng . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Count ng the Number of Po nts n a Geometry . . . . . . . . . . . . . . . . . . . . 275 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Test ng Whether a Geometry Is Empty . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Return ng Cartes an Coord nate Va ues . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Return ng Geograph c Coord nate Va ues . . . . . . . . . . . . . . . . . . . . . . . . . 279 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Return ng Extended Coord nate Va ues . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 C ON TEN TS x" Return ng a Spec f c Po nt from a Geometry . . . . . . . . . . . . . . . . . . . . . 281 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 F nd ng the Start and End Po nts of a Geometry . . . . . . . . . . . . . . . . . . . 283 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 F nd ng the Centro d of a geometry Po ygon . . . . . . . . . . . . . . . . . . . . . . 284 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 F nd ng the Center of a geography Instance . . . . . . . . . . . . . . . . . . . . . . 286 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Return ng an Arb trary Po nt from a Geometry . . . . . . . . . . . . . . . . . . . . 288 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Measur ng the Length of a Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 Ca cu at ng the Area Conta ned by a Geometry . . . . . . . . . . . . . . . . . . . . 291 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Sett ng or Retr ev ng the SRID of a Geometry . . . . . . . . . . . . . . . . . . . . . 293 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Iso at ng the Exter or R ng of a Geometry Po ygon . . . . . . . . . . . . . . . . . 295 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Count ng the Inter or R ngs of a Geometry . . . . . . . . . . . . . . . . . . . . . . . . 296 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 x"i C ON TE N TS Iso at ng an Inter or R ng from a Po ygon . . . . . . . . . . . . . . . . . . . . . . . . . 298 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Count ng the R ngs n a geography Po ygon . . . . . . . . . . . . . . . . . . . . . . 299 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 Iso at ng a R ng from a geography Po ygon . . . . . . . . . . . . . . . . . . . . . . . 301 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Ident fy ng the Boundary of a Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Ca cu at ng the Bound ng Box of a Geometry . . . . . . . . . . . . . . . . . . . . . 305 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Ca cu at ng the Enve ope of a geography Object . . . . . . . . . . . . . . . . . . . 307 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 Count ng the E ements n a Geometry Co ect on . . . . . . . . . . . . . . . . . . 308 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 Retr ev ng an Ind v dua Geometry from a Geometry Co ect on . . . . . . 310 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 CH APTER 12 Modifying Spatial Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 Ensur ng That an Object Is Va d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 C ON TEN TS x"ii Va dat ng a Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Comb n ng Spat a Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 Def n ng the Intersect on of Two Geometr es . . . . . . . . . . . . . . . . . . . . . 323 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 Ident fy ng the D fference Between Two Geometr es . . . . . . . . . . . . . . . 327 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 Ca cu at ng the Symmetr c D fference Between Two Geometr es . . . . . 330 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 S mp fy ng a Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Creat ng a Buffer Around an Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Creat ng a S mp er Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Creat ng the Convex Hu of a Geometry . . . . . . . . . . . . . . . . . . . . . . . . . 340 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 x"iii C ON TE N TS CH APTER 13 Testing Spatial Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Test ng the Equa ty of Two Geometr es . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Ca cu at ng the D stance Between Geometr es . . . . . . . . . . . . . . . . . . . . 348 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 Test ng Whether Two Geometr es Intersect . . . . . . . . . . . . . . . . . . . . . . . 355 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 Perform ng a Ou ck Test of Intersect on Between Two Geometr es . . . 358 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 Test ng Whether Two Geometr es Are D sjo nt . . . . . . . . . . . . . . . . . . . . 361 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 F nd ng Out Whether One Geometry Crosses Another . . . . . . . . . . . . . . 362 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 F nd ng Out Whether Two Geometr es Touch . . . . . . . . . . . . . . . . . . . . . 365 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 Test ng Whether One Geometry Over aps Another . . . . . . . . . . . . . . . . . 368 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 Test ng Whether a Geometry Is Conta ned W th n Another Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 C ON TEN TS xix Test ng Whether a Geometry Conta ns Another Geometry . . . . . . . . . . . 371 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Test ng Custom Re at onsh ps Between Geometr es . . . . . . . . . . . . . . . 373 Supported Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 Examp e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 PART S Ensuring Spatial Performance CH APTER 14 Indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 What Does a Spat a Index Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 How Do Spat a Indexes Work? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 Bu d ng an Index from the Gr d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 Cover ng Ru e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 Deepest-Ce Ru e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 Ce s-Per-Object Ru e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 App y ng a Gr d to the geography Datatype . . . . . . . . . . . . . . . . . . . . . . . 389 Creat ng a Spat a Index Us ng T-SOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 Creat ng a geometry Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 Creat ng a geography Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Creat ng a Spat a Index n SOL Server Management Stud o . . . . . . . . . 393 Des gn ng Ouer es to Use a Spat a Index . . . . . . . . . . . . . . . . . . . . . . . . 395 Prov d ng a H nt to a Spat a Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 Opt m z ng an Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 Gr d Reso ut on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 Bound ng Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 Ce s Per Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 INDEX Цена: 200руб. |
||||