"The explosive growth of the GeoWeb and geographic information has made GIS powerful media for the general public to communicate, but perhaps more importantly, GIS have also become media for constructive dialogs and interactions about social issues." - Sui & Goodchild
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
ogo11:gql:exo1 [2013/04/25 09:01] oertz |
ogo11:gql:exo1 [2014/05/15 14:04] oertz [GQL :: EXO1] |
||
---|---|---|---|
Line 8: | Line 8: | ||
Alimentation avec quelques géométries //en dur// : | Alimentation avec quelques géométries //en dur// : | ||
<code> | <code> | ||
- | INSERT INTO test VALUES ( 3, 'batiment 1', GeometryFromText( 'POLYGON((10 10,40 20,35 8,12 4,10 10))', -1 ) ); | + | INSERT INTO test VALUES ( 3, 'batiment 1', ST_GeometryFromText( 'POLYGON((10 10,40 20,35 8,12 4,10 10))', -1 ) ); |
- | INSERT INTO test VALUES ( 4, 'batiment 2', GeometryFromText( 'POLYGON((10 40,20 30,30 40,40 35,50 60,35 80,20 60,10 40))', -1 ) ); | + | INSERT INTO test VALUES ( 4, 'batiment 2', ST_GeometryFromText( 'POLYGON((10 40,20 30,30 40,40 35,50 60,35 80,20 60,10 40))', -1 ) ); |
- | INSERT INTO test VALUES ( 5, 'batiment 3', GeometryFromText( 'POLYGON((10 95,20 95,20 135,10 135,10 95))', -1 ) ); | + | INSERT INTO test VALUES ( 5, 'batiment 3', ST_GeometryFromText( 'POLYGON((10 95,20 95,20 135,10 135,10 95))', -1 ) ); |
- | INSERT INTO test VALUES ( 1, 'pieton 1', GeometryFromText( 'POINT(10 70)', -1 ) ); | + | INSERT INTO test VALUES ( 1, 'pieton 1', ST_GeometryFromText( 'POINT(10 70)', -1 ) ); |
- | INSERT INTO test VALUES ( 2, 'pieton 2', GeometryFromText( 'POINT(30 30)', -1 ) ); | + | INSERT INTO test VALUES ( 2, 'pieton 2', ST_GeometryFromText( 'POINT(30 30)', -1 ) ); |
- | INSERT INTO test VALUES ( 6, 'pieton 3', GeometryFromText( 'POINT(35 70)', -1 ) ); | + | INSERT INTO test VALUES ( 6, 'pieton 3', ST_GeometryFromText( 'POINT(35 70)', -1 ) ); |
- | INSERT INTO test VALUES ( 7, 'pieton 4', GeometryFromText( 'POINT(35 60)', -1 ) ); | + | INSERT INTO test VALUES ( 7, 'pieton 4', ST_GeometryFromText( 'POINT(35 60)', -1 ) ); |
- | INSERT INTO test VALUES ( 8, 'bordure 1 route', GeometryFromText( 'LINESTRING(1 85,50 85)', -1 ) ); | + | INSERT INTO test VALUES ( 8, 'bordure 1 route', ST_GeometryFromText( 'LINESTRING(1 85,50 85)', -1 ) ); |
- | INSERT INTO test VALUES ( 9, 'bordure 2 route', GeometryFromText( 'LINESTRING(1 92,50 92)', -1 ) ); | + | INSERT INTO test VALUES ( 9, 'bordure 2 route', ST_GeometryFromText( 'LINESTRING(1 92,50 92)', -1 ) ); |
</code> | </code> | ||
Line 27: | Line 27: | ||
d'où la syntaxe "lisible" que nous utilisons ci-dessus : | d'où la syntaxe "lisible" que nous utilisons ci-dessus : | ||
<code> | <code> | ||
- | SELECT GeometryFromText('POLYGON((10 10,40 20,35 8,12 4,10 10))', -1 ); | + | SELECT ST_GeometryFromText('POLYGON((10 10,40 20,35 8,12 4,10 10))', -1 ); |
</code> | </code> | ||
===== Premiers pas en GQL ===== | ===== Premiers pas en GQL ===== | ||
Line 51: | Line 51: | ||
</code> | </code> | ||
* **4. Quel est l'objet géométrique le plus proche du pieton 2 ?** -> ST_Distance | * **4. Quel est l'objet géométrique le plus proche du pieton 2 ?** -> ST_Distance | ||
- | <code>...</code> | + | <code> |
+ | SELECT t1.genre FROM test t1, test t2 WHERE | ||
+ | t2.genre LIKE 'pieton 2' | ||
+ | AND | ||
+ | ST_Distance(t1.geom,t2.geom) = | ||
+ | ( | ||
+ | SELECT min(ST_Distance(t1.geom, t2.geom)) FROM test t1, test t2 | ||
+ | WHERE t1.genre LIKE 'pieton 2' AND t2.genre <> 'pieton 2' | ||
+ | ) | ||
+ | </code> | ||
//(source: [[http://www.davidgis.fr|Jean David Techer]])// | //(source: [[http://www.davidgis.fr|Jean David Techer]])// |