实验I 创建地图.docx_第1页
实验I 创建地图.docx_第2页
实验I 创建地图.docx_第3页
实验I 创建地图.docx_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Creating OGC conformance test map in SQL Server 2008ByMorten24. 二月 2008 19:31TheSimple Features Specification v1.1.0has a conformance test based on Joes Blue Lake vicinity map, which roughly looks like this:To create the map in Microsoft SQL Server 2008, first create the tables:- LakesCREATE TABLE lakes (fid INTEGER NOT NULL PRIMARY KEY,name VARCHAR(64),shore Geometry); /INTEGER 整数类型- Road Segments(分段、段落)CREATE TABLE road_segments (fid INTEGER NOT NULL PRIMARY KEY,name VARCHAR(64),aliases VARCHAR(64),num_lanes INTEGER,centerline Geometry);- Divided RoutesCREATE TABLE divided_routes (fid INTEGER NOT NULL PRIMARY KEY,name VARCHAR(64),num_lanes INTEGER,centerlines Geometry);- ForestsCREATE TABLE forests (fid INTEGER NOT NULL PRIMARY KEY,name VARCHAR(64),boundary Geometry);- BridgesCREATE TABLE bridges (fid INTEGER NOT NULL PRIMARY KEY,name VARCHAR(64),position Geometry);- StreamsCREATE TABLE streams (fid INTEGER NOT NULL PRIMARY KEY,name VARCHAR(64),centerline Geometry);- BuildingsCREATE TABLE buildings (fid INTEGER NOT NULL PRIMARY KEY,address VARCHAR(64),position Geometry,footprint Geometry);- PondsCREATE TABLE ponds (fid INTEGER NOT NULL PRIMARY KEY,name VARCHAR(64),type VARCHAR(64),shores Geometry);- Named PlacesCREATE TABLE named_places (fid INTEGER NOT NULL PRIMARY KEY,name VARCHAR(64),boundary Geometry);- Map Neatline(图表边线)CREATE TABLE map_neatlines (fid INTEGER NOT NULL PRIMARY KEY,neatline Geometry);Next step is to insert the rows:- LakesINSERT INTO lakes VALUES (101, BLUE LAKE,Geometry:STPolyFromText(POLYGON(52 18,66 23,73 9,48 6,52 18),(59 18,67 18,67 13,59 13,59 18), 101);- Road segmentsINSERT INTO road_segments VALUES(102, Route 5, NULL, 2,Geometry:STLineFromText(LINESTRING( 0 18, 10 21, 16 23, 28 26, 44 31 ) ,101);INSERT INTO road_segments VALUES(103, Route 5, Main Street, 4,Geometry:STLineFromText(LINESTRING( 44 31, 56 34, 70 38 ) ,101);INSERT INTO road_segments VALUES(104, Route 5, NULL, 2,Geometry:STLineFromText(LINESTRING( 70 38, 72 48 ) ,101);INSERT INTO road_segments VALUES(105, Main Street, NULL, 4,Geometry:STLineFromText(LINESTRING( 70 38, 84 42 ) ,101);INSERT INTO road_segments VALUES(106, Dirt Road by Green Forest, NULL, 1,Geometry:STLineFromText(LINESTRING( 28 26, 28 0 ),101);- DividedRoutesINSERT INTO divided_routes VALUES(119, Route 75, 4,Geometry:STMLineFromText(MULTILINESTRING(10 48,10 21,10 0),(16 0,16 23,16 48), 101);- ForestsINSERT INTO forests VALUES(109, Green Forest,Geometry:STMPolyFromText(MULTIPOLYGON(28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18),(59 18,67 18,67 13,59 13,59 18), 101);- BridgesINSERT INTO bridges VALUES(110, Cam Bridge, Geometry:STPointFromText(POINT( 44 31 ), 101);- StreamsINSERT INTO streams VALUES(111, Cam Stream,Geometry:STLineFromText(LINESTRING( 38 48, 44 41, 41 36, 44 31, 52 18 ), 101);INSERT INTO streams VALUES(112, NULL,Geometry:STLineFromText(LINESTRING( 76 0, 78 4, 73 9 ), 101);- BuildingsINSERT INTO buildings VALUES(113, 123 Main Street,Geometry:STPointFromText(POINT( 52 30 ), 101),Geometry:STPolyFromText(POLYGON( ( 50 31, 54 31, 54 29, 50 29, 50 31) ), 101);INSERT INTO buildings VALUES(114, 215 Main Street,Geometry:STPointFromText(POINT( 64 33 ), 101),Geometry:STPolyFromText(POLYGON( ( 66 34, 62 34, 62 32, 66 32, 66 34) ), 101);- PondsINSERT INTO ponds VALUES(120, NULL, Stock Pond,Geometry:STMPolyFromText(MULTIPOLYGON( ( ( 24 44, 22 42, 24 40, 24 44) ),( ( 26 44, 26 40, 28 42, 26 44) ) ), 101);- Named PlacesINSERT INTO named_places VALUES(117, Ashton,Geometry:STPolyFromText(POLYGON( ( 62 48, 84 48, 84 30, 56 30, 56 34, 62 48) ), 101);INSERT INTO named_places VALUES(118, Goose Island,Geometry:STPolyFromText(POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) ), 101);- Map NeatlinesINSERT INTO map_neatlines VALUES(115,Geometry:STPolyFromText(POLYGON( ( 0 0, 0 48, 84 48, 84 0, 0 0 ) ), 101);And voil. you can now for instance run all the conformance tests, but the map is actually also a good base-mapforlearning the various spatial operations.If you use mySQL Spatial Query Tool, heres a query you can use to visualize the map:SELECT neatline, Background as name, map_neatlines as layer, White as FillColor, Transparent as LineColor, 1 as LineThickness FROM map_neatlines UNION ALLSELECT shores, name, ponds as layer, LightBlue as FillColor, Blue as LineColor, 1 as LineThickness FROM ponds UNION ALLSELECT boundary, name, forests as layer, Green as FillColor, #ff005500 as LineColor, 4 as LineThickness FROM Forests UNION ALL(允许重复值)SELECT shore, name, lakes as layer, Blue as FillColor, Transparent as LineColor, 2 as LineThickness FROM lakes UNION ALLSELECT boundary, name, named_places as layer, #00ffff99 as FillColor, Brown as LineColor, 2 as LineThickness FROM named_places UNION ALLSELECT centerline, name, streams_outline as layer, Blue as FillColor, Blue as LineColor, 5 as LineThickness FROM streams UNION ALLSELECT centerline, name, streams_fill as layer, LightBlue as FillColor, LightBlue as LineColor, 3 as LineThickness FROM streams UNION ALLSELECT centerline, name, road_segments as layer, LightGreen as FillColor, Black as LineColor, num_lanes*2 as LineThickness FROM road_segments UNION ALLSELECT centerlines, name, divided_routes as layer, LightGreen as FillColor, #aaff0000 as LineColor, num_lanes*2 as LineThickness FROM divided_routes UNION ALLSELECT footprint, address, buildings_footprint as layer, Black as FillColor, Transparent as LineColor, 1 as LineThickness FROM buildings UNION ALLSELECT position.STBuffer(0.5), a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论