实验二 PG空间数据库应用
- 实验目的:
- 实验准备
- 实验内容及要求
- 实验过程及步骤:
实验目的:
1、熟悉PostGIS空间数据库;
2、掌握利用PG进行空间数据操作;
3、熟悉PG空间函数;
实验准备
Windows操作系统、Postgresql、postgis、nyc矢量文件rar
实验数据下载链接:
nyc矢量文件.rar
实验内容及要求
-
创建空间数据库nyc,在nyc空间数据库中创建geometries表,对表中插入Point、Linestring、Polygon、PolygonWithHole、collection等几何要素。
-
查看geometries表中的几何图形的元数据:
使用ST_GeometryType(geometry)
:返回几何图形的类型;ST_NDims(geometry)
:返回几何图形维数;ST_SRID(geometry)
:返回几何图形的空间参考标识码。 -
查看geometries表多边形的图形信息
SQL语句:SELECT ST_AsText(geom) FROM geometries WHERE name LIKE 'Polygon%';
-
导入nyc_census_blocks、nyc_neighborhoods、nyc_streets、nyc_subway_stations等矢量文件。根据以上数据解决以下问题
①’West Village’社区(neighborhood)的面积是多少?
提示:面积以平方米
为单位。
要得到一个以公顷
为单位的面积,需要再对其除以10000;
要得到一个以英亩
为单位的面积,需要对其除以4047。②曼哈顿(Manhattan)的面积是多少英亩?
提示:nyc_census_blocks和nyc_neighborhoods中都有boroname - rorough name - 行政区名
③纽约市(New York)的街道总长度(公里)是多少?
提示:空间数据的测量单位是米
,1公里=1000m
提示:ST_Length(geom)
④"West Village’边界的JSON表示是怎样的?
提示:ST_AsGeoJSON(geom)
-
根据
4
中的数据解决以下空间关系问题。①名为"Atlantic Commonts"的街道的geometry值是什么?
提示:ST_AsText(geometry)
②’Broad St’地铁站处于哪一个区域?
提示:ST_Intersects(geometry,geometry)
③计算’Broad St’和’Nevins St’两个地铁站直接的距离。
提示:ST_Distance(geometry,geometry)
④找出’Broad St’地铁站10米范围内的所有街道。
提示:ST_Dwithin(geometry,geometry,distance)
实验过程及步骤:
1、创建空间数据库nyc,在nyc空间数据库中创建geometries表,对表中插入Point、Linestring、Polygon、PolygonWithHole、collection等几何要素。
2、查看geometries表中的几何图形的元数据。
使用ST_GeometryType(geometry)
:返回几何图形的类型;
使用ST_NDims(geometry)
:返回几何图形维数;
使用ST_SRID(geometry)
:返回几何图形的空间参考标识码。
3、查看geometries表多边形的图形信息。
SQL语句:SELECT ST_AsText(geom) FROM geometries WHERE name LIKE 'Polygon%';
4、导入nyc_census_blocks、nyc_neighborhoods、nyc_streets、nyc_subway_stations等矢量文件。 根据下图数据解决以下问题。
① 'West Village'
社区(neighborhood)的面积是多少?
注意:面积以平方米为单位;
要得到一个以公顷
为单位的面积,需要再对其除以10000
;
要得到一个以英亩
为单位的面积,需要对其除以4047
。
② 曼哈顿(Manhattan)的面积是多少英亩?
提示:nyc_census_blocks和nyc_neighborhoods中都有boroname - rorough name - 行政区名
③ 纽约市(New York)的街道总长度(公里)是多少?(提示:空间数据的测量单位是米,每公里有1000米)
提示:ST_Length(geom)
④ "West Village"
边界的JSON表示是怎样的?
提示:ST_AsGeoJSON(geom)
完整结果:
{"type":"MultiPolygon","coordinates":[[[[583263.277659584,4509242.626023987],[583276.819906863,4509378.825446927],[583473.970960668,4509359.908944457],[583491.192260595,4509436.712101899],[583162.105573362,4509573.023287381],[583183.76292118,4509612.891701841],[583504.900373906,4509468.566869254],[583533.730272909,4509585.126406943],[583541.023197051,4509651.251073344],[583282.008654078,4509632.486606753],[583281.533887219,4509674.748429338],[583540.695778205,4509680.306080814],[583544.237980713,4509722.613197348],[583535.72484875,4509764.78446308],[583294.648844622,4509759.43009883],[583300.379681076,4509785.911472392],[583535.427203423,4509791.198110681],[583538.522863303,4509873.125708335],[583317.51254869,4509870.638359524],[583329.18165868,4509905.111607115],[583542.12448063,4509910.150107043],[583543.389429966,4509976.20688658],[583338.306958854,4509987.106862172],[583335.94145858,4510018.780658739],[583548.881014022,4510023.819403051],[583544.758100265,4510211.333753768],[583341.869402998,4510206.407989682],[583347.36205056,4510254.020356839],[583542.284574586,4510252.516427664],[583547.4483807,4510329.184002983],[583438.959078394,4510327.961884845],[583440.611305951,4510359.680905153],[583498.873829468,4510360.337047188],[583441.84719336,4510428.379068074],[583443.410155272,4510468.022196671],[583579.75565117,4510493.33384979],[583587.195917015,4510546.251834389],[583358.52614421,4510511.975929038],[583358.258767962,4510535.748236739],[583592.984585184,4510567.450755248],[583596.257726282,4510633.530279973],[583359.525036557,4510601.805025731],[583359.317068904,4510620.294600859],[583602.046291112,4510654.729212196],[583601.718528224,4510683.784265051],[584454.921019424,4510273.151246954],[584352.745014016,4510049.939239385],[584296.288829336,4509964.920445205],[584278.671791656,4509880.343595843],[584017.076215618,4509266.760846779],[584008.125670374,4509162.296346837],[583263.277659584,4509242.626023987]]]]}
5、 根据4
中的数据解决以下空间关系问题。
① 名为"Atlantic Commonts"
的街道的geometry值是什么?
提示:ST_AsText(geometry)
完整结果:
MULTILINESTRING((586781.7015777241 4504202.153143394,586863.5196448397 4504215.988170098))
② Broad St
地铁站处于哪一个区域?
提示:ST_Intersects(geometry,geometry)
结果:POINT(583571.9059213118 4506714.341192182)
③ 计算Broad St
和Nevins St
两个地铁站直接的距离。
提示:st_Distance(geometry,geometry)
首先确定好Nevins St
地铁站的坐标:POINT(586114.6490996698 4504702.753423779);
④ 找出Broad St
地铁站10米范围内的所有街道。
提示:ST_Dwithin(geometry,geometry,distance)
如果这篇文章对你和你的同学有帮助,可以点赞关注多多支持哦~~
学习学习学习!!!
本文转自 https://blog.csdn.net/qq_45566213/article/details/124082981?spm=1001.2014.3001.5502,如有侵权,请联系删除。
标签:语句,几何图形,geometries,geometry,ST,St,空间,nyc,查询 From: https://www.cnblogs.com/hustshu/p/17650897.html