Well-Known Text

linguaggio creato per rappresentare oggetti di geometria vettoriale su una mappa

Il Well-known text (WKT) è un linguaggio creato per rappresentare:

  • oggetti di geometria vettoriale su una mappa,
  • un sistema di coordinate di riferimento (una proiezione),
  • una trasformazione tra sistemi di coordinate.

Un equivalente binario, il Well-Known Binary (WKB) è generalmente usato per salvare le stesse informazioni in un database. Il formato è mantenuto dall'Open Geospatial Consortium (OGC).

Oggetti geometrici modifica

Gli oggetti geometrici che possono essere rappresentati da WKT sono Punti, Linee, Poligoni, TIN e Poliedri. Sono altresì possibili le multi-geometrie, che rappresentano due o più geometrie (della stessa dimensione) in un solo oggetto come collezione di geometrie.

Le coordinate per le geometrie WKT possono essere 2D (x,y), 3D (x,y,z), 3D (x,y,m) dove il valore m è parte di un sistema di riferimento lineare (vedi GRASS, Introducing the Linear Reference System in GRASS), 4D con un valore m (x,y,z,m).

Le geometrie WKT sono definite dalle specifiche OGC e vengono usate in applicazioni che implementano queste specifiche. Per esempio PostGIS contiene funzioni che convertono da e a WKT.

Alcune stringhe geometriche WKT di esempio:

 POINT(6 10)
 LINESTRING(3 4,10 50,20 25)
 POLYGON((1 1,5 1,5 5,1 5,1 1),(2 2, 3 2, 3 3, 2 3,2 2))
 MULTIPOINT((3.5 5.6),(4.8 10.5))
 MULTILINESTRING((3 4,10 50,20 25),(-5 -8,-10 -8,-15 -4))
 MULTIPOLYGON(((1 1,5 1,5 5,1 5,1 1),(2 2, 3 2, 3 3, 2 3,2 2)),((3 3,6 2,6 4,3 3)))
 GEOMETRYCOLLECTION(POINT(4 6),LINESTRING((4 6,7 10)))
 POINT ZM (1 1 5 60)
 POINT M (1 1 80)

Sistema di riferimento spaziale modifica

Una stringa WKT per un riferimento spaziale descrive un datum, un geoide, un sistema di coordinate e una proiezione.

Well-known text viene usato da molti programmi GIS. ESRI utilizza WKT per definire il sistema di riferimento nei files *.prj che fanno parte del set di uno shapefile.

Un esempio di riferimento spaziale:

COMPD_CS["OSGB36 / British National Grid + ODN",
     PROJCS["OSGB 1936 / British National Grid",
         GEOGCS["OSGB 1936",
             DATUM["OSGB_1936",
                 SPHEROID["Airy 1830",6377563.396,299.3249646,AUTHORITY["EPSG","7001"]],
                 TOWGS84[375,-111,431,0,0,0,0],
                 AUTHORITY["EPSG","6277"]],
             PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],
             UNIT["DMSH",0.0174532925199433,AUTHORITY["EPSG","9108"]],
             AXIS["Lat",NORTH],
             AXIS["Long",EAST],
             AUTHORITY["EPSG","4277"]],
         PROJECTION["Transverse_Mercator"],
         PARAMETER["latitude_of_origin",49],
         PARAMETER["central_meridian",-2],
         PARAMETER["scale_factor",0.999601272],
         PARAMETER["false_easting",400000],
         PARAMETER["false_northing",-100000],
         UNIT["metre",1,AUTHORITY["EPSG","9001"]],
         AXIS["E",EAST],
         AXIS["N",NORTH],
         AUTHORITY["EPSG","27700"]],
     VERT_CS["Newlyn",
         VERT_DATUM["Ordnance Datum Newlyn",2005,AUTHORITY["EPSG","5101"]],
         UNIT["metre",1,AUTHORITY["EPSG","9001"]],
         AXIS["Up",UP],
         AUTHORITY["EPSG","5701"]],
     AUTHORITY["EPSG","7405"]]

Trasformazioni modifica

Una particolare forma di WKT descrive il metodo di trasformazione e i parametri usati per convertire coordinate tra due differenti sistemi di riferimento.

Seguono due esempi di trasformazione

PARAM_MT["Mercator_2SP", 
     PARAMETER["semi_major",6370997.0], 
     PARAMETER["semi_minor",6370997.0], 
     PARAMETER["central_meridian",180.0], 
     PARAMETER["false_easting",-500000.0], 
     PARAMETER["false_northing",-1000000.0], 
     PARAMETER["standard_parallel_1",60.0]]

 PARAM_MT["Affine",
     PARAMETER["num_row",3],
     PARAMETER["num_col",3],
     PARAMETER["elt_0_1",1],
     PARAMETER["elt_0_2",2],
     PARAMETER["elt_1_2",3]]

Voci correlate modifica

Collegamenti esterni modifica