MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Warum werden Koordinaten von Polygon-GeoJSON-Objekten in einem Array von Array gespeichert?

MongoDB definiert das GeoJSON-Format nicht. Stattdessen wurde es in einem Standard definiert:RFC7946

Dies ist der relevante Abschnitt über Polygon im RFC:https:// www.rfc-editor.org/rfc/rfc7946#section-3.1.6 wo es hieß:

Wobei ein linearer Ring definiert ist als:

Und ein LineString ist https://www.rfc-editor.org /rfc/rfc7946#section-3.1.4 :

Grundsätzlich ist ein Polygon als eine Reihe geschlossener LineStrings definiert, wobei der erste LineString die Grenzen des Polygons definiert und nachfolgende LineStrings "Löcher" im ersten LineString definieren.

Auf diese Weise definiert, ist es möglich, eine Donut-Form mit Polygon zu erstellen.

Diese Art der Konstruktion ist nur möglich, wenn sie als Array von Arrays dargestellt wird, daher der Standard.