contrib:add_names_of_streets_et_al_from_shapefile_to_oracle_spatial
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
contrib:add_names_of_streets_et_al_from_shapefile_to_oracle_spatial [2007/07/25 18:19] – sleleiva | contrib:add_names_of_streets_et_al_from_shapefile_to_oracle_spatial [2008/01/28 10:13] (current) – deleted -- obsolete information sleleiva | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | * Replace all occurrences of SHP_TABLE (case sensitive, can be part of a word) in the script below with the table name of the imported map from Shapefile (copy all script from below to a text editor and perform that replace); | ||
- | * Copy/Paste (in Linux: select text and then use middle mouse button or Shift+Insert to paste it in a console) the script line-by-line, | ||
- | Previous solution did not seem to work -- the street names and costs get themselves assigned to the wrong links, so there is no relation SHP_TABLE_TOPO.ID< | ||
- | <code oracle8> | ||
- | -- We have to compare on a geometry-by-geometry basis but in Oracle we cannot compare multi-column values () so we create a signature by creating CBLOB of Well-Known-Text on GEOMETRY: | ||
- | ALTER TABLE SHP_TABLE ADD WKT; | ||
- | ALTER TABLE SHP_TABLE_LINK$ ADD WKT; | ||
- | UPDATE SHP_TABLE t SET WKT=t.GEOMETRY.GET_WKT(); | ||
- | UPDATE SHP_TABLE_LINK$ l SET WKT=l.GEOMETRY.GET_WKT(); | ||
- | -- ! these two UPDATE SQLs now are giving an error, have to deal with: | ||
- | -- ORA-01652: unable to extend temp segment by 128 in tablespace TEMP | ||
- | |||
- | |||
- | -- Then will copy values according to comparing WKTs: | ||
- | |||
- | -- copy/paste everything in one go between BEGIN and termination line with symbol “/” (including): | ||
- | |||
- | -- for street length and names: | ||
- | BEGIN | ||
- | FOR r IN (SELECT LINK_ID FROM SHP_TABLE_LINK$) LOOP | ||
- | UPDATE SHP_TABLE_LINK$ SET (COST, NAME)=( | ||
- | SELECT LENGTH, NAME FROM SHP_TABLE WHERE WKT=( | ||
- | SELECT WKT FROM SHP_TABLE_LINK$ l WHERE LINK_ID = r.LINK_ID) | ||
- | ) | ||
- | WHERE LINK_ID=r.LINK_ID; | ||
- | END LOOP; | ||
- | END; | ||
- | / | ||
- | </ |
/data/www/wiki.inf.unibz.it/data/attic/contrib/add_names_of_streets_et_al_from_shapefile_to_oracle_spatial.1185380344.txt.gz · Last modified: 2019/01/16 10:03 (external edit)