Hi

First I tested with lines and that worked find, the lines added the second time 
snapped to first lines. The data I tested with are found at.

https://github.com/NibioOpenSource/pgtopo_update_sql/blob/develop/src/test/sql/import/data3/edge_1219.<https://github.com/NibioOpenSource/pgtopo_update_sql/blob/develop/src/test/sql/import/data3/edge_1219.prj>shp
 .


At https://trac.osgeo.org/postgis/wiki/UsersWikiPostgisTopology I have added 
section

called “Convert shape file and simple feature data to Postgis Topology” that 
has some more info the function topo_help_sf_to_topology_case_1.


Here is the sql I tested with for lines that worked ok.


# create test schema if not exist

psql sl -c'CREATE SCHEMA IF NOT EXISTS test2;'


# copy file muni_buffer_out that contains not ok buffered out municipalitie 
border "where komid not in (125)" into table test2.sf_in (drop and create if 
exits)

shp2pgsql -W ISO-8859-1 -d -D -s 4258 data3/edge_1219 test2.sf_in | psql sl; 
psql sl -c "SELECT 
topo_help_sf_to_topology_case_1('test2.sf_in','topo_3.muni_surface');"

# copy data from test2.sf_in into table topo_3.muni_surface (append data to 
topo_3.muni_edge)

psql sl -c "SELECT 
topo_help_sf_to_topology_case_1('test2.sf_in','topo_3.muni_edge',0.00001);"


# copy file muni_buffer_in that contains not ok buffered in municipalitie 
border "where komid not in (214)" into table test2.sf_in (drop and create if 
exits)

shp2pgsql -W ISO-8859-1 -d -D -s 4258 data3/edge_1521 test2.sf_in | psql sl; 
psql sl -c "SELECT 
topo_help_sf_to_topology_case_1('test2.sf_in','topo_3.muni_surface');"

# copy data from test2.sf_in into table topo_3.muni_surface (append data to 
topo_3.muni_edge)

psql sl -c "SELECT 
topo_help_sf_to_topology_case_1('test2.sf_in','topo_3.muni_edge',0.00001);"


Then I tried the same with surface data and they did not snap to as I expected.


The file 
https://github.com/NibioOpenSource/pgtopo_update_sql/blob/develop/src/test/sql/import/data2/muni_ok.shp
 contains the ok surfaces, but not the 4 surfaces where I have moved the border 
data around. But all edges needed are present in this file since the surface 
not added are inclosed by other surfaces.


The I added the files “muni_buffer_in.shp muni_buffer_in_2.shp 
muni_buffer_out.shp muni_projected.shp”, my hope was that the edges for this 
surfaces should snap to the exiting edges, but that did not seem to happen.


Her is the code I tested with


# create test schema if not exist

psql sl -c'CREATE SCHEMA IF NOT EXISTS test2;'


# copy file muni_ok that contains ok municipalities border "where komid not in 
(125,214,233,301)" into table test2.sf_in (drop and create if exits)

shp2pgsql -W UTF-8 -d -D -s 4258 data2/muni_ok.shp test2.sf_in | psql sl;

# copy data from test2.sf_in into table topo_2.muni_surface (topo table 
topo_2.muni_surface will craeted on the fly if it does not exist)

psql sl -c "SELECT 
topo_help_sf_to_topology_case_1('test2.sf_in','topo_2.muni_surface',0.00001,false,'new_gid_id',true,true);"


# copy file muni_buffer_out that contains not ok buffered out municipalitie 
border "where komid not in (125)" into table test2.sf_in (drop and create if 
exits)

shp2pgsql -W ISO-8859-1 -d -D -s 4258 data2/muni_buffer_out test2.sf_in | psql 
sl; psql sl -c "SELECT 
topo_help_sf_to_topology_case_1('test2.sf_in','topo_2.muni_surface');"

# copy data from test2.sf_in into table topo_2.muni_surface (append data to 
topo_2.muni_surface)

psql sl -c "SELECT 
topo_help_sf_to_topology_case_1('test2.sf_in','topo_2.muni_surface',0.00001);"


# copy file muni_buffer_in that contains not ok buffered in municipalitie 
border "where komid not in (214)" into table test2.sf_in (drop and create if 
exits)

shp2pgsql -W ISO-8859-1 -d -D -s 4258 data2/muni_buffer_in test2.sf_in | psql 
sl; psql sl -c "SELECT 
topo_help_sf_to_topology_case_1('test2.sf_in','topo_2.muni_surface');"

# copy data from test2.sf_in into table topo_2.muni_surface (append data to 
topo_2.muni_surface)

psql sl -c "SELECT 
topo_help_sf_to_topology_case_1('test2.sf_in','topo_2.muni_surface',0.00001);"


# copy file muni_projected that contains not ok projectes municipalitie border 
"where komid not in (233)" into table test2.sf_in (drop and create if exits)

shp2pgsql -W ISO-8859-1 -d -D -s 4258 data2/muni_projected test2.sf_in | psql 
sl; psql sl -c "SELECT 
topo_help_sf_to_topology_case_1('test2.sf_in','topo_2.muni_surface');"

# copy data from test2.sf_in into table topo_2.muni_surface (append data to 
topo_2.muni_surface)

psql sl -c "SELECT 
topo_help_sf_to_topology_case_1('test2.sf_in','topo_2.muni_surface',0.00001);"


# copy file muni_buffer_in_2 that contains not ok buffered in municipalitie 
border "where komid not in (301)" into table test2.sf_in (drop and create if 
exits)

shp2pgsql -W ISO-8859-1 -d -D -s 4258 data2/muni_buffer_in_2 test2.sf_in | psql 
sl; psql sl -c "SELECT 
topo_help_sf_to_topology_case_1('test2.sf_in','topo_2.muni_surface');"

# copy data from test2.sf_in into table topo_2.muni_surface (append data to 
topo_2.muni_surface)

psql sl -c "SELECT 
topo_help_sf_to_topology_case_1('test2.sf_in','topo_2.muni_surface',0.00001);"


Lars



_______________________________________________
postgis-users mailing list
postgis-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/postgis-users

Reply via email to