Encoder/decoder for PostGIS binary data representation.
basic_string(PointType) = #circular_string{point_type = PointType, points = [ewkb:point(ewkb:point_type())]} | #line_string{point_type = PointType, points = [ewkb:point(ewkb:point_type())]}
curve(PointType) = #circular_string{point_type = PointType, points = [ewkb:point(ewkb:point_type())]} | #line_string{point_type = PointType, points = [ewkb:point(ewkb:point_type())]} | #compound_curve{point_type = PointType, lines = [ewkb:basic_string(ewkb:point_type())]}
curve_polygon(PointType) = #curve_polygon{point_type = PointType, rings = [ewkb:curve(ewkb:point_type())]}
geom_type() = geometry | point | line_string | polygon | multi_point | multi_line_string | multi_polygon | geometry_collection | circular_string | compound_curve | curve_polygon | multi_curve | multi_surface | curve | surface | polyhedral_surface | tin | triangle
geometry() = geometry(point_type())
geometry(PointType) = point(PointType) | line_string(PointType) | triangle(PointType) | tin(PointType) | curve(PointType) | surface(PointType) | multi_point(PointType) | multi_line_string(PointType) | multi_polygon(PointType) | multi_curve(PointType) | multi_surface(PointType) | geometry_collection(PointType)
geometry_collection(PointType) = [geometry(PointType)]
line_string(PointType) = #line_string{point_type = PointType, points = [ewkb:point(ewkb:point_type())]}
multi_curve(PointType) = #multi_curve{point_type = PointType, curves = [ewkb:curve(ewkb:point_type())]}
multi_line_string(PointType) = #multi_line_string{point_type = PointType, line_strings = [ewkb:line_string(ewkb:point_type())]}
multi_point(PointType) = #multi_point{point_type = PointType, points = [ewkb:point(ewkb:point_type())]}
multi_polygon(PointType) = #multi_polygon{point_type = PointType, polygons = [ewkb:polygon(ewkb:point_type())]}
multi_surface(PointType) = #multi_surface{point_type = PointType, surfaces = [ewkb:surface(ewkb:point_type())]}
point(PointType) = #point{point_type = PointType, x = float(), y = float(), z = float() | undefined, m = float() | undefined}
point_type() = '2d' | '3d' | '2dm' | '3dm'
polygon(PointType) = #polygon{point_type = PointType, rings = [ewkb:line_string(ewkb:point_type())]}
polyhedral_surface(PointType) = #polyhedral_surface{point_type = PointType, polygons = [ewkb:polygon(ewkb:point_type())]}
surface(PointType) = polygon(PointType) | curve_polygon(PointType) | polyhedral_surface(PointType)
tin(PointType) = #tin{point_type = PointType, triangles = [ewkb:triangle(ewkb:point_type())]}
triangle(PointType) = #triangle{point_type = PointType, rings = [ewkb:line_string(ewkb:point_type())]}
decode_geometry/1 | |
encode_geometry/1 |
decode_geometry(Binary::binary()) -> geometry()
encode_geometry(Geometry::geometry()) -> binary()
Generated by EDoc