postgis/liblwgeom
Loïc Bartoletti 1b2c2bbb50 add sfcgal_full_version 2022-01-07 01:18:20 -05:00
..
cunit Avoid testing corner case with closest_segment_2d 2021-09-29 23:06:17 +02:00
Makefile.in Add GUS postgis.gdal_vsi_options 2021-06-17 09:26:36 -07:00
README.topo Fix typo 2020-12-16 22:45:45 +01:00
TODO Implement ST_RemoveIsoEdge in C 2015-08-20 16:24:23 +00:00
bytebuffer.c Revert incorrect "Optimize varlena returning functions" 2020-04-28 19:13:38 +02:00
bytebuffer.h Revert incorrect "Optimize varlena returning functions" 2020-04-28 19:13:38 +02:00
effectivearea.c Inconsistent results from qsort callback (references #4093) 2018-05-22 19:35:21 +00:00
effectivearea.h Fix some spelling errors 2018-03-02 01:47:41 +00:00
gbox.c (GiST): move hilbert hash to lwinline 2021-09-02 17:01:47 +03:00
gserialized.c Drop redundant getPoint2d_p_ro function 2021-08-11 16:43:46 +02:00
gserialized.h Drop redundant getPoint2d_p_ro function 2021-08-11 16:43:46 +02:00
gserialized.txt Revert incorrect "Optimize varlena returning functions" 2020-04-28 19:13:38 +02:00
gserialized1.c Revert incorrect "Optimize varlena returning functions" 2020-04-28 19:13:38 +02:00
gserialized1.h Drop redundant getPoint2d_p_ro function 2021-08-11 16:43:46 +02:00
gserialized2.c Micro optimizations to the serialization process 2020-08-21 13:38:35 +02:00
gserialized2.h Drop redundant getPoint2d_p_ro function 2021-08-11 16:43:46 +02:00
liblwgeom.h.in KMeans: make cppcheck happy in attempt to make bessie32 happy 2021-08-30 20:10:36 +03:00
liblwgeom_internal.h Flip N/E systems to E/N and geodetic systems to Lon/Lat, while leaving Polar systems as-is, references #4949 2021-07-14 09:46:35 -07:00
liblwgeom_topo.h Rewrite GetFaceContainingPoint in C 2021-08-11 16:12:23 +02:00
liblwgeom_topo_internal.h Rewrite GetFaceContainingPoint in C 2021-08-11 16:12:23 +02:00
lookup3.c fix endian for vscode 2020-07-01 11:00:58 +02:00
lwalgorithm.c Address valgrind warnings in regress tests 2020-07-30 16:50:14 +02:00
lwboundingcircle.c Apply the epsilon fix to bounding circle (references #3930) 2017-12-20 14:28:56 +00:00
lwchaikins.c Address compiler warnings and add -Wextra to travis 2018-05-21 15:22:38 +00:00
lwcircstring.c Add extended flags area in serialization 2019-06-26 22:34:24 +00:00
lwcollection.c Add ST_CollectionExtract(geometry) 2020-11-05 08:59:39 -08:00
lwcompound.c Always use int32_t for srid 2019-04-24 10:44:27 +00:00
lwcurvepoly.c Fix leak in lwcurvepoly_from_wkb_state 2019-10-10 10:10:37 +00:00
lwgeodetic.c Drop redundant getPoint2d_p_ro function 2021-08-11 16:43:46 +02:00
lwgeodetic.h Adjust geodetic tolerance, references #4835 2021-02-17 16:04:19 -08:00
lwgeodetic_tree.c Be more aggressive about obtaining an outside point from gbox. References #4689 2020-08-12 14:00:01 -07:00
lwgeodetic_tree.h Geography Distance inconsistent with Intersects 2019-08-13 16:59:20 +00:00
lwgeom.c Merge and format lwgeom_boundary tests 2021-08-28 19:17:04 +03:00
lwgeom_api.c Fix maybe-unitialized warnings 2019-11-12 08:53:10 +03:00
lwgeom_debug.c Improve output of lwgeom_summary 2019-06-26 08:04:14 +00:00
lwgeom_geos.c Restore logic to repair rings as necessary before handing off to GEOS, closes #4904 2021-06-02 14:59:42 -07:00
lwgeom_geos.h Expand POSTGIS_GEOS_VERSION from 39 to 30900 (zero padded minor/patch) so that GEOS 3.10 and future friends do not break things by accident. Closes #4899 2021-04-23 11:44:29 -07:00
lwgeom_geos_clean.c Enable -Wall by default and fix a warning reported by 10.3 with it 2021-09-27 19:44:33 +02:00
lwgeom_geos_cluster.c fix typo in lwgeom_geos_cluster.c 2021-12-06 16:01:12 +08:00
lwgeom_geos_node.c ST_OffsetCurve: support for MULTILINESTRING, GEOMETRYCOLLECTION and non-simple inputs 2018-03-05 16:54:13 +00:00
lwgeom_geos_split.c Speed up ST_Simplify 2019-09-24 10:58:30 +00:00
lwgeom_log.h Revert the LWDEBUGGF change, it was NOT bogus 2021-09-24 22:01:50 +02:00
lwgeom_median.c Triangle and TIN output support 2019-08-04 11:43:42 +00:00
lwgeom_sfcgal.c add sfcgal_full_version 2022-01-07 01:18:20 -05:00
lwgeom_sfcgal.h add sfcgal_full_version 2022-01-07 01:18:20 -05:00
lwgeom_topo.c Do not mix signedness of integers 2021-09-27 12:47:56 +02:00
lwgeom_transform.c Add news entry for proj_normalize_for_visualization change 2021-09-10 12:31:42 -07:00
lwgeom_wrapx.c Use fixed width integers. 2018-01-12 13:34:32 +00:00
lwhomogenize.c Merge and format lwgeom_boundary tests 2021-08-28 19:17:04 +03:00
lwin_encoded_polyline.c Support new Proj6 API 2019-02-22 21:36:27 +00:00
lwin_geojson.c Allow empty geometry to round-trip JSON format, references #4895 2021-07-30 12:34:59 -07:00
lwin_twkb.c Triangle and TIN output support 2019-08-04 11:43:42 +00:00
lwin_wkb.c Throw error when fed WKB with malformed Oracle type numbers 2020-08-31 20:56:55 -07:00
lwin_wkt.c Handle SRID=999999 consistently with other high SRID numbers. Closes #4812 2020-12-07 12:46:56 -08:00
lwin_wkt.h Add extended flags area in serialization 2019-06-26 22:34:24 +00:00
lwin_wkt_lex.c fix from pramsey for NaN on mingw64. Closes #4872 2021-03-09 21:58:22 -05:00
lwin_wkt_lex.l fix from pramsey for NaN on mingw64. Closes #4872 2021-03-09 21:58:22 -05:00
lwin_wkt_parse.c Fix for GEOS 3.9 regression topogeom - closes #4809 for PostGIS 3.1 2020-12-05 20:55:42 -05:00
lwin_wkt_parse.h Fix for GEOS 3.9 regression topogeom - closes #4809 for PostGIS 3.1 2020-12-05 20:55:42 -05:00
lwin_wkt_parse.y Silence yacc warnings 2019-11-22 15:05:16 +01:00
lwinline.h gist sortsupport -- clean up 2021-09-02 17:01:47 +03:00
lwiterator.c Triangle and TIN output support 2019-08-04 11:43:42 +00:00
lwkmeans.c ST_ClusterKMeans: iron away a bit more type casts to make bessie32 happy 2021-08-30 21:24:28 +03:00
lwline.c Optional value params for Force3D*, Force4D functions 2020-01-14 19:58:55 +01:00
lwlinearreferencing.c ST_LocateBetweenElevations: fix segfault on interrupt 2021-09-22 12:30:41 +03:00
lwmcurve.c Update copyright header to add explicit license version 2015-12-14 10:11:21 +00:00
lwmline.c OSS Fuzz for geojson. 2019-08-18 11:27:31 +00:00
lwmpoint.c Always use int32_t for srid 2019-04-24 10:44:27 +00:00
lwmpoly.c Always use int32_t for srid 2019-04-24 10:44:27 +00:00
lwmsurface.c Update copyright header to add explicit license version 2015-12-14 10:11:21 +00:00
lwmval.c Triangle and TIN output support 2019-08-04 11:43:42 +00:00
lwout_encoded_polyline.c Revert incorrect "Optimize varlena returning functions" 2020-04-28 19:13:38 +02:00
lwout_geojson.c Allow empty geometry to round-trip JSON format, references #4895 2021-07-30 12:34:59 -07:00
lwout_gml.c Use the shortest representation when printing doubles 2020-07-28 13:18:38 +02:00
lwout_kml.c WKT/KML: Print doubles directly into stringbuffers 2020-07-29 10:52:28 +02:00
lwout_svg.c Use the shortest representation when printing doubles 2020-07-28 13:18:38 +02:00
lwout_twkb.c Revert incorrect "Optimize varlena returning functions" 2020-04-28 19:13:38 +02:00
lwout_twkb.h Update copyright header to add explicit license version 2015-12-14 10:11:21 +00:00
lwout_wkb.c Revert incorrect "Optimize varlena returning functions" 2020-04-28 19:13:38 +02:00
lwout_wkt.c WKT/KML: Print doubles directly into stringbuffers 2020-07-29 10:52:28 +02:00
lwout_x3d.c Use the shortest representation when printing doubles 2020-07-28 13:18:38 +02:00
lwout_x3d.h ST_AsX3D: Stop calculating the srs 2020-05-01 11:35:26 +02:00
lwpoint.c Optional value params for Force3D*, Force4D functions 2020-01-14 19:58:55 +01:00
lwpoly.c Optional value params for Force3D*, Force4D functions 2020-01-14 19:58:55 +01:00
lwprint.c Use the shortest representation when printing doubles 2020-07-28 13:18:38 +02:00
lwpsurface.c Fix some spelling errors 2018-03-02 01:47:41 +00:00
lwrandom.c Add seed parameter for ST_GeneratePoints. 2019-02-12 10:32:15 +00:00
lwrandom.h Add seed parameter for ST_GeneratePoints. 2019-02-12 10:32:15 +00:00
lwspheroid.c Further re-organization of gserialized, attempting to hide all knowledge 2019-06-12 22:04:58 +00:00
lwstroke.c Polish handling of curvilinear geometry types being 2020-12-03 11:02:14 -08:00
lwtin.c Fix some spelling errors 2018-03-02 01:47:41 +00:00
lwtree.c Fast Hilbert btree. 2019-07-14 14:24:18 +00:00
lwtree.h Edge tree index on geometries makes distance calculations on large geometries 2018-02-20 20:40:00 +00:00
lwtriangle.c Further re-organization of gserialized, attempting to hide all knowledge 2019-06-12 22:04:58 +00:00
lwunionfind.c Support new Proj6 API 2019-02-22 21:36:27 +00:00
lwunionfind.h Remove trailing blanks 2017-09-14 15:56:58 +00:00
lwutil.c Better error messages for SRID mismatch. 2019-08-04 11:37:34 +00:00
measures.c Speed up ST_Simplify 2019-09-24 10:58:30 +00:00
measures.h Support 2D TINs in ST_3DIntersection 2019-08-23 09:56:37 +00:00
measures3d.c Fix ST_3dintersects calculations with identical vertices 2020-11-13 14:40:24 +01:00
measures3d.h Always use int32_t for srid 2019-04-24 10:44:27 +00:00
optionlist.c Add GUS postgis.gdal_vsi_options 2021-06-17 09:26:36 -07:00
optionlist.h Add GUS postgis.gdal_vsi_options 2021-06-17 09:26:36 -07:00
ptarray.c Simplify closest_point_on_segment code, add unit test 2021-09-27 09:08:21 +02:00
stringbuffer.c Use va_copy() / va_end() since we already used va_end(ap2) before 2021-04-11 15:44:17 +02:00
stringbuffer.h WKT/KML: Print doubles directly into stringbuffers 2020-07-29 10:52:28 +02:00
stringlist.c Add GUS postgis.gdal_vsi_options 2021-06-17 09:26:36 -07:00
stringlist.h Add GUS postgis.gdal_vsi_options 2021-06-17 09:26:36 -07:00
varint.c Fix some spelling errors 2018-03-02 01:47:41 +00:00
varint.h Fix undefined behaviour in zigzag with negative inputs 2017-10-10 16:59:34 +00:00

README.topo

About topology support in liblwgeom
-----------------------------------
 Author: Sandro Santilli <strk@kbt.io>
 Last modified: Jun 13, 2015

The topology support in liblwgeom exposes an API to create and manage
"standard" topologies that use provided callbacks to take care of actual
data storage.

The topology standard is based on what was provided by PostGIS at its
version 2.0.0, which in turn is based on ISO SQL/MM (ISO 13249) with
the addition of the "TopoGeometry" concept.

The public header for topology support is `liblwgeom_topo.h`.
The caller has to setup a backend interface  (LWT_BE_IFACE) implementing
all the required callbacks and will then be able to use the provided
editing functions.

The contract for each callback is fully specified in the header.
The callbacks are as simple as possible while still allowing for
backend-specific optimizations.

The backend interface is an opaque object and callbacks are registered
into it using free functions. This is to allow for modifying the required
set of callbacks between versions of the library without breaking backward
compatibility.