Artifact
680b5f8ea26cfdade55a6f7b3a693aebaf735957:
Wiki page
[Supporting GeoJSON] by
sandro
2019-01-21 12:48:13.
0000: 44 20 32 30 31 39 2d 30 31 2d 32 31 54 31 32 3a D 2019-01-21T12:
0010: 34 38 3a 31 33 2e 33 34 31 0a 4c 20 53 75 70 70 48:13.341.L Supp
0020: 6f 72 74 69 6e 67 5c 73 47 65 6f 4a 53 4f 4e 0a orting\sGeoJSON.
0030: 50 20 63 36 30 36 38 35 63 34 65 38 36 64 30 39 P c60685c4e86d09
0040: 39 34 62 36 30 36 36 65 38 35 65 34 38 31 61 66 94b6066e85e481af
0050: 64 31 64 32 32 61 33 65 38 64 0a 55 20 73 61 6e d1d22a3e8d.U san
0060: 64 72 6f 0a 57 20 39 36 37 35 0a 3c 61 20 68 72 dro.W 9675.<a hr
0070: 65 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e ef="https://www.
0080: 67 61 69 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73 gaia-gis.it/foss
0090: 69 6c 2f 6c 69 62 73 70 61 74 69 61 6c 69 74 65 il/libspatialite
00a0: 2f 77 69 6b 69 3f 6e 61 6d 65 3d 34 2e 33 2e 30 /wiki?name=4.3.0
00b0: 2d 64 6f 63 22 3e 62 61 63 6b 3c 2f 61 3e 3c 68 -doc">back</a><h
00c0: 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 49 6e 74 72 r><br>..<h1>Intr
00d0: 6f 64 75 63 74 69 6f 6e 3c 2f 68 31 3e 0d 0a 3c oduction</h1>..<
00e0: 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f a href="https://
00f0: 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 en.wikipedia.org
0100: 2f 77 69 6b 69 2f 47 65 6f 4a 53 4f 4e 22 3e 47 /wiki/GeoJSON">G
0110: 65 6f 4a 53 4f 4e 3c 2f 61 3e 20 69 73 20 61 6e eoJSON</a> is an
0120: 20 6f 70 65 6e 20 73 74 61 6e 64 61 72 64 20 64 open standard d
0130: 61 74 61 20 66 6f 72 6d 61 74 20 62 61 73 65 64 ata format based
0140: 20 6f 6e 20 3c 61 20 68 72 65 66 3d 22 68 74 74 on <a href="htt
0150: 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 ps://en.wikipedi
0160: 61 2e 6f 72 67 2f 77 69 6b 69 2f 4a 53 4f 4e 22 a.org/wiki/JSON"
0170: 3e 4a 53 4f 4e 3c 2f 61 3e 20 28 3c 62 3e 4a 61 >JSON</a> (<b>Ja
0180: 76 61 53 63 72 69 70 74 20 4f 62 6a 65 63 74 20 vaScript Object
0190: 4e 6f 74 61 74 69 6f 6e 3c 2f 62 3e 29 2c 20 61 Notation</b>), a
01a0: 20 76 65 72 79 20 70 6f 70 75 6c 61 72 20 64 61 very popular da
01b0: 74 61 20 66 6f 72 6d 61 74 20 77 69 64 65 6c 79 ta format widely
01c0: 20 61 64 6f 70 74 65 64 20 62 79 20 6d 61 6e 79 adopted by many
01d0: 20 77 65 62 2d 61 70 70 73 20 61 73 20 61 20 72 web-apps as a r
01e0: 65 70 6c 61 63 65 6d 65 6e 74 20 66 6f 72 20 58 eplacement for X
01f0: 4d 4c 2e 3c 62 72 3e 0d 0a 54 68 65 20 73 70 65 ML.<br>..The spe
0200: 63 69 66 69 63 20 73 63 6f 70 65 20 6f 66 20 47 cific scope of G
0210: 65 6f 4a 53 4f 4e 20 69 73 20 65 78 74 65 6e 64 eoJSON is extend
0220: 69 6e 67 20 74 68 65 20 62 61 73 69 63 20 63 61 ing the basic ca
0230: 70 61 62 69 6c 69 74 69 65 73 20 6f 66 20 4a 53 pabilities of JS
0240: 4f 4e 20 73 6f 20 74 6f 20 61 64 65 71 75 61 74 ON so to adequat
0250: 65 6c 79 20 73 75 70 70 6f 72 74 20 3c 62 3e 67 ely support <b>g
0260: 65 6f 67 72 61 70 68 69 63 20 66 65 61 74 75 72 eographic featur
0270: 65 73 3c 2f 62 3e 20 69 6e 63 6c 75 64 69 6e 67 es</b> including
0280: 20 62 6f 74 68 20 3c 62 3e 47 65 6f 6d 65 74 72 both <b>Geometr
0290: 69 65 73 3c 2f 62 3e 20 61 6e 64 0d 0a 3c 62 3e ies</b> and..<b>
02a0: 6e 6f 6e 2d 73 70 61 74 69 61 6c 20 61 74 74 72 non-spatial attr
02b0: 69 62 75 74 65 73 3c 2f 62 3e 2e 3c 62 72 3e 3c ibutes</b>.<br><
02c0: 62 72 3e 0d 0a 47 65 6f 4a 53 4f 4e 20 65 78 69 br>..GeoJSON exi
02d0: 73 74 73 20 73 69 6e 63 65 20 6d 61 6e 79 20 79 sts since many y
02e0: 65 61 72 73 20 62 65 69 6e 67 20 62 61 73 65 64 ears being based
02f0: 20 6f 6e 20 61 20 6c 6f 6f 73 65 20 61 6e 64 20 on a loose and
0300: 69 6e 66 6f 72 6d 61 6c 20 64 61 74 61 20 73 70 informal data sp
0310: 65 63 69 66 69 63 61 74 69 6f 6e 2e 3c 62 72 3e ecification.<br>
0320: 0d 0a 4f 6e 6c 79 20 76 65 72 79 20 72 65 63 65 ..Only very rece
0330: 6e 74 6c 79 20 28 32 30 31 36 29 20 69 74 20 68 ntly (2016) it h
0340: 61 73 20 66 69 6e 61 6c 6c 79 20 62 65 63 6f 6d as finally becom
0350: 65 20 61 20 72 65 73 70 65 63 74 61 62 6c 65 20 e a respectable
0360: 73 74 61 6e 64 61 72 64 20 66 6f 72 6d 61 74 20 standard format
0370: 62 61 73 65 64 20 6f 6e 20 61 20 66 6f 72 6d 61 based on a forma
0380: 6c 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 2c l specification,
0390: 20 74 68 61 74 20 69 73 20 3c 61 20 68 72 65 66 that is <a href
03a0: 3d 22 68 74 74 70 73 3a 2f 2f 74 6f 6f 6c 73 2e ="https://tools.
03b0: 69 65 74 66 2e 6f 72 67 2f 68 74 6d 6c 2f 72 66 ietf.org/html/rf
03c0: 63 37 39 34 36 22 3e 52 46 43 20 37 39 34 36 3c c7946">RFC 7946<
03d0: 2f 61 3e 20 72 65 6c 65 61 73 65 64 20 62 79 20 /a> released by
03e0: 3c 62 3e 49 45 54 46 3c 2f 62 3e 20 28 3c 69 3e <b>IETF</b> (<i>
03f0: 49 6e 74 65 72 6e 65 74 20 45 6e 67 69 6e 65 65 Internet Enginee
0400: 72 69 6e 67 20 54 61 73 6b 20 46 6f 72 63 65 3c ring Task Force<
0410: 2f 69 3e 29 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f /i>).<br>..<u>No
0420: 74 65 3c 2f 75 3e 3a 20 52 46 43 20 37 39 34 36 te</u>: RFC 7946
0430: 20 69 6e 74 72 6f 64 75 63 65 64 20 73 65 76 65 introduced seve
0440: 72 61 6c 20 72 65 6c 65 76 61 6e 74 20 72 65 71 ral relevant req
0450: 75 69 72 65 6d 65 6e 74 73 20 61 6e 64 20 72 65 uirements and re
0460: 73 74 72 69 63 74 69 6f 6e 73 2c 20 73 6f 20 74 strictions, so t
0470: 68 61 74 20 3c 62 3e 70 72 65 2d 52 46 43 3c 2f hat <b>pre-RFC</
0480: 62 3e 20 61 6e 64 20 3c 62 3e 70 6f 73 74 2d 52 b> and <b>post-R
0490: 46 43 3c 2f 62 3e 20 47 65 6f 4a 53 4f 4e 20 66 FC</b> GeoJSON f
04a0: 69 6c 65 73 20 61 72 65 20 6e 6f 74 20 6d 75 74 iles are not mut
04b0: 75 61 6c 6c 79 20 69 6e 74 65 72 6f 70 65 72 61 ually interopera
04c0: 62 6c 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 41 20 ble.<br><br>..A
04d0: 76 65 72 79 20 72 65 6d 61 72 6b 61 62 6c 65 20 very remarkable
04e0: 66 65 61 74 75 72 65 20 6f 66 20 52 46 43 20 37 feature of RFC 7
04f0: 39 34 36 20 69 73 20 74 68 61 74 20 69 74 27 73 946 is that it's
0500: 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65 63 6c explicitly decl
0510: 61 72 65 64 20 74 6f 20 62 65 20 61 20 3c 62 3e ared to be a <b>
0520: 66 69 78 65 64 20 61 6e 64 20 69 6d 6d 75 74 61 fixed and immuta
0530: 62 6c 65 3c 2f 62 3e 20 73 70 65 63 69 66 69 63 ble</b> specific
0540: 61 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 54 68 65 72 ation.<br>..Ther
0550: 65 20 77 69 6c 6c 20 6e 65 76 65 72 20 62 65 20 e will never be
0560: 75 70 64 61 74 65 64 20 76 65 72 73 69 6f 6e 73 updated versions
0570: 20 6f 66 20 47 65 6f 4a 53 4f 4e 3b 20 65 76 65 of GeoJSON; eve
0580: 6e 20 74 68 65 20 73 6c 69 67 68 74 65 72 20 63 n the slighter c
0590: 68 61 6e 67 65 20 77 69 6c 6c 20 69 6e 65 78 6f hange will inexo
05a0: 72 61 62 6c 79 20 72 65 71 75 69 72 65 20 63 68 rably require ch
05b0: 61 6e 67 69 6e 67 20 74 68 65 20 6e 61 6d 65 20 anging the name
05c0: 66 72 6f 6d 20 47 65 6f 4a 53 4f 4e 20 74 6f 20 from GeoJSON to
05d0: 73 6f 6d 65 20 65 6c 73 65 2e 3c 62 72 3e 0d 0a some else.<br>..
05e0: 53 75 63 68 20 61 20 72 65 73 74 72 69 6e 63 74 Such a restrinct
05f0: 69 6f 6e 20 69 73 20 6f 62 76 69 6f 73 6c 79 20 ion is obviosly
0600: 69 6e 74 65 6e 64 65 64 20 74 6f 20 65 6e 73 75 intended to ensu
0610: 72 65 20 61 20 76 65 72 79 20 73 74 72 6f 6e 67 re a very strong
0620: 20 73 74 61 62 69 6c 69 74 79 20 64 75 72 69 6e stability durin
0630: 67 20 74 68 65 20 74 69 6d 65 2e 3c 62 72 3e 3c g the time.<br><
0640: 62 72 3e 0d 0a 54 68 65 20 6d 6f 73 74 20 6f 62 br>..The most ob
0650: 76 69 6f 75 73 20 63 6f 6d 70 65 74 69 74 6f 72 vious competitor
0660: 73 20 6f 66 20 47 65 6f 4a 53 4f 4e 20 61 72 65 s of GeoJSON are
0670: 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 68 74 the <a href="ht
0680: 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 tps://en.wikiped
0690: 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 53 68 61 70 ia.org/wiki/Shap
06a0: 65 66 69 6c 65 22 3e 45 53 52 49 20 53 68 61 70 efile">ESRI Shap
06b0: 65 66 69 6c 65 3c 2f 61 3e 20 61 6e 64 20 3c 61 efile</a> and <a
06c0: 20 68 72 65 66 3d 22 0d 0a 68 74 74 70 73 3a 2f href="..https:/
06d0: 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 /en.wikipedia.or
06e0: 67 2f 77 69 6b 69 2f 47 65 6f 67 72 61 70 68 79 g/wiki/Geography
06f0: 5f 4d 61 72 6b 75 70 5f 4c 61 6e 67 75 61 67 65 _Markup_Language
0700: 22 3e 47 4d 4c 3c 2f 61 3e 3c 62 72 3e 0d 0a 54 ">GML</a><br>..T
0710: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 68 61 he following cha
0720: 72 74 20 77 69 6c 6c 20 71 75 69 63 6b 6c 79 20 rt will quickly
0730: 72 65 73 75 6d 65 20 74 68 65 20 6d 61 69 6e 20 resume the main
0740: 64 69 66 66 65 72 65 6e 63 65 73 20 62 65 74 77 differences betw
0750: 65 65 6e 20 74 68 65 6d 2e 3c 62 72 3e 3c 62 72 een them.<br><br
0760: 3e 0d 0a 3c 74 61 62 6c 65 20 63 65 6c 6c 73 70 >..<table cellsp
0770: 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 acing="4" cellpa
0780: 64 64 69 6e 67 3d 22 38 22 20 62 67 63 6f 6c 6f dding="8" bgcolo
0790: 72 3d 22 23 63 30 65 65 63 30 22 20 62 6f 72 64 r="#c0eec0" bord
07a0: 65 72 3d 22 31 22 3e 0d 0a 3c 74 72 3e 3c 74 68 er="1">..<tr><th
07b0: 3e 43 61 74 65 67 6f 72 79 3c 2f 74 68 3e 3c 74 >Category</th><t
07c0: 68 3e 53 68 61 70 65 66 69 6c 65 3c 2f 74 68 3e h>Shapefile</th>
07d0: 3c 74 68 3e 47 4d 4c 3c 2f 74 68 3e 3c 74 68 3e <th>GML</th><th>
07e0: 47 65 6f 4a 53 4f 4e 3c 2f 74 68 3e 3c 74 68 3e GeoJSON</th><th>
07f0: 52 65 6d 61 72 6b 73 3c 2f 74 68 3e 3c 2f 74 72 Remarks</th></tr
0800: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 76 61 6c >..<tr>..<td val
0810: 69 67 6e 3d 22 6d 69 64 64 6c 65 22 3e 46 69 6c ign="middle">Fil
0820: 65 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 3c 2f e organization</
0830: 74 64 3e 0d 0a 3c 74 64 20 76 61 6c 69 67 6e 3d td>..<td valign=
0840: 22 6d 69 64 64 6c 65 22 3e 41 74 20 6c 65 61 73 "middle">At leas
0850: 74 20 74 68 72 65 65 20 69 6e 64 65 70 65 6e 64 t three independ
0860: 65 6e 74 20 66 69 6c 65 73 20 73 68 61 72 69 6e ent files sharin
0870: 67 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 20 g the same name
0880: 61 6e 64 20 72 65 73 70 65 63 74 69 76 65 6c 79 and respectively
0890: 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 73 identified by s
08a0: 75 66 66 69 78 65 73 20 3c 62 3e 2e 73 68 70 3c uffixes <b>.shp<
08b0: 2f 62 3e 2c 20 3c 62 3e 2e 73 68 78 3c 2f 62 3e /b>, <b>.shx</b>
08c0: 20 61 6e 64 20 3c 62 3e 2e 64 62 66 3c 2f 62 3e and <b>.dbf</b>
08d0: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 42 6f 74 68 ..<ul>..<li>Both
08e0: 20 74 68 65 20 3c 62 3e 2e 73 68 70 3c 2f 62 3e the <b>.shp</b>
08f0: 20 61 6e 64 20 3c 62 3e 2e 73 68 78 3c 2f 62 3e and <b>.shx</b>
0900: 20 6d 65 6d 62 65 72 73 20 61 72 65 20 3c 62 3e members are <b>
0910: 62 69 6e 61 72 79 20 66 69 6c 65 73 3c 2f 62 3e binary files</b>
0920: 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 73 74 6f intended to sto
0930: 72 65 20 47 65 6f 6d 65 74 72 69 65 73 20 61 6e re Geometries an
0940: 64 20 73 68 6f 75 6c 64 20 62 65 20 65 6e 63 6f d should be enco
0950: 64 65 64 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 ded accordingly
0960: 74 6f 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 to <a href="http
0970: 73 3a 2f 2f 77 77 77 2e 65 73 72 69 2e 63 6f 6d s://www.esri.com
0980: 2f 6c 69 62 72 61 72 79 2f 77 68 69 74 65 70 61 /library/whitepa
0990: 70 65 72 73 2f 70 64 66 73 2f 73 68 61 70 65 66 pers/pdfs/shapef
09a0: 69 6c 65 2e 70 64 66 22 3e 45 53 52 49 20 6f 70 ile.pdf">ESRI op
09b0: 65 6e 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e en specification
09c0: 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 </a></li>..<li>T
09d0: 68 65 20 3c 62 3e 2e 64 62 66 3c 2f 62 3e 20 6d he <b>.dbf</b> m
09e0: 65 6d 62 65 72 20 69 73 20 69 6e 74 65 6e 64 65 ember is intende
09f0: 64 20 74 6f 20 73 74 6f 72 65 20 6e 6f 6e 2d 73 d to store non-s
0a00: 70 61 74 69 61 6c 20 61 74 74 72 69 62 75 74 65 patial attribute
0a10: 73 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 74 6f 6f s.<br>..This too
0a20: 20 69 73 20 61 20 3c 62 3e 62 69 6e 61 72 79 20 is a <b>binary
0a30: 66 69 6c 65 3c 2f 62 3e 20 65 78 70 65 63 74 65 file</b> expecte
0a40: 64 20 74 6f 20 62 65 20 65 6e 63 6f 64 65 64 20 d to be encoded
0a50: 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 3c accordingly to <
0a60: 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f a href="https://
0a70: 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 en.wikipedia.org
0a80: 2f 77 69 6b 69 2f 44 42 61 73 65 22 3e 41 73 68 /wiki/DBase">Ash
0a90: 74 6f 6e 2d 54 61 74 65 20 64 42 61 73 65 20 73 ton-Tate dBase s
0aa0: 70 65 63 69 66 69 63 61 74 69 6f 6e 3c 2f 61 3e pecification</a>
0ab0: 3b 20 75 6e 68 61 70 70 69 6c 79 20 74 68 69 73 ; unhappily this
0ac0: 20 76 65 72 79 20 6f 6c 64 20 73 70 65 63 69 66 very old specif
0ad0: 69 63 61 74 69 6f 6e 20 28 62 6f 72 6e 20 69 6e ication (born in
0ae0: 20 74 68 65 20 27 38 30 73 29 20 68 61 64 20 61 the '80s) had a
0af0: 20 73 61 76 61 67 65 20 70 72 6f 6c 69 66 65 72 savage prolifer
0b00: 61 74 69 6f 6e 20 6f 66 20 64 69 66 66 65 72 65 ation of differe
0b10: 6e 74 20 64 69 61 6c 65 63 74 73 20 28 3c 69 3e nt dialects (<i>
0b20: 43 6c 69 70 70 65 72 3c 2f 69 3e 2c 20 3c 69 3e Clipper</i>, <i>
0b30: 46 6f 78 50 72 6f 3c 2f 69 3e 29 20 62 65 63 6f FoxPro</i>) beco
0b40: 6d 69 6e 67 20 71 75 69 74 65 20 6d 65 73 73 79 ming quite messy
0b50: 20 61 6e 64 20 63 68 61 6f 74 69 63 2e 3c 2f 6c and chaotic.</l
0b60: 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74 64 3e i>..</ul>..</td>
0b70: 0d 0a 3c 74 64 3e 47 4d 4c 20 69 73 20 62 61 73 ..<td>GML is bas
0b80: 65 64 20 6f 6e 20 58 4d 4c 2c 20 61 6e 64 20 63 ed on XML, and c
0b90: 6f 6e 73 65 67 75 65 6e 74 6c 79 20 6a 75 73 74 onseguently just
0ba0: 20 72 65 71 75 69 72 65 73 20 61 20 73 69 6e 67 requires a sing
0bb0: 6c 65 2c 20 6d 6f 6e 6f 6c 69 74 68 69 63 20 3c le, monolithic <
0bc0: 62 3e 74 65 78 74 20 66 69 6c 65 2e 3c 2f 62 3e b>text file.</b>
0bd0: 3c 62 72 3e 0d 0a 41 73 20 61 6e 79 20 6f 74 68 <br>..As any oth
0be0: 65 72 20 58 4d 4c 20 66 69 6c 65 2c 20 47 4d 4c er XML file, GML
0bf0: 20 74 6f 6f 20 63 61 6e 20 62 65 20 73 74 72 6f too can be stro
0c00: 6e 67 6c 79 20 63 6f 6e 73 74 72 61 69 6e 65 64 ngly constrained
0c10: 20 74 6f 20 76 65 72 62 61 74 69 6d 20 72 65 73 to verbatim res
0c20: 70 65 63 74 20 61 20 66 6f 72 6d 61 6c 6c 79 20 pect a formally
0c30: 64 65 66 69 6e 65 64 20 3c 61 20 68 72 65 66 3d defined <a href=
0c40: 22 68 74 74 70 73 3a 2f 2f 69 74 2e 77 69 6b 69 "https://it.wiki
0c50: 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 58 pedia.org/wiki/X
0c60: 4d 4c 5f 53 63 68 65 6d 61 22 3e 58 4d 4c 20 53 ML_Schema">XML S
0c70: 63 68 65 6d 61 3c 2f 61 3e 0d 0a 3c 2f 74 64 3e chema</a>..</td>
0c80: 0d 0a 3c 74 64 20 76 61 6c 69 67 6e 3d 22 6d 69 ..<td valign="mi
0c90: 64 64 6c 65 22 3e 0d 0a 53 69 6e 67 6c 65 20 6d ddle">..Single m
0ca0: 6f 6e 6f 6c 69 74 68 69 63 20 3c 62 3e 74 65 78 onolithic <b>tex
0cb0: 74 20 66 69 6c 65 3c 2f 62 3e 2e 3c 62 72 3e 0d t file</b>.<br>.
0cc0: 0a 53 69 6d 69 6c 61 72 20 69 6e 20 74 68 69 73 .Similar in this
0cd0: 20 74 6f 20 58 4d 4c 2c 20 62 75 74 20 65 78 70 to XML, but exp
0ce0: 6c 69 63 69 74 6c 79 20 69 6e 74 65 6e 64 65 64 licitly intended
0cf0: 20 74 6f 20 62 65 20 62 79 20 77 61 79 20 73 69 to be by way si
0d00: 6d 70 6c 65 72 20 61 6e 64 20 6c 65 73 73 20 76 mpler and less v
0d10: 65 72 62 6f 73 65 2e 0d 0a 3c 2f 74 64 3e 0d 0a erbose...</td>..
0d20: 3c 74 64 3e 0d 0a 54 68 65 20 74 68 72 65 65 2d <td>..The three-
0d30: 66 69 6c 65 73 20 6c 61 79 6f 75 74 20 6f 66 20 files layout of
0d40: 53 68 61 70 65 66 69 6c 65 20 69 73 20 63 6c 65 Shapefile is cle
0d50: 61 72 6c 79 20 6f 62 73 6f 6c 65 74 65 2c 20 61 arly obsolete, a
0d60: 6e 64 20 69 74 20 66 72 65 71 75 65 6e 74 6c 79 nd it frequently
0d70: 20 70 6f 73 65 73 20 6d 61 6e 79 20 68 65 61 64 poses many head
0d80: 61 63 68 65 73 20 63 61 75 73 69 6e 67 20 75 6e aches causing un
0d90: 65 78 70 65 63 74 65 64 20 74 72 6f 75 62 6c 65 expected trouble
0da0: 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 s.<br><br>..The
0db0: 73 69 6e 67 6c 65 2d 66 69 6c 65 20 6c 61 79 6f single-file layo
0dc0: 75 74 20 61 64 6f 70 74 65 64 20 62 79 20 62 6f ut adopted by bo
0dd0: 74 68 20 47 4d 4c 20 61 6e 64 20 47 65 6f 4a 53 th GML and GeoJS
0de0: 4f 4e 20 69 73 20 63 6c 65 61 72 6c 79 20 62 65 ON is clearly be
0df0: 74 74 65 72 20 61 6e 64 20 73 61 66 65 72 2c 20 tter and safer,
0e00: 61 6e 64 20 62 65 69 6e 67 20 3c 62 3e 74 65 78 and being <b>tex
0e10: 74 20 66 69 6c 65 73 3c 2f 62 3e 20 74 68 65 79 t files</b> they
0e20: 20 63 61 6e 20 62 65 20 65 61 73 69 6c 79 20 69 can be easily i
0e30: 6e 73 70 65 63 74 65 64 20 61 6e 64 20 65 76 65 nspected and eve
0e40: 6e 74 75 61 6c 6c 79 20 64 65 62 75 67 67 65 64 ntually debugged
0e50: 20 6a 75 73 74 20 75 73 69 6e 67 20 61 6e 79 20 just using any
0e60: 67 65 6e 65 72 69 63 20 3c 62 3e 74 65 78 74 20 generic <b>text
0e70: 65 64 69 74 6f 72 3c 2f 62 3e 20 77 69 74 68 6f editor</b> witho
0e80: 75 74 20 72 65 71 75 69 72 69 6e 67 20 61 6e 79 ut requiring any
0e90: 20 73 70 65 63 69 66 69 63 20 74 6f 6f 6c 2e 0d specific tool..
0ea0: 0a 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c .</td>..</tr>..<
0eb0: 74 72 3e 0d 0a 3c 74 64 3e 53 75 70 70 6f 72 74 tr>..<td>Support
0ec0: 65 64 20 47 65 6f 6d 65 74 72 79 20 63 6c 61 73 ed Geometry clas
0ed0: 73 65 73 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a ses</td>..<td>..
0ee0: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 4e 75 6c 6c 20 53 <ul>..<li>Null S
0ef0: 68 61 70 65 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 50 hape</li>..<li>P
0f00: 6f 69 6e 74 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 4d oint</li>..<li>M
0f10: 75 6c 74 69 50 6f 69 6e 74 3c 2f 6c 69 3e 0d 0a ultiPoint</li>..
0f20: 3c 6c 69 3e 50 6f 6c 79 4c 69 6e 65 20 28 77 69 <li>PolyLine (wi
0f30: 74 68 6f 75 74 20 64 69 73 74 69 6e 67 75 69 73 thout distinguis
0f40: 68 69 6e 67 20 62 65 74 77 65 65 6e 20 73 69 6e hing between sin
0f50: 67 6c 65 2d 20 61 6e 64 20 6d 75 6c 74 69 2d 70 gle- and multi-p
0f60: 61 72 74 29 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 50 art)</li>..<li>P
0f70: 6f 6c 79 67 6f 6e 20 28 77 69 74 68 6f 75 74 20 olygon (without
0f80: 64 69 73 74 69 6e 67 75 69 73 68 69 6e 67 20 62 distinguishing b
0f90: 65 74 77 65 65 6e 20 73 69 6e 67 6c 65 2d 20 61 etween single- a
0fa0: 6e 64 20 6d 75 6c 74 69 2d 70 61 72 74 29 3c 2f nd multi-part)</
0fb0: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e li>..</ul>..<br>
0fc0: 0d 0a 3c 75 3e 4e 6f 74 65 73 3c 2f 75 3e 3a 20 ..<u>Notes</u>:
0fd0: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 41 6c 6c 20 ..<ul>..<li>All
0fe0: 47 65 6f 6d 65 74 72 69 65 73 20 69 6e 20 74 68 Geometries in th
0ff0: 65 20 73 61 6d 65 20 53 68 61 70 65 66 69 6c 65 e same Shapefile
1000: 20 6d 75 73 74 20 73 68 61 72 65 20 74 68 65 20 must share the
1010: 73 61 6d 65 20 63 6c 61 73 73 20 28 6f 72 20 62 same class (or b
1020: 65 20 3c 62 3e 4e 75 6c 6c 3c 2f 62 3e 29 2e 3c e <b>Null</b>).<
1030: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 6c 6c 20 47 65 /li>..<li>All Ge
1040: 6f 6d 65 74 72 69 65 73 20 69 6e 20 74 68 65 20 ometries in the
1050: 73 61 6d 65 20 53 68 61 70 65 66 69 6c 65 20 6d same Shapefile m
1060: 75 73 74 20 73 68 61 72 65 20 74 68 65 20 73 61 ust share the sa
1070: 6d 65 20 53 52 49 44 2e 3c 2f 6c 69 3e 0d 0a 3c me SRID.</li>..<
1080: 6c 69 3e 54 68 65 20 72 75 6c 65 73 20 66 6f 72 li>The rules for
1090: 20 69 64 65 6e 74 69 66 79 69 6e 67 20 3c 62 3e identifying <b>
10a0: 45 78 74 65 72 69 6f 72 3c 2f 62 3e 20 61 6e 64 Exterior</b> and
10b0: 20 3c 62 3e 49 6e 74 65 72 69 6f 72 3c 2f 62 3e <b>Interior</b>
10c0: 20 50 6f 6c 79 67 6f 6e 20 72 69 6e 67 73 0d 0a Polygon rings..
10d0: 61 72 65 20 61 77 6b 77 61 72 64 20 61 6e 64 20 are awkward and
10e0: 63 61 6e 20 66 72 65 71 75 65 6e 74 6c 79 20 63 can frequently c
10f0: 61 75 73 65 20 69 6e 74 65 72 6f 70 65 72 61 62 ause interoperab
1100: 69 6c 69 74 79 20 69 73 73 75 65 73 2e 3c 2f 6c ility issues.</l
1110: 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74 64 3e i>..</ul>..</td>
1120: 0d 0a 3c 74 64 3e 0d 0a 47 4d 4c 20 61 6c 6c 6f ..<td>..GML allo
1130: 77 73 20 6d 61 6e 79 20 64 69 66 66 65 72 65 6e ws many differen
1140: 74 20 77 61 79 73 20 66 6f 72 20 64 65 66 69 6e t ways for defin
1150: 69 6e 67 20 74 68 65 20 73 61 6d 65 20 47 65 6f ing the same Geo
1160: 6d 65 74 72 79 2c 20 61 6e 64 20 74 68 65 20 73 metry, and the s
1170: 70 65 63 69 66 69 63 61 74 69 6f 6e 73 20 72 61 pecifications ra
1180: 64 69 63 61 6c 6c 79 20 63 68 61 6e 67 65 64 20 dically changed
1190: 66 72 6f 6d 20 76 65 72 73 69 6f 6e 20 74 6f 20 from version to
11a0: 76 65 72 73 69 6f 6e 2e 3c 62 72 3e 3c 62 72 3e version.<br><br>
11b0: 0d 0a 47 4d 4c 20 68 61 73 20 61 20 72 65 61 6c ..GML has a real
11c0: 6c 79 20 69 6d 70 72 65 73 73 69 76 65 20 66 6c ly impressive fl
11d0: 65 78 69 62 69 6c 79 20 28 65 2e 67 2e 20 65 61 exibily (e.g. ea
11e0: 63 68 20 73 69 6e 67 6c 65 20 47 65 6f 6d 65 74 ch single Geomet
11f0: 72 79 20 63 61 6e 20 66 72 65 65 6c 79 20 64 65 ry can freely de
1200: 63 6c 61 72 65 20 69 74 73 20 6f 77 6e 20 53 52 clare its own SR
1210: 49 44 29 2c 20 62 75 74 20 61 74 20 74 68 65 20 ID), but at the
1220: 63 6f 73 74 20 6f 66 20 69 6d 70 6f 73 69 6e 67 cost of imposing
1230: 20 61 6e 20 6f 76 65 72 77 68 65 6c 6d 69 6e 67 an overwhelming
1240: 20 63 6f 6d 70 6c 65 78 69 74 79 2e 0d 0a 3c 2f complexity...</
1250: 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 75 6c 3e 0d td>..<td>..<ul>.
1260: 0a 3c 6c 69 3e 4e 75 6c 6c 3c 2f 6c 69 3e 0d 0a .<li>Null</li>..
1270: 3c 6c 69 3e 50 6f 69 6e 74 3c 2f 6c 69 3e 0d 0a <li>Point</li>..
1280: 3c 6c 69 3e 4c 69 6e 65 73 74 72 69 6e 67 3c 2f <li>Linestring</
1290: 6c 69 3e 0d 0a 3c 6c 69 3e 50 6f 6c 79 67 6f 6e li>..<li>Polygon
12a0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 4d 75 6c 74 69 </li>..<li>Multi
12b0: 50 6f 69 6e 74 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e Point</li>..<li>
12c0: 4d 75 6c 74 69 4c 69 6e 65 73 74 72 69 6e 67 3c MultiLinestring<
12d0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 4d 75 6c 74 69 50 /li>..<li>MultiP
12e0: 6f 6c 79 67 6f 6e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 olygon</li>..<li
12f0: 3e 47 65 6f 6d 65 74 72 79 43 6f 6c 6c 65 63 74 >GeometryCollect
1300: 69 6f 6e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d ion</li>..</ul>.
1310: 0a 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 73 3c .<br>..<u>Notes<
1320: 2f 75 3e 3a 20 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 /u>: ..<ul>..<li
1330: 3e 54 68 69 73 20 65 78 61 63 74 6c 79 20 63 6f >This exactly co
1340: 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 rresponds to the
1350: 20 73 74 61 6e 64 61 72 64 20 3c 62 3e 37 20 63 standard <b>7 c
1360: 6c 61 73 73 65 73 3c 2f 62 3e 20 6d 6f 64 65 6c lasses</b> model
1370: 20 61 64 6f 70 74 65 64 20 62 79 20 53 70 61 74 adopted by Spat
1380: 69 61 6c 20 53 51 4c 2e 3c 2f 6c 69 3e 0d 0a 3c ial SQL.</li>..<
1390: 6c 69 3e 54 68 65 20 73 61 6d 65 20 47 65 6f 4a li>The same GeoJ
13a0: 53 4f 4e 20 66 69 6c 65 20 63 61 6e 20 66 72 65 SON file can fre
13b0: 65 6c 79 20 63 6f 6e 74 61 69 6e 20 61 6e 79 20 ely contain any
13c0: 6b 69 6e 64 20 6f 66 20 47 65 6f 6d 65 74 72 79 kind of Geometry
13d0: 20 63 6c 61 73 73 65 73 20 77 69 74 68 6f 75 72 classes withour
13e0: 20 72 65 73 74 72 69 63 74 69 6f 6e 73 2e 3c 2f restrictions.</
13f0: 6c 69 3e 0d 0a 3c 6c 69 3e 41 6c 6c 20 47 65 6f li>..<li>All Geo
1400: 6d 65 74 72 69 65 73 20 69 6e 20 74 68 65 20 73 metries in the s
1410: 61 6d 65 20 47 65 6f 4a 53 4f 4e 20 66 69 6c 65 ame GeoJSON file
1420: 20 6d 75 73 74 20 73 68 61 72 65 20 74 68 65 20 must share the
1430: 73 61 6d 65 20 53 52 49 44 2e 3c 2f 6c 69 3e 0d same SRID.</li>.
1440: 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74 64 3e 0d 0a 3c .</ul>..</td>..<
1450: 74 64 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 53 td>..<ul>..<li>S
1460: 68 61 70 65 66 69 6c 65 20 69 73 20 6f 62 76 69 hapefile is obvi
1470: 6f 75 73 6c 79 20 6f 62 73 6f 6c 65 74 65 2c 20 ously obsolete,
1480: 61 6e 64 20 73 6f 6d 65 77 61 79 20 6d 65 73 73 and someway mess
1490: 79 20 61 6e 64 20 6c 69 6d 69 74 65 64 2e 3c 2f y and limited.</
14a0: 6c 69 3e 0d 0a 3c 6c 69 3e 47 4d 4c 20 69 73 20 li>..<li>GML is
14b0: 65 6c 65 67 61 6e 74 20 61 6e 64 20 76 65 72 79 elegant and very
14c0: 20 73 6f 70 68 69 73 74 69 63 61 74 65 64 3a 20 sophisticated:
14d0: 73 6f 6d 65 74 69 6d 65 73 20 74 6f 6f 20 6d 75 sometimes too mu
14e0: 63 68 20 73 6f 70 68 69 73 74 69 63 61 74 65 64 ch sophisticated
14f0: 20 61 6e 64 20 63 6f 6d 70 6c 65 78 20 74 6f 20 and complex to
1500: 62 65 20 72 65 61 6c 6c 79 20 75 73 61 62 6c 65 be really usable
1510: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 65 6f 4a .</li>..<li>GeoJ
1520: 53 4f 4e 20 6d 61 74 63 68 65 73 20 76 65 72 79 SON matches very
1530: 20 77 65 6c 6c 20 53 70 61 74 69 61 6c 20 53 51 well Spatial SQ
1540: 4c 20 72 65 71 75 69 72 65 6d 65 6e 74 73 2c 20 L requirements,
1550: 61 6e 64 20 69 73 20 73 6f 20 73 69 6d 70 6c 65 and is so simple
1560: 20 74 6f 20 61 76 6f 69 64 20 61 6e 79 20 75 6e to avoid any un
1570: 6e 65 63 65 73 73 61 72 79 20 63 6f 6d 70 6c 65 necessary comple
1580: 78 69 74 79 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c xity.</li>..</ul
1590: 3e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d >..</td>..</tr>.
15a0: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 53 75 70 70 6f .<tr>..<td>Suppo
15b0: 72 74 65 64 20 64 69 6d 65 6e 73 69 6f 6e 73 3c rted dimensions<
15c0: 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 75 6c 3e /td>..<td>..<ul>
15d0: 0d 0a 3c 6c 69 3e 58 59 3c 2f 6c 69 3e 0d 0a 3c ..<li>XY</li>..<
15e0: 6c 69 3e 58 59 4d 3c 2f 6c 69 3e 0d 0a 3c 6c 69 li>XYM</li>..<li
15f0: 3e 58 59 5a 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 58 >XYZ</li>..<li>X
1600: 59 5a 4d 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d YZM</li>..</ul>.
1610: 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 75 .</td>..<td>..<u
1620: 6c 3e 0d 0a 3c 6c 69 3e 58 59 3c 2f 6c 69 3e 0d l>..<li>XY</li>.
1630: 0a 3c 6c 69 3e 58 59 4d 3c 2f 6c 69 3e 0d 0a 3c .<li>XYM</li>..<
1640: 6c 69 3e 58 59 5a 3c 2f 6c 69 3e 0d 0a 3c 6c 69 li>XYZ</li>..<li
1650: 3e 58 59 5a 4d 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c >XYZM</li>..</ul
1660: 3e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a >..</td>..<td>..
1670: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 58 59 3c 2f 6c 69 <ul>..<li>XY</li
1680: 3e 0d 0a 3c 6c 69 3e 58 59 5a 3c 2f 6c 69 3e 0d >..<li>XYZ</li>.
1690: 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 .</ul>..<br>..<u
16a0: 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 52 46 43 20 37 >Note</u>: RFC 7
16b0: 39 34 36 20 6a 75 73 74 20 73 75 70 70 6f 72 74 946 just support
16c0: 73 20 32 20 6f 72 20 33 20 63 6f 6f 72 64 69 6e s 2 or 3 coordin
16d0: 61 74 65 73 2c 20 61 6e 64 20 74 68 65 20 74 68 ates, and the th
16e0: 69 72 64 20 76 61 6c 75 65 20 28 77 68 65 6e 20 ird value (when
16f0: 64 65 63 6c 61 72 65 64 29 20 69 73 20 61 6c 77 declared) is alw
1700: 61 79 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 ays expected to
1710: 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 61 6e correspond to an
1720: 20 45 6c 65 76 61 74 69 6f 6e 20 28 5a 20 61 78 Elevation (Z ax
1730: 69 73 29 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 53 75 is).<br><br>..Su
1740: 70 70 6f 72 74 69 6e 67 20 58 59 4d 20 6f 72 20 pporting XYM or
1750: 58 59 5a 4d 20 69 73 20 6e 6f 74 20 74 65 63 68 XYZM is not tech
1760: 6e 69 63 61 6c 6c 79 20 75 6e 66 65 61 73 69 62 nically unfeasib
1770: 6c 65 2e 0d 0a 42 6f 74 68 20 77 72 69 74 65 72 le...Both writer
1780: 73 20 61 6e 64 20 72 65 61 64 65 72 73 20 63 6f s and readers co
1790: 75 6c 64 20 73 75 70 70 6f 72 74 20 73 75 63 68 uld support such
17a0: 20 6f 70 74 69 6f 6e 73 2c 20 62 75 74 20 61 6c options, but al
17b0: 6c 20 74 68 69 73 20 69 73 20 73 75 72 65 6c 79 l this is surely
17c0: 20 6f 75 74 73 69 64 65 20 74 68 65 20 73 74 61 outside the sta
17d0: 6e 64 61 72 64 20 61 6e 64 20 77 69 6c 6c 20 73 ndard and will s
17e0: 75 72 65 6c 79 20 69 6d 70 61 69 72 20 74 68 65 urely impair the
17f0: 20 75 6e 69 76 65 72 73 61 6c 20 70 6f 72 74 61 universal porta
1800: 62 69 6c 69 74 79 20 6f 66 20 61 6e 79 20 6e 6f bility of any no
1810: 6e 20 63 61 6e 6f 6e 69 63 61 6c 20 66 69 6c 65 n canonical file
1820: 2e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a ...</td>..<td>..
1830: 47 65 6f 4a 53 4f 4e 20 6c 61 63 6b 73 20 74 68 GeoJSON lacks th
1840: 65 20 63 61 70 61 62 69 6c 69 74 79 20 74 6f 20 e capability to
1850: 73 75 70 70 6f 72 74 20 58 59 4d 20 61 6e 64 20 support XYM and
1860: 58 59 5a 4d 2c 20 69 66 20 6e 6f 74 20 62 79 20 XYZM, if not by
1870: 61 64 6f 70 74 69 6e 67 20 76 69 63 69 6f 75 73 adopting vicious
1880: 20 74 72 69 63 6b 73 2e 3c 62 72 3e 0d 0a 4d 61 tricks.<br>..Ma
1890: 79 20 77 65 6c 6c 20 62 65 20 69 74 27 73 20 6e y well be it's n
18a0: 6f 74 20 61 20 66 6f 72 62 69 64 64 69 6e 67 20 ot a forbidding
18b0: 6c 69 6d 69 74 61 74 69 6f 6e 20 69 6e 20 6d 61 limitation in ma
18c0: 6e 79 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 73 2c ny common cases,
18d0: 20 62 75 74 20 69 74 27 73 20 69 6e 64 69 73 70 but it's indisp
18e0: 75 74 61 62 6c 79 20 61 20 6c 69 6d 69 74 61 74 utably a limitat
18f0: 69 6f 6e 2e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 2f 74 ion...</td>..</t
1900: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 49 6e r>..<tr>..<td>In
1910: 74 65 6e 64 65 64 20 53 52 49 44 3c 2f 74 64 3e tended SRID</td>
1920: 0d 0a 3c 74 64 3e 0d 0a 4e 6f 74 20 69 6e 74 65 ..<td>..Not inte
1930: 72 6e 61 6c 6c 79 20 64 65 63 6c 61 72 65 64 20 rnally declared
1940: 62 79 20 74 68 65 20 53 68 61 70 65 66 69 6c 65 by the Shapefile
1950: 20 69 74 73 65 6c 66 2e 3c 62 72 3e 0d 0a 44 65 itself.<br>..De
1960: 70 6c 6f 79 69 6e 67 20 61 20 66 75 72 74 68 65 ploying a furthe
1970: 72 20 3c 62 3e 2e 70 72 6a 3c 2f 62 3e 20 66 69 r <b>.prj</b> fi
1980: 6c 65 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 le describing th
1990: 65 20 69 6e 74 65 6e 64 65 64 20 53 52 49 44 20 e intended SRID
19a0: 69 73 20 74 68 65 20 75 73 75 61 6c 20 73 6f 6c is the usual sol
19b0: 75 74 69 6f 6e 20 61 64 6f 70 74 65 64 20 62 79 ution adopted by
19c0: 20 45 53 52 49 20 69 74 73 65 6c 66 2c 20 62 75 ESRI itself, bu
19d0: 74 20 63 6f 72 72 65 63 74 6c 79 20 70 61 72 73 t correctly pars
19e0: 69 6e 67 20 74 68 65 73 65 20 65 78 74 72 61 20 ing these extra
19f0: 66 69 6c 65 73 20 69 73 20 61 6e 20 75 73 75 61 files is an usua
1a00: 6c 6c 79 20 66 6c 69 6d 73 79 20 70 72 6f 63 65 lly flimsy proce
1a10: 73 73 20 66 61 6c 6c 69 6e 67 20 6f 75 74 73 69 ss falling outsi
1a20: 64 65 20 72 65 61 6c 20 63 61 70 61 62 69 6c 69 de real capabili
1a30: 74 69 65 73 20 6f 66 20 6d 61 6e 79 20 74 68 69 ties of many thi
1a40: 72 64 20 70 61 72 74 79 20 72 65 61 64 65 72 73 rd party readers
1a50: 2e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a ...</td>..<td>..
1a60: 45 61 63 68 20 73 69 6e 67 6c 65 20 47 65 6f 6d Each single Geom
1a70: 65 74 72 79 20 69 73 20 61 6c 6c 6f 77 65 64 20 etry is allowed
1a80: 74 6f 20 66 72 65 65 6c 79 20 64 65 66 69 6e 65 to freely define
1a90: 20 69 74 73 20 6f 77 6e 20 53 52 49 44 3b 20 61 its own SRID; a
1aa0: 6e 64 20 69 73 20 61 6c 73 6f 20 70 6f 73 73 69 nd is also possi
1ab0: 62 6c 65 20 74 6f 20 64 65 66 69 6e 65 20 74 68 ble to define th
1ac0: 65 20 53 52 49 44 20 66 6f 72 20 61 20 77 68 6f e SRID for a who
1ad0: 6c 65 20 6c 61 79 65 72 2e 0d 0a 3c 2f 74 64 3e le layer...</td>
1ae0: 0d 0a 3c 74 64 3e 0d 0a 41 63 63 6f 72 64 69 6e ..<td>..Accordin
1af0: 67 6c 79 20 74 6f 20 52 46 43 20 37 39 34 36 20 gly to RFC 7946
1b00: 61 6c 6c 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 all coordinates
1b10: 61 72 65 20 61 6c 77 61 79 73 20 65 78 70 65 74 are always expet
1b20: 65 64 20 74 6f 20 62 65 20 65 78 70 72 65 73 73 ed to be express
1b30: 65 64 20 61 73 20 3c 62 3e 6c 6f 6e 67 69 74 75 ed as <b>longitu
1b40: 65 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 es</b> and <b>la
1b50: 74 69 74 75 64 65 73 3c 2f 62 3e 20 28 69 6e 20 titudes</b> (in
1b60: 74 68 69 73 20 65 78 61 63 74 20 6f 72 64 65 72 this exact order
1b70: 29 2e 3c 62 72 3e 0d 0a 53 6f 20 61 6e 79 20 63 ).<br>..So any c
1b80: 61 6e 6f 6e 69 63 61 6c 20 47 65 6f 4a 53 4f 4e anonical GeoJSON
1b90: 20 66 69 6c 65 20 69 73 20 61 6c 77 61 79 73 20 file is always
1ba0: 65 78 70 65 63 74 65 64 20 74 6f 20 72 65 66 65 expected to refe
1bb0: 72 65 6e 63 65 20 3c 62 3e 53 52 49 44 3d 34 33 rence <b>SRID=43
1bc0: 32 36 20 57 47 53 20 38 34 3c 2f 62 3e 2e 3c 62 26 WGS 84</b>.<b
1bd0: 72 3e 3c 62 72 3e 0d 0a 55 73 69 6e 67 20 61 6e r><br>..Using an
1be0: 79 20 6f 74 68 65 72 20 53 52 49 44 20 69 73 20 y other SRID is
1bf0: 74 65 63 68 6e 69 63 61 6c 6c 79 20 70 6f 73 73 technically poss
1c00: 69 62 6c 65 2c 20 62 75 74 20 72 65 71 75 69 72 ible, but requir
1c10: 65 73 20 61 20 63 6f 6e 76 65 6e 74 69 6f 6e 61 es a conventiona
1c20: 6c 20 61 67 72 65 65 6d 65 6e 74 20 62 65 74 77 l agreement betw
1c30: 65 65 6e 20 77 72 69 74 65 72 73 20 61 6e 64 20 een writers and
1c40: 72 65 61 64 65 72 73 2c 20 62 75 74 20 61 6c 6c readers, but all
1c50: 20 74 68 69 73 20 69 73 20 73 75 72 65 6c 79 20 this is surely
1c60: 6f 75 74 73 69 64 65 20 74 68 65 20 73 74 61 6e outside the stan
1c70: 64 61 72 64 20 61 6e 64 20 77 69 6c 6c 20 73 75 dard and will su
1c80: 72 65 6c 79 20 69 6d 70 61 69 72 20 74 68 65 20 rely impair the
1c90: 75 6e 69 76 65 72 73 61 6c 20 70 6f 72 74 61 62 universal portab
1ca0: 69 6c 69 74 79 20 6f 66 20 61 6e 79 20 6e 6f 6e ility of any non
1cb0: 20 63 61 6e 6f 6e 69 63 61 6c 20 66 69 6c 65 2e canonical file.
1cc0: 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 54 ..</td>..<td>..T
1cd0: 68 65 20 75 6e 69 71 75 65 20 65 66 66 65 63 74 he unique effect
1ce0: 69 76 65 20 73 6f 6c 75 74 69 6f 6e 20 69 73 20 ive solution is
1cf0: 74 68 65 20 6f 6e 65 20 61 64 6f 70 74 65 64 20 the one adopted
1d00: 62 79 20 47 4d 4c 2e 3c 62 72 3e 0d 0a 42 6f 74 by GML.<br>..Bot
1d10: 68 20 53 68 61 70 65 66 69 6c 65 20 61 6e 64 20 h Shapefile and
1d20: 47 65 6f 4a 53 4f 4e 20 61 72 65 20 63 6c 65 61 GeoJSON are clea
1d30: 72 6c 79 20 69 6e 66 65 72 69 6f 72 20 75 6e 64 rly inferior und
1d40: 65 72 20 74 68 69 73 20 70 65 63 75 6c 69 61 72 er this peculiar
1d50: 20 61 73 70 65 63 74 2e 0d 0a 3c 2f 74 64 3e 0d aspect...</td>.
1d60: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
1d70: 64 3e 53 75 70 70 6f 72 74 65 64 20 6e 6f 6e 2d d>Supported non-
1d80: 73 70 61 74 69 61 6c 20 61 74 74 72 69 62 75 74 spatial attribut
1d90: 65 73 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c es</td>..<td>..<
1da0: 75 6c 3e 0d 0a 3c 6c 69 3e 43 48 41 52 20 28 6c ul>..<li>CHAR (l
1db0: 69 6d 69 74 65 64 20 74 6f 20 6d 61 78 2e 20 32 imited to max. 2
1dc0: 35 34 20 62 79 74 65 73 29 3c 2f 6c 69 3e 0d 0a 54 bytes)</li>..
1dd0: 3c 6c 69 3e 4e 55 4d 42 45 52 20 28 72 65 70 72 <li>NUMBER (repr
1de0: 65 73 65 6e 74 65 64 20 62 79 20 61 6e 20 41 53 esented by an AS
1df0: 43 49 49 20 73 74 72 69 6e 67 20 6f 66 20 6d 61 CII string of ma
1e00: 78 2e 20 33 32 20 62 79 74 65 73 29 3c 2f 6c 69 x. 32 bytes)</li
1e10: 3e 0d 0a 3c 6c 69 3e 44 41 54 45 20 28 59 59 59 >..<li>DATE (YYY
1e20: 59 4d 4d 44 44 29 3c 2f 6c 69 3e 0d 0a 3c 6c 69 YMMDD)</li>..<li
1e30: 3e 4c 4f 47 49 43 41 4c 20 28 54 2f 46 29 3c 2f >LOGICAL (T/F)</
1e40: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e li>..</ul>..<br>
1e50: 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 ..<u>Note</u>: a
1e60: 6c 6c 20 61 74 74 72 69 62 75 74 65 20 6e 61 6d ll attribute nam
1e70: 65 73 20 61 72 65 20 6c 69 6d 69 74 65 64 20 74 es are limited t
1e80: 6f 20 61 20 6c 65 6e 67 74 68 20 6f 66 20 6d 61 o a length of ma
1e90: 78 2e 20 31 30 20 62 79 74 65 73 2e 20 54 68 65 x. 10 bytes. The
1ea0: 72 65 20 69 73 20 6e 6f 20 73 61 66 65 20 77 61 re is no safe wa
1eb0: 79 20 66 6f 72 20 64 65 63 6c 61 72 69 6e 67 20 y for declaring
1ec0: 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 <b>NULL</b> valu
1ed0: 65 73 2e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e es...</td>..<td>
1ee0: 0d 0a 41 6e 79 20 70 6f 73 73 69 62 6c 65 20 64 ..Any possible d
1ef0: 61 74 61 74 79 70 65 20 79 6f 75 20 63 61 6e 20 atatype you can
1f00: 69 6d 61 67 69 6e 65 2e 3c 62 72 3e 0d 0a 41 6e imagine.<br>..An
1f10: 64 20 64 65 66 69 6e 69 6e 67 20 66 75 72 74 68 d defining furth
1f20: 65 72 20 64 65 72 69 76 65 64 20 64 61 74 61 74 er derived datat
1f30: 79 70 65 73 20 69 73 20 61 6e 20 6f 70 74 69 6f ypes is an optio
1f40: 6e 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 58 n supported by X
1f50: 4d 4c 20 53 63 68 65 6d 61 2e 3c 62 72 3e 3c 62 ML Schema.<br><b
1f60: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a r>..<u>Note</u>:
1f70: 20 61 74 74 72 69 62 75 74 65 20 6e 61 6d 65 73 attribute names
1f80: 20 61 6e 64 20 74 65 78 74 20 76 61 6c 75 65 73 and text values
1f90: 20 63 61 6e 20 68 61 76 65 20 61 6e 79 20 61 72 can have any ar
1fa0: 62 69 74 72 61 72 79 20 75 6e 63 6f 6e 73 74 72 bitrary unconstr
1fb0: 61 69 6e 65 64 20 6c 65 6e 67 74 68 2e 0d 0a 3c ained length...<
1fc0: 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 75 6c 3e /td>..<td>..<ul>
1fd0: 0d 0a 3c 6c 69 3e 74 65 78 74 20 28 75 6e 63 6f ..<li>text (unco
1fe0: 6e 73 74 72 61 69 6e 65 64 20 6c 65 6e 67 74 68 nstrained length
1ff0: 29 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6e 75 6d 62 )</li>..<li>numb
2000: 65 72 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6e 75 6c er</li>..<li>nul
2010: 6c 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 72 75 65 l</li>..<li>true
2020: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 66 61 6c 73 65 </li>..<li>false
2030: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 </li>..</ul>..<b
2040: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a r>..<u>Note</u>:
2050: 20 61 74 74 72 69 62 75 74 65 20 6e 61 6d 65 73 attribute names
2060: 20 20 63 61 6e 20 68 61 76 65 20 61 6e 79 20 61 can have any a
2070: 72 62 69 74 72 61 72 79 20 75 6e 63 6f 6e 73 74 rbitrary unconst
2080: 72 61 69 6e 65 64 20 6c 65 6e 67 74 68 2e 0d 0a rained length...
2090: 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 75 6c </td>..<td>..<ul
20a0: 3e 0d 0a 3c 6c 69 3e 53 68 61 70 65 66 69 6c 65 >..<li>Shapefile
20b0: 20 28 6f 72 20 6d 6f 72 65 20 70 72 65 63 69 73 (or more precis
20c0: 65 6c 79 20 69 6e 20 74 68 69 73 20 63 61 73 65 ely in this case
20d0: 20 44 42 46 29 20 63 6c 65 61 72 6c 79 20 73 75 DBF) clearly su
20e0: 66 66 65 72 73 20 66 72 6f 6d 20 74 6f 6f 20 6d ffers from too m
20f0: 61 6e 79 20 75 6e 70 6c 65 61 73 61 6e 74 20 6c any unpleasant l
2100: 69 6d 69 74 61 74 69 6f 6e 73 2e 3c 2f 6c 69 3e imitations.</li>
2110: 0d 0a 3c 6c 69 3e 47 4d 4c 20 28 6d 6f 72 65 20 ..<li>GML (more
2120: 70 72 65 63 69 73 65 6c 79 20 58 4d 4c 29 20 63 precisely XML) c
2130: 61 6e 20 65 66 66 65 63 74 69 76 65 6c 79 20 73 an effectively s
2140: 75 70 70 6f 72 74 20 61 6e 20 69 6d 70 72 65 73 upport an impres
2150: 73 69 76 65 20 66 6c 65 78 69 62 69 6c 69 74 79 sive flexibility
2160: 20 62 75 74 20 63 61 6e 20 65 61 73 69 6c 79 20 but can easily
2170: 62 65 63 6f 6d 65 20 74 6f 6f 20 6d 75 63 68 20 become too much
2180: 63 6f 6d 70 6c 65 78 20 61 6e 64 20 68 65 61 76 complex and heav
2190: 79 20 74 6f 20 62 65 20 70 61 72 73 65 64 2e 3c y to be parsed.<
21a0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 65 6f 4a 53 4f /li>..<li>GeoJSO
21b0: 4e 20 6f 66 66 65 72 73 20 61 20 77 65 6c 6c 20 N offers a well
21c0: 62 61 6c 61 6e 63 65 64 20 6d 69 78 3b 20 69 74 balanced mix; it
21d0: 27 73 20 73 74 69 6c 6c 20 72 65 61 73 6f 6e 61 's still reasona
21e0: 62 6c 79 20 73 69 6d 70 6c 65 20 61 6e 64 20 69 bly simple and i
21f0: 74 27 73 20 70 6f 77 65 72 66 75 6c 20 61 74 20 t's powerful at
2200: 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 3c 2f the same time.</
2210: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74 64 li>..</ul>..</td
2220: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
2230: 3c 74 64 3e 43 68 61 72 73 65 74 20 65 6e 63 6f <td>Charset enco
2240: 64 69 6e 67 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d ding</td>..<td>.
2250: 0a 4e 6f 74 20 69 6e 74 65 72 6e 61 6c 6c 79 20 .Not internally
2260: 64 65 66 69 6e 65 64 20 62 79 20 74 68 65 20 53 defined by the S
2270: 68 61 70 65 66 69 6c 65 20 69 74 73 65 6c 66 2e hapefile itself.
2280: 3c 62 72 3e 0d 0a 41 74 74 65 6d 70 74 69 6e 67 <br>..Attempting
2290: 20 74 6f 20 67 75 65 73 73 20 74 68 65 20 61 70 to guess the ap
22a0: 70 72 6f 70 72 69 61 74 65 20 63 68 61 72 73 65 propriate charse
22b0: 74 20 65 6e 63 6f 64 69 6e 67 20 72 65 71 75 69 t encoding requi
22c0: 72 65 64 20 62 79 20 73 6f 6d 65 20 53 68 61 70 red by some Shap
22d0: 65 66 69 6c 65 20 69 73 20 6d 6f 72 65 20 61 20 efile is more a
22e0: 6d 61 67 69 63 20 61 72 74 20 74 68 61 6e 20 72 magic art than r
22f0: 61 74 69 6f 6e 61 6c 20 73 63 69 65 6e 63 65 2e ational science.
2300: 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 41 ..</td>..<td>..A
2310: 6c 77 61 79 73 20 69 6e 74 65 72 6e 61 6c 6c 79 lways internally
2320: 20 64 65 66 69 6e 65 64 20 62 79 20 74 68 65 20 defined by the
2330: 47 4d 4c 2f 58 4d 4c 20 66 69 6c 65 20 69 74 73 GML/XML file its
2340: 65 6c 66 2e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 elf...</td>..<td
2350: 3e 0d 0a 52 46 43 20 37 39 34 36 20 73 74 72 69 >..RFC 7946 stri
2360: 63 74 6c 79 20 72 65 71 75 69 72 65 73 20 74 68 ctly requires th
2370: 61 74 20 61 6c 6c 20 47 65 6f 4a 53 4f 4e 20 66 at all GeoJSON f
2380: 69 6c 65 73 20 6d 75 73 74 20 62 65 20 65 6e 63 iles must be enc
2390: 6f 64 65 64 20 61 73 20 3c 62 3e 55 54 46 2d 38 oded as <b>UTF-8
23a0: 3c 2f 62 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 49 6e </b><br><br>..In
23b0: 20 70 75 72 65 20 74 68 65 6f 72 79 20 62 6f 74 pure theory bot
23c0: 68 20 3c 62 3e 55 54 46 2d 31 36 3c 2f 62 3e 20 h <b>UTF-16</b>
23d0: 61 6e 64 20 3c 62 3e 55 54 46 2d 33 32 3c 2f 62 and <b>UTF-32</b
23e0: 3e 20 63 6f 75 6c 64 20 62 65 20 75 73 65 64 20 > could be used
23f0: 66 6f 72 20 65 6e 63 6f 64 69 6e 67 20 61 20 6c for encoding a l
2400: 65 67 69 74 69 6d 61 74 65 20 47 65 6f 4a 53 4f egitimate GeoJSO
2410: 4e 20 66 69 6c 65 2c 20 62 75 74 20 73 75 63 68 N file, but such
2420: 20 6f 70 74 69 6f 6e 73 20 73 65 65 6d 73 20 74 options seems t
2430: 6f 20 62 65 20 76 65 72 79 20 72 61 72 65 6c 79 o be very rarely
2440: 20 28 69 66 20 6e 65 76 65 72 29 20 61 64 6f 70 (if never) adop
2450: 74 65 64 20 69 6e 20 72 65 61 6c 20 77 6f 72 6c ted in real worl
2460: 64 2e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d d...</td>..<td>.
2470: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 53 68 61 70 65 .<ul>..<li>Shape
2480: 66 69 6c 65 73 20 6c 65 61 76 65 73 20 61 20 6c files leaves a l
2490: 6f 74 20 74 6f 20 62 65 20 64 65 73 69 72 65 64 ot to be desired
24a0: 2c 20 61 6e 64 20 6e 6f 74 20 72 61 72 65 6c 79 , and not rarely
24b0: 20 6d 69 73 75 6e 64 65 72 73 74 75 6e 64 69 6e misunderstundin
24c0: 67 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 g the appropriat
24d0: 65 20 63 68 61 72 73 65 74 20 65 6e 63 6f 64 69 e charset encodi
24e0: 6e 67 20 63 61 75 73 65 73 20 6d 61 6e 79 20 73 ng causes many s
24f0: 65 72 69 6f 75 73 20 70 6f 72 74 61 62 69 6c 69 erious portabili
2500: 74 79 20 69 73 73 75 65 73 2e 3c 2f 6c 69 3e 0d ty issues.</li>.
2510: 0a 3c 6c 69 3e 47 4d 4c 2f 58 4d 4c 20 6e 69 63 .<li>GML/XML nic
2520: 65 6c 79 20 73 75 70 70 6f 72 74 73 20 61 6e 79 ely supports any
2530: 20 70 6f 73 73 69 62 6c 65 20 63 68 61 72 73 65 possible charse
2540: 74 20 69 6e 20 74 68 65 20 6d 6f 73 74 20 66 6c t in the most fl
2550: 65 78 69 62 6c 65 20 28 61 6e 64 20 73 61 66 65 exible (and safe
2560: 29 0d 0a 77 61 79 3c 2f 6c 69 3e 0d 0a 3c 6c 69 )..way</li>..<li
2570: 3e 4f 6e 63 65 20 61 67 61 69 6e 2c 20 47 65 6f >Once again, Geo
2580: 4a 53 4f 4e 20 69 73 20 73 74 72 61 69 67 68 74 JSON is straight
2590: 66 6f 72 77 61 72 64 20 73 69 6d 70 6c 65 20 62 forward simple b
25a0: 75 74 20 72 65 61 6c 6c 79 20 65 66 66 65 63 74 ut really effect
25b0: 69 76 65 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d ive</li>..</ul>.
25c0: 0a 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c .</td>..</tr>..<
25d0: 2f 74 61 62 6c 65 3e 0d 0a 3c 68 72 3e 3c 62 72 /table>..<hr><br
25e0: 3e 0d 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 >..<a href="http
25f0: 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 s://www.gaia-gis
2600: 2e 69 74 2f 66 6f 73 73 69 6c 2f 6c 69 62 73 70 .it/fossil/libsp
2610: 61 74 69 61 6c 69 74 65 2f 77 69 6b 69 3f 6e 61 atialite/wiki?na
2620: 6d 65 3d 34 2e 33 2e 30 2d 64 6f 63 22 3e 62 61 me=4.3.0-doc">ba
2630: 63 6b 3c 2f 61 3e 0a 5a 20 38 39 62 33 35 34 30 ck</a>.Z 89b3540
2640: 61 65 38 36 36 36 31 38 34 38 38 30 65 38 39 65 ae8666184880e89e
2650: 61 66 38 65 34 39 33 31 64 0a af8e4931d.