| 1000 | == OGC WKT vs FGF WKT == |
| 1001 | |
| 1002 | The following analysis is based on the examination of the OGC WKB format vs. the As-Implemented FGF WKB format in FDO 3.5.0. The most recent OGC WKB Specification can be located at the following link. Refer to Section 7 on Page 53: “Well-known Text Representation for Geometry”. |
| 1003 | |
| 1004 | OpenGIS Implementation Specification for Geographic information - Simple feature access |
| 1005 | |
| 1006 | In general FGF WKT is a superset of WKT, and includes geometry types that are not yet fully defined by a WKB specification. While FGF will continue to be a superset of WKT, the following sections outline areas where further alignment can be made. |
| 1007 | |
| 1008 | === Dimensionality === |
| 1009 | |
| 1010 | In FGF WKT, where the dimensionality of the geometry is not XY, The following string values are written: |
| 1011 | |
| 1012 | ||Dimensionality||Text|| |
| 1013 | ||XYZ||XYZ|| |
| 1014 | ||XYM||XYM|| |
| 1015 | ||XYZM||XYZM|| |
| 1016 | |
| 1017 | In OGC WKT, where the dimensionality of the geometry is not XY, The following string values are expected to be written to the string: |
| 1018 | |
| 1019 | ||Dimensionality||Text|| |
| 1020 | ||XYZ||Z|| |
| 1021 | ||XYM||M|| |
| 1022 | ||XYZM||ZM|| |
| 1023 | |
| 1024 | |
| 1025 | == OGC WKB vs FGF WKB == |
| 1026 | |
| 1027 | The following analysis is based on the examination of the OGC WKB format vs. the As-Implemented FGF WKB format in FDO 3.5.0. The most recent OGC WKB Specification can be located at the following link. Refer to Section 8 on Page 63: “Well-known Binary Representation for Geometry”. |
| 1028 | |
| 1029 | OpenGIS Implementation Specification for Geographic information - Simple feature access |
| 1030 | |
| 1031 | In general FGF WKB is a superset of WKB, and includes geometry types that are not yet fully defined by a WKB specification. While FGF will continue to be a superset of WKB, the following sections outline areas where further alignment can be made. |
| 1032 | |
| 1033 | === Byte Order === |
| 1034 | |
| 1035 | The OGC WKB specification states that the Byte Oder is written out as a part of a geometric WKB Definition. |
| 1036 | |
| 1037 | "The [OGC] Well-known Binary Representation for Geometry is obtained by serializing a geometric object as a sequence of numeric types drawn from the set {Unsigned Integer, Double} and then serializing each numeric type as a sequence of bytes using one of two well defined, standard, binary representations for numeric types (NDR, XDR). The specific binary encoding (NDR or XDR) used for a geometry representation is described by a one-byte tag that precedes the serialized bytes. The only difference between the two encodings of geometry is one of byte order, the XDR encoding is Big Endian, and the NDR encoding is Little Endian." |
| 1038 | |
| 1039 | FGF WKB does not write out binary encoding for NDR/XDR. FDO expects all WKB it processes to be in a Little-Endian format. |
| 1040 | |
| 1041 | === Common List of Codes for Geometric Types === |
| 1042 | |
| 1043 | The OGC WKB standard defines a common list of codes for geometric types. These types not only indicate the geometric types, but also the dimensionality of the type. Thus a single integer is defined to represent both pieces of information. |
| 1044 | |
| 1045 | FGF WKB writes out the geometric type and dimensionality information as two integers, one for the geometric type and another for the dimensionality. The geometric values used are a basic subset of the OGC WKB values, specifically those used to represent XY geometries. |
| 1046 | |
| 1047 | === FGF Geometric Types === |
| 1048 | |
| 1049 | The following are a list of FGF Geometry Types |
| 1050 | |
| 1051 | ||Type||Code |
| 1052 | ||Geometry||0|| |
| 1053 | ||Point||1|| |
| 1054 | ||LineString||2|| |
| 1055 | ||Polygon||3|| |
| 1056 | ||MultiPoint||4|| |
| 1057 | ||MultiLineString||5|| |
| 1058 | ||MultiPolygon||6|| |
| 1059 | ||MultiGeometry||7|| |
| 1060 | ||CurveString||10|| |
| 1061 | ||CurvePolygon||11|| |
| 1062 | ||MultiCurveString||12|| |
| 1063 | ||MultiCurvePolygon||13|| |
| 1064 | |