The OGC standard about Simple Features describes LineString and LinearRing
A LineString is a Curve with linear interpolation between Points. Each
consecutive pair of Points defines a Line segment.
A LinearRing is a LineString that is both closed and simple
Polygons are made of LinearRings so it means that in a polygon all the segments are straight lines.
Curvepolygon is a geometry that allows also curved segments (arcs). Geometry that is combined from several Curvepolygons is called MultiSurface.
An example about the difference using the PostGIS function https://postgis.net/docs/ST_CurveToLine.html
Source geometry is a curvepolygon that could be an element in a multisurface:
'CURVEPOLYGON(CIRCULARSTRING(1 3, 3 5, 4 7, 7 3, 1 3))';
Apply the PosGIS function ST_CurveToLine:
select ST_AsText(
ST_CurveToLine(ST_GeomFromText(
'CURVEPOLYGON(CIRCULARSTRING(1 3, 3 5, 4 7, 7 3, 1 3))')));
Resulting output:
"POLYGON((1 3,1.313519436051493 3.228634069139761,1.615442682167029 3.472376408113742,1.905042378801364 3.730639820278051,2.18162085491937 4.00280212645158,2.444511808746663 4.288207663800152,2.693081912948945 4.586168865385723,2.926732340373023 4.895967916575354,3.144900206673873 5.21685848431954,3.347059926352328 5.548067515133887,3.532724478936582 5.888797097452681,3.701446582257166 6.238226383867729,3.852819769988868 6.595513568621666,3.986479370863718 6.959797915591758,4 7,4.153336482273182 6.996235800641164,4.306303563529878 6.984952270850615,4.458532732673006 6.966176593639941,4.609657256300401 6.939954001260095,4.7593130621977 6.90634766623295,4.907139616420195 6.865438549163153,5.052780791850688 6.81732520369694,5.195885726140906 6.762123539097772,5.336109666969632 6.69996654101076,5.473114802581243 6.631003951088609,5.606571075603817 6.55540190625085,5.736156978186257 6.473342538445454,5.861560326538854 6.385023535877015,5.982479013011392 6.290657666758554,6.098621733896932 6.190472266734247,6.209708691207961 6.084708691207961,6.315472266734247 5.973621733896932,6.415657666758554 5.857479013011392,6.510023535877016 5.736560326538854,6.598342538445454 5.611156978186257,6.68040190625085 5.481571075603817,6.756003951088609 5.348114802581243,6.82496654101076 5.211109666969632,6.887123539097772 5.070885726140905,6.94232520369694 4.927780791850688,6.990438549163153 4.782139616420195,7.03134766623295 4.6343130621977,7.064954001260095 4.484657256300401,7.091176593639941 4.333532732673005,7.109952270850616 4.181303563529878,7.121235800641164 4.028336482273182,7.125 3.875,7.121235800641164 3.721663517726819,7.109952270850616 3.568696436470123,7.091176593639941 3.416467267326995,7.064954001260095 3.265342743699599,7.03134766623295 3.1156869378023,6.990438549163153 2.967860383579805,6.94232520369694 2.822219208149312,6.887123539097772 2.679114273859095,6.824966541010761 2.538890333030369,6.756003951088609 2.401885197418757,6.68040190625085 2.268428924396182,6.598342538445454 2.138843021813743,6.510023535877016 2.013439673461146,6.415657666758554 1.892520986988608,6.315472266734247 1.776378266103067,6.209708691207961 1.665291308792039,6.098621733896933 1.559527733265753,5.982479013011392 1.459342333241447,5.861560326538854 1.364976464122985,5.736156978186257 1.276657461554546,5.606571075603817 1.19459809374915,5.473114802581243 1.118996048911391,5.336109666969631 1.05003345898924,5.195885726140906 0.987876460902229,5.052780791850688 0.93267479630306,4.907139616420195 0.884561450836847,4.7593130621977 0.84365233376705,4.609657256300402 0.810045998739905,4.458532732673006 0.783823406360059,4.306303563529878 0.765047729149385,4.153336482273181 0.753764199358836,4 0.75,3.84666351772682 0.753764199358836,3.693696436470123 0.765047729149384,3.541467267326995 0.783823406360059,3.390342743699599 0.810045998739905,3.2406869378023 0.84365233376705,3.092860383579806 0.884561450836847,2.947219208149312 0.93267479630306,2.804114273859095 0.987876460902229,2.663890333030369 1.050033458989239,2.526885197418757 1.118996048911391,2.393428924396182 1.19459809374915,2.263843021813744 1.276657461554545,2.138439673461146 1.364976464122984,2.017520986988608 1.459342333241446,1.901378266103067 1.559527733265753,1.790291308792039 1.665291308792039,1.684527733265754 1.776378266103067,1.584342333241448 1.892520986988607,1.489976464122984 2.013439673461146,1.401657461554546 2.138843021813743,1.31959809374915 2.268428924396182,1.243996048911391 2.401885197418757,1.17503345898924 2.538890333030367,1.11287646090223 2.679114273859093,1.05767479630306 2.822219208149313,1.009561450836848 2.967860383579805,1 3))"
MultiPolygon
can be found here : gis.stackexchange.com/questions/225368/…. Information aboutMultiSurface
can be found for instance here : datypic.com/sc/niem21/e-geo_MultiSurface.html. Briefly saying: Italy is yourMultiPolygon
, but as soon as you adda Surface
e.g. a TIN to it using theST_MultiSurface()
, it becomes aMultiSurface
. So, basicallyMultiSurface
extendsMultiPolygon
,