location-aware computing · 2019. 10. 17. · spatial database: modeling and implementation with...
TRANSCRIPT
![Page 1: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/1.jpg)
Location-aware Computing Spatial Databases: POSTGIS
Prof. Marco Di Felice Department of Computer Science and Engineering
University of Bologna
Context Aware Systems
http://www.cs.unibo.it/difelice/
![Page 2: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/2.jpg)
Location-aware services
2
COMPONENTSofLOCATION-BASEDSERVICESARCHITECTURE
Source:http://geoawesomeness.com/
WewillconsiderDBMSforLocationbasedServiceandContent
Providers
SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGISMARCODIFELICE
![Page 3: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/3.jpg)
Location-aware services
3
GeoDataACQUISITION
SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGISMARCODIFELICE
GeoDataMODELING
GeoDataSTORAGE
GeoDataVISUALIZATION
GeoDataAnalytics
![Page 4: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/4.jpg)
Database Management Systems (DBMS)
4SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
² DATABASEMANAGEMENTSYSTEMS(DBMS)² Softwaresystemthatisabletomanagedatacollections:large,
sharedandpersistent,inasecureandefficientway.² AhomogeneousdatacollectionwhichismanagedbyaDMBS
iscalleddatabase(e.g.databaseofstudentsatUNIBO).Ø Datamodeling,accordingtoalogicdatamodelØ Dataaccessandcreate/read/write/update(CRUD)operationsØ DataproceduresandtriggersØ Datasharingamongmultipleusers/applicationsØ DataencryptionanddataaccessprotectionØ DatashardinginnetworkeddistributeddeploymentsØ …
COMMONOPERATIONS
![Page 5: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/5.jpg)
DBMS: Characteristics
5
ConcurrencyEfficiency
DBMS
Reliability Security
SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGISMARCODIFELICE
![Page 6: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/6.jpg)
Spatial DBMS
6SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
² ASpatialDatabaseManagementSystem(SDBMS)maybedefinedasaDBMSthatoffersspatialdatatypesinitsdatamodelandquerylanguage,andsupportsspatialdatatypesinitsimplementation[1].
[1]http://www.geol-amu.org/notes/m14b-4-4.htm
1.SDBMSsprovidenewdatatypesinordertomodelsome
geospatialfeatures.
https://do
cs.oracle.com/
![Page 7: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/7.jpg)
7SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
² ASpatialDatabaseManagementSystem(SDBMS)maybedefinedasaDBMSthatoffersspatialdatatypesinitsdatamodelandquerylanguage,andsupportsspatialdatatypesinitsimplementation[1].
[1]http://www.geol-amu.org/notes/m14b-4-4.htm
2.SDBMSsprovidespatialjoinsandspatialquery
methods.
Relationshipsbetweendataobjects
[2]DavidBlasby,POSTGIStutorial,BuildingaSpatialDatabaseinPostgreSQL
Spatial Relationships
Distance between a toxic waste dump and a piece of property you were considering buying.
SINGLEDISTANCE
Source:[2]
Spatial DBMS
![Page 8: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/8.jpg)
Spatial Relationships
Distance to various pubs8
SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGISMARCODIFELICE
² ASpatialDatabaseManagementSystem(SDBMS)maybedefinedasaDBMSthatoffersspatialdatatypesinitsdatamodelandquerylanguage,andsupportsspatialdatatypesinitsimplementation[1].
[1]http://www.geol-amu.org/notes/m14b-4-4.htm
Relationshipsbetweendataobjects
[2]DavidBlasby,POSTGIStutorial,BuildingaSpatialDatabaseinPostgreSQL
MULTI-DISTANCE
Source:[2]
2.SDBMSsprovidespatialjoinsandspatialquery
methods.
Spatial DBMS
![Page 9: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/9.jpg)
Spatial Relationships
Adjacency: All the lots which share an edge9
SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGISMARCODIFELICE
² ASpatialDatabaseManagementSystem(SDBMS)maybedefinedasaDBMSthatoffersspatialdatatypesinitsdatamodelandquerylanguage,andsupportsspatialdatatypesinitsimplementation[1].
[1]http://www.geol-amu.org/notes/m14b-4-4.htm
Relationshipsbetweendataobjects
[2]DavidBlasby,POSTGIStutorial,BuildingaSpatialDatabaseinPostgreSQL
ADJACENCY
Source:[2]
2.SDBMSsprovidespatialjoinsandspatialquery
methods.
Spatial DBMS
![Page 10: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/10.jpg)
10SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
² ASpatialDatabaseManagementSystem(SDBMS)maybedefinedasaDBMSthatoffersspatialdatatypesinitsdatamodelandquerylanguage,andsupportsspatialdatatypesinitsimplementation[1].
[1]http://www.geol-amu.org/notes/m14b-4-4.htm
Relationshipsbetweendataobjects
[2]DavidBlasby,POSTGIStutorial,BuildingaSpatialDatabaseinPostgreSQL
Source:[2]
Connectivity: Tributary relationships in river networks
CONNECTIVITY 2.SDBMSsprovidespatialjoinsandspatialquery
methods.
Spatial DBMS
![Page 11: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/11.jpg)
11SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
² ASpatialDatabaseManagementSystem(SDBMS)maybedefinedasaDBMSthatoffersspatialdatatypesinitsdatamodelandquerylanguage,andsupportsspatialdatatypesinitsimplementation[1].
[1]http://www.geol-amu.org/notes/m14b-4-4.htm
[2]DavidBlasby,POSTGIStutorial,BuildingaSpatialDatabaseinPostgreSQL
R-TREE3.SDBMSsprovidespatial
indexingfordatamanagementandqueryoptimization
https://do
cs.oracle.com/
Spatial DBMS
![Page 12: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/12.jpg)
12SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
SpatialDatabaseManagementSystems(SDBMSs)
NativeSDBMS GenericDBMSwithSpatialExtensions
² SmallWorld ² OracleSpatial² MySQLGIS² PostGIShttps://seekingalpha.com
Spatial DBMS
![Page 13: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/13.jpg)
Spatial DBMS: PostGIS
13SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
² Postgres(QL)https://www.postgresql.org² Open-sourceRelationalDBMS(RDBMS)² Firstversionsreleasedin1990(1996withthisname)bya
teamofBerkeley(US)graduatestudents² Transactional,ACID-compliant² PL/pgSQLproceduralprogramminglanguage² Replicationsupportindistributedenvironments² Client-serverarchitecture² …
![Page 14: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/14.jpg)
DBMS: Data Modeling
14
² OriginallyproposedbyE.Coddin1969.² DMBSsupportingtherelationalmodelarealsoknownasRDBMS.² Largelythemostuseddatamodellingapproach.² Basedonnotionsofrelationalalgebra.² SQLàProgramminglanguagesupporting/implementingthemodel.
RELATIONALMODEL
² Dataitemsarestructuredasfixedlengthrecords,andgroupedintocollectionsoflogical-relatedinformationcalledtables.
INFORMALDEFINITION
SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGISMARCODIFELICE
![Page 15: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/15.jpg)
DBMS: Data Modeling
15
Name Code Lecturer
Databasesystems 0121 A.York
Networksecurity 1213 M.Write
MachineLearning 1455 R.Penrose
q Columnsofthetable(Propertiesofinterest)àAttributesq Headerofthetable(i.e.nameofthetable+nameoftheattributes)àSchemaq RowsàInstancesofthetable
² Dataitemsarestructuredasfixedlengthrecords,andgroupedintocollectionsoflogical-relatedinformationcalledtables.
COURSES
SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGISMARCODIFELICE
![Page 16: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/16.jpg)
DBMS: Data Modeling
16
² Dataitemsarestructuredasfixedlengthrecords,andgroupedintocollectionsoflogical-relatedinformationcalledtables.
SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGISMARCODIFELICE
² Tablesandrelations² NULLvalues² Primarykey² Foreignkey² Normalforms² …
MAINELEMENTSOFTHERELATIONALMODEL
![Page 17: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/17.jpg)
DBMS: Data Modeling
17
² StructuredQueryLanguage(SQL)àProgramminglanguageusedbyDBMSbasedontherelationaldatamodel(RBDMS).
Name Code LecturerCode
Databasesystems 0121 00
Networking 1213 01
Security 1455 02
COURSES
SELECTLECTURERCODEFROMCOURSESWHEREName=“Networking”
RetrievethecodeofthelecturerwhoisteachinganyNetworkingcourse
SQLCODE
01
SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGISMARCODIFELICE
![Page 18: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/18.jpg)
18
² POSTGISàSpatialdatabaseextenderforthePostgreSQLDBMS.² StartedasaprojectofRefractionsResearch.² Adoptedandimprovedonbygovernments,public
organizationsandprivatecompanies.² UndertheumbrellaoftheOpenSourceGeospatial
Foundation(OSGeo).
SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGISMARCODIFELICE
CREATEDATABASEpostgis_trial;CREATEEXTENSIONpostgis;
Spatial DBMS: PostGIS
![Page 19: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/19.jpg)
19SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
PostGISinAction,SecondEditionReginaO.ObeandLeoS.Hsu
April2015ISBN9781617291395ManningEdition
Aquitecompletereference…
Spatial DBMS: PostGIS
![Page 20: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/20.jpg)
20SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
POSTGIScomponentsinthistutorial² SpatialDataTypes² Creatingnewgeometry/geographicdata² Geometryrelationshipsandgeo-queries² Importingandexportingspatialdata² POSTGISviewingtools² Spatialindexing
Spatial DBMS: PostGIS
![Page 21: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/21.jpg)
21SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
POSTGISoffersfourmainspatialtypes
² GeometryàplanartypebasedonCartesianmath(elements:points,lines,polygons,…).
² Geographyàspheroidalgeodetictype(linesandpolygonsaredrawnonacurvedsurface).
² Topologyàrelationalmodeltype.Objectsarerepresentedasanetworkofnodesandedges.
² Rasteràspaceismodeledasagridofrectangularcells,eachcontaininganumericvalue.
Spatial DBMS: PostGIS
![Page 22: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/22.jpg)
22SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
Geometry/geographysubtypes² Thesimplestgeometrysubytpe:Points
CREATETABLEmyPoints(idSERIALPRIMARYKEY,descriptionVARCHAR(10),pointGEOMETRY(POINT),3dpointGEOMETRY(POINTZ),pointsrdGEOMETRY(POINT,4326)
);
Spatial DBMS: PostGIS
![Page 23: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/23.jpg)
23SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
Geometry/geographysubtypes² Thesimplestgeometrysubytpe:Points
Ø POINTàapointinthe2Dspacewith(X,Y)coordinatesØ POINTZàapointinthe3Dspacewith(X,Y,Z)coordinatesØ POINTMàapointinthe2Dspacewithameasuredvalue(M)Ø POINTZMàapointinthe3Dspacewithameasuredvalue(M)
Spatial DBMS: PostGIS
![Page 24: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/24.jpg)
24SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
Geometry/geographysubtypesLINESTRINGLINESTRINGZLINESTRINGMLINESTRINGZMPOLYGONMULTIPOINTMULTIPOLYGONGEOMETRYCOLLECTION
CREATETABLEgeometries(namevarchar,geomgeometry);INSERTINTOgeometriesVALUES('Point','POINT(00)'),('Linestring','LINESTRING(00,11,21,22)'),('Polygon','POLYGON((00,10,11,01,00))'),('PolygonWithHole','POLYGON((00,100,1010,010,00),(11,12,22,21,11))'),('Collection','GEOMETRYCOLLECTION(POINT(20),POLYGON((00,10,11,01,00)))');
Spatial DBMS: PostGIS
![Page 25: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/25.jpg)
25SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
Geometry/geographysubtypes
POLYHEDRALSURFACETIN(triangularirregularnetworks)
CIRCULARSTRINGSCOMPOUNDCURVESCURVEPOLYGONS
Spatial DBMS: PostGIS
![Page 26: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/26.jpg)
26SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
SRID(SpatialReferenceIdentifier)² Spatialreferencesystemcurrentlyemployed
Ø Geoidandprojectionmodelinuse² Itcanbeomittedforgeometrytypedata² Itmustbeprovidedforgeographicaltypedata² Numericidàprimarykeyvalueofthetable
spatial_ref_sys
psridGEOMETRY(POINT,4269)
Spatial DBMS: PostGIS
![Page 27: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/27.jpg)
27SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
POSTGIScomponentsinthistutorial² SpatialDataTypes² Creatingnewgeometry/geographicdata² Geometryrelationshipsandgeo-queries² Importingandexportingspatialdata² POSTGISviewingtools² Spatialindexing
Spatial DBMS: PostGIS
![Page 28: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/28.jpg)
28SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
² ConstructorfunctionsallowcreatingnewPOSTGISspatialobjects.² Buildnewobjectsfromrawdataininput² Startfromexistingdataandapplysome
transformation(e.g.decompose,slice,splice,dice).Ø ST_GeomFromTextàBuildgeometriesfromwellknowtextØ ST_GeomFromWKBàBuildgeometriesfromabinaryrepresentationØ ST_GeomFromGeoJSONàBuildgeometriesfromaGEOJSONformatØ ST_GeomFromKMLàBuildgeometriesfromaKMLformat
Spatial DBMS: PostGIS
![Page 29: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/29.jpg)
29SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
² ConstructorfunctionsallowcreatingnewPOSTGISspatialobjects.² Buildnewobjectsfromrawdataininput² Startfromexistingdataandapplysome
transformation(e.g.decompose,slice,splice,dice).
[1]Examplefrom:https://live.osgeo.org/archive/11.0/it/quickstart/postgis_quickstart.html
CREATETABLEcities(idint4primarykey,namevarchar(50),the_geomgeometry(POINT,4326));
INSERTINTOcities(id,the_geom,name)VALUES(1,ST_GeomFromText('POINT(-0.125751.508)',4326),'London,England');INSERTINTOcities(id,the_geom,name)VALUES(2,ST_GeomFromText('POINT(-81.23342.983)',4326),'London,Ontario');INSERTINTOcities(id,the_geom,name)VALUES(3,ST_GeomFromText('POINT(27.91162491-33.01529)',4326),'EastLondon,SA');
Spatial DBMS: PostGIS
![Page 30: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/30.jpg)
30SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
² ConstructorfunctionsallowcreatingnewPOSTGISspatialobjects
[1]Examplefrom:https://live.osgeo.org/archive/11.0/it/quickstart/postgis_quickstart.html
SELECT*FROMcities;id|name|the_geom----+-----------------+----------------------------------------------------1|London,England|0101000020E6100000BBB88D06F016C0BF1B2FDD2406C149402|London,Ontario|0101000020E6100000F4FDD478E94E54C0E7FBA9F1D27D45403|EastLondon,SA|0101000020E610000040AB064060E93B4059FAD005F58140C0(3rows)
BinarySpatialDatarepresentation
Spatial DBMS: PostGIS
![Page 31: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/31.jpg)
31SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
² ConstructorfunctionsallowcreatingnewPOSTGISspatialobjects
[1]Examplefrom:https://live.osgeo.org/archive/11.0/it/quickstart/postgis_quickstart.html
SELECTid,ST_AsText(the_geom),ST_AsEwkt(the_geom),ST_X(the_geom),ST_Y(the_geom)FROMcities;id|st_astext|st_asewkt|st_x|st_y----+------------------------------+----------------------------------------+-------------+-----------1|POINT(-0.125751.508)|SRID=4326;POINT(-0.125751.508)|-0.1257|51.5082|POINT(-81.23342.983)|SRID=4326;POINT(-81.23342.983)|-81.233|42.9833|POINT(27.91162491-33.01529)|SRID=4326;POINT(27.91162491-33.01529)|27.91162491|-33.01529(3rows)
Spatial DBMS: PostGIS
![Page 32: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/32.jpg)
32SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
POSTGIScomponentsinthistutorial² SpatialDataTypes² Creatingnewgeometry/geographicdata² Geometryrelationshipsandgeo-queries² Importingandexportingspatialdata² POSTGISviewingtools² Spatialindexing
Spatial DBMS: PostGIS
![Page 33: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/33.jpg)
33SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
POSTGISdistance-basedoperators
floatST_Distance(geometryg1,geometryg2);floatST_Distance(geographygg1,geographygg2);floatST_Distance_Sphere(geographygg1,geographygg2);floatST_Distance_Spheroid(geographygg1,geographygg2);
SELECTp1.name,p2.name,ST_Distance_Sphere(p1.the_geom,p2.the_geom)FROMcitiesASp1,citiesASp2WHEREp1.id>p2.id;name|name|st_distance_sphere-----------------+-----------------+--------------------London,Ontario|London,England|5875766.85191657EastLondon,SA|London,England|9789646.96784908EastLondon,SA|London,Ontario|13892160.9525778(3rows)
Spatial DBMS: PostGIS
![Page 34: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/34.jpg)
34SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
POSTGISarea-basedoperators
floatST_Area(geometryg1);
SELECTST_AREA(R1.GEOM)/1000000,R1.DEN_REGFROMREGIONISCHEMA.REGIONIASR125393.8763609287|"Piemonte”3258.90668928528|"Valled'Aosta”23862.4108382986|"Lombardia"
Spatial DBMS: PostGIS
![Page 35: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/35.jpg)
35SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
POSTGISbounding-boxoperators
Smallestrectangularboxwithedgesparalleltotheaxesofthecoordinateplanethatiscompletelyenclosingageometryobject.
² Arectangularboxiscompletelyspecifiedbythecoordinatesofthetwooppositecorners.
Spatial DBMS: PostGIS
![Page 36: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/36.jpg)
36SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
POSTGISbounding-boxoperators
Spatial DBMS: PostGIS
![Page 37: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/37.jpg)
37SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
POSTGISbounding-boxoperators
Codefromhttps://postgis.net/docs/geometry_overlaps.html
SELECTtbl1.column1,tbl2.column1,tbl1.column2&&tbl2.column2ASoverlapsFROM(VALUES
(1,'LINESTRING(00,33)'::geometry),(2,'LINESTRING(01,05)'::geometry))AStbl1,
(VALUES(3,'LINESTRING(12,46)'::geometry))AStbl2;
column1|column1|overlaps---------+---------+----------
1|3|t2|3|f
(2rows)
Spatial DBMS: PostGIS
![Page 38: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/38.jpg)
38SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
POSTGISgeometryrelationshipsoperators
booleanST_Intersects(geometrygeomA,geometrygeomB);booleanST_Intersects(geographygeogA,geographygeogB);geometryST_Intersection(geometrygeomA,geometrygeomB);geographyST_Intersection(geographygeogA,geographygeogB);booleanST_Within(geometryA,geometryB);booleanST_Contains(geometryA,geometryB);booleanST_Overlaps(geometryA,geometryB);booleanST_Touches(geometryg1,geometryg2);booleanST_Equals(geometryA,geometryB);
Spatial DBMS: PostGIS
![Page 39: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/39.jpg)
39SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
POSTGISgeometryrelationshipsoperators
SELECTST_Intersects('POINT(00)'::geometry,'LINESTRING(20,02)'::geometry);st_intersects---------------f(1row)SELECTST_Intersects('POINT(00)'::geometry,'LINESTRING(00,02)'::geometry);st_intersects---------------t(1row)
Codefromhttps://postgis.net/docs/ST_Intersects.html
Spatial DBMS: PostGIS
![Page 40: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/40.jpg)
40SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
POSTGIScomponentsinthistutorial² SpatialDataTypes² Creatingnewgeometry/geographicdata² Geometryrelationshipsandgeo-queries² Importingandexportingspatialdata² POSTGISviewingtools² Spatialindexing
Spatial DBMS: PostGIS
![Page 41: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/41.jpg)
41SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
² POSTGISisabletoimportreal-worlddatathroughcommand-linetools(built-ininPOSTGISorfromexternalpackages).
Osm2pgsqlàcommand-linebasedprogramconvertingOpenStreetMapdatatoapostGIS-enabledPostgreSQLdatabase.
osm2pgsql--usernamepostgres--databasegis--port5432--hstorename.osm
² Key-valuestorewithinPostgres² Eachcolumnhasacolumnnamedtagsusingthehstoreengine
https://wiki.openstreetmap.org/wiki/Osm2pgsql
Spatial DBMS: PostGIS
![Page 42: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/42.jpg)
42SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
² POSTGISisabletoimportreal-worlddatathroughcommand-linetools(built-ininPOSTGISorfromexternalpackages).
Osm2pgsqlàcommand-linebasedprogramconvertingOpenStreetMapdatatoapostGIS-enabledPostgreSQLdatabase.
selectcount(*)FROMplanet_osm_pointwhere((tags->'man_made')='tower');count-------447
https://wiki.openstreetmap.org/wiki/Osm2pgsql
Spatial DBMS: PostGIS
![Page 43: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/43.jpg)
43SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
² POSTGISisabletooutputgeometriesandgeographiesinseveralstandardformats.
https://wiki.openstreetmap.org/wiki/Osm2pgsql
textST_AsKML(geometrygeom,integermaxdecimaldigits=15);textST_AsKML(geographygeog,integermaxdecimaldigits=15);textST_AsGeoJSON(geometrygeom,integermaxdecimaldigits=15,integeroptions=0);textST_AsGeoJSON(geographygeog,integermaxdecimaldigits=15,integeroptions=0);
textST_AsKML(geometrygeom,integermaxdecimaldigits=15);textST_AsKML(geographygeog,integermaxdecimaldigits=15);textST_AsGeoJSON(geometrygeom,integermaxdecimaldigits=15,integeroptions=0);textST_AsGeoJSON(geographygeog,integermaxdecimaldigits=15,integeroptions=0);
SELECTST_AsGeoJSON('LINESTRING(123,456)');st_asgeojson----------------------------------------------------------------------------------{"type":"LineString","coordinates":[[1,2,3],[4,5,6]]}
Spatial DBMS: PostGIS
![Page 44: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/44.jpg)
44SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
POSTGIScomponentsinthistutorial² SpatialDataTypes² Creatingnewgeometry/geographicdata² Geometryrelationshipsandgeo-queries² Importingandexportingspatialdata² POSTGISviewingtools² Spatialindexing
Spatial DBMS: PostGIS
![Page 45: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/45.jpg)
45SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
² POSTGIScanbecoupledwithexternaltoolsallowinguserstoviewandanalyzespatialdatacontainedintheDB(e.g.outputofqueries).² QGIS² ArcGIS² OpenJUMP² Udig² GVSIG
Spatial DBMS: PostGIS
![Page 46: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/46.jpg)
46SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
² QGIS(https://www.qgis.org/it/site/)FreeandOpen-sourceGeographicInformationSystems
Spatial DBMS: PostGIS
![Page 47: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/47.jpg)
47SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
POSTGIScomponentsinthistutorial² SpatialDataTypes² Creatingnewgeometry/geographicdata² Geometryrelationshipsandgeo-queries² Importingandexportingspatialdata² POSTGISviewingtools² Spatialindexing
Spatial DBMS: PostGIS
![Page 48: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/48.jpg)
48SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
² Indexingspeedsupsearchingbyorganizingthedataintoasearchtreewhichcanbequickly.
² Withoutindexing,anysearchforafeaturewouldrequirea“sequentialscan”ofeveryrecordinthedatabase.
https://webdocs.cs.ualberta.ca/~holte/T26/b-trees.html
B-treeinRelationalDatabases
CREATEINDEXindex_nameONtable_name(column1_name,
column2_name);
Spatial DBMS: PostGIS
![Page 49: Location-aware Computing · 2019. 10. 17. · SPATIAL DATABASE: MODELING AND IMPLEMENTATION WITH POSTGIS MARCO DI FELICE PostGIS in Action, Second Edition Regina O. Obe and Leo S](https://reader036.vdocuments.site/reader036/viewer/2022071018/5fd1a58f3c83b261c66d8bce/html5/thumbnails/49.jpg)
49SPATIALDATABASE:MODELINGANDIMPLEMENTATIONWITHPOSTGIS
MARCODIFELICE
R-treedatastructure
² Objectsarerepresentedthroughtheirminimumboundingrectangle.
² Aparentnodefullycontainstheboundingboxesofitschildnodes.
² Leafnodesdescribeasingleobject.
ENHANCEDSEARCHOPERATIONS² InputàSearchrectangle² Usetheboundingboxestodecidewhetheror
nottosearchinsideasubtree.
Spatial DBMS: PostGIS