亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 不規(guī)則三角網(wǎng)中初始三角網(wǎng)的建立.sql

?? 在開源數(shù)據(jù)庫Postgre中使用GSQL語言實(shí)現(xiàn)不規(guī)則三角網(wǎng)中的初始三角網(wǎng)的建立
?? SQL
字號(hào):
begin;-- 從一個(gè)點(diǎn)表數(shù)據(jù)中生成初始三角網(wǎng)CREATE OR REPLACE FUNCTION create_tin_from_table(varchar,varchar) returns booleanas $$declare	ret boolean;	pt_rel alias for $1;	tin_pre alias for $2;	tin_rel varchar;	pt_tmp varchar;	tin_bound varchar;	myrec record;	sqlstr text;		ptnum integer;	i integer;	minbound geometry;	minbound_ls geometry;	edge_rel varchar;	triangle geometry;		pt_1 geometry;	pt_2 geometry;	pt_3 geometry;	pt_1_id integer;	pt_2_id integer;	pt_3_id integer;		line_1 geometry;	line_2 geometry;	line_3 geometry;	line_1_id integer;	line_2_id integer;	line_3_id integer;begin	--變量初始化	ret := true;	pt_tmp := tin_pre || '_tmp';	edge_rel := tin_pre || '_edge';	tin_rel := tin_pre || '_tin';		-- 創(chuàng)建邊數(shù)據(jù)表	sqlstr := 'create table "'||  edge_rel ||'"('||		'_geoid serial primary key , '||		'startid integer,'||		'endid integer,'||		'isbound boolean default false'||		');';		execute sqlstr;				sqlstr := 'select AddGeometryColumn('|| quote_literal('') ||','|| quote_literal(edge_rel) ||','|| quote_literal('_geo') ||',-1,'|| quote_literal('LINESTRING') ||',2)';		execute sqlstr;	-- 創(chuàng)建三角形表	sqlstr := 'create table "'|| tin_rel ||'"('||	'_geoid serial primary key,' ||	'line1id integer,'||		--邊的編號(hào)	'line2id integer,'||	'line3id integer,'||	'point1id integer,'||	        --頂點(diǎn)編號(hào)	'point2id integer,'||	'point3id integer'||	');';	execute sqlstr;		sqlstr := 'select AddGeometryColumn('|| quote_literal('') ||','|| quote_literal(tin_rel) ||','|| quote_literal('_geo') ||',-1,'|| quote_literal('POLYGON') ||',2)';	execute sqlstr;			--為三角形表創(chuàng)建索引	sqlstr := 'create index "'|| tin_rel ||'_idx" on "'|| tin_rel ||'" using gist(_geo)';	execute sqlstr;	-- 創(chuàng)建三角網(wǎng)的最小凸多邊形表,僅僅有一條記錄	tin_bound := tin_pre || '_bound';	sqlstr := 'create table "' || tin_bound || '"('||		'_geoid serial primary key'||		');';	execute sqlstr;	sqlstr := 'SELECT AddGeometryColumn('|| quote_literal('') ||','|| quote_literal(tin_bound) ||','|| quote_literal('_geo') ||',-1,'|| quote_literal('POLYGON') ||',2)';	execute sqlstr;	--創(chuàng)建臨時(shí)表空間,存放所有的點(diǎn),對表的所有操作都是在臨時(shí)表中進(jìn)行	sqlstr := 'create table "'|| pt_tmp ||'" as select * from "'|| pt_rel ||'"';  --從原來的電表中創(chuàng)建點(diǎn)臨時(shí)表表	execute sqlstr;		sqlstr := 'alter table "'|| pt_tmp ||'" add _geoid serial; ';   --修改表使表中的id遞增	execute sqlstr;		sqlstr := 'alter table "'|| pt_tmp ||'" add isused boolean default false';  --修改表增加已用在凸包上的點(diǎn)	execute sqlstr;		sqlstr := 'update "'|| pt_tmp ||'" set _geo=setsrid(_geo,-1)';   --更新表使表中id統(tǒng)一	execute sqlstr;	-- 求出最小凸包	sqlstr := 'insert into "'|| tin_bound ||'"(_geo) select setsrid(st_convexhull(st_collect(_geo)),-1) from "'|| pt_tmp ||'"';	execute sqlstr;		sqlstr := 'select _geo from "'|| tin_bound ||'" limit 1';	for myrec in execute sqlstr loop		minbound := (myrec._geo);		minbound_ls := st_exteriorring(minbound);	end loop;	ptnum := npoints(minbound_ls);	--創(chuàng)建最初的三角網(wǎng)	--取第一點(diǎn)	i := 1;	pt_1 := st_pointn(minbound_ls,i);	pt_1_id := get_geometry_id(pt_1,pt_tmp);	i := i + 1;	pt_2 := st_pointn(minbound_ls,i);	pt_2_id := get_geometry_id(pt_2,pt_tmp);	i := i + 1;		--第一條邊入庫	line_1 := makeline(pt_1,pt_2);	sqlstr := 'insert into "'|| edge_rel ||'"(_geo,startid,endid,isbound) values('|| quote_literal(astext(line_1)) ||'::geometry,'|| pt_1_id ||','|| pt_2_id ||',true)';	execute sqlstr;	line_1_id := currval('"' || edge_rel || '__geoid_seq"');		while (i < ptnum) loop		pt_3 := st_pointn(minbound_ls,i);		pt_3_id := get_geometry_id(pt_3,pt_tmp);					-- 三角形的第二條邊		line_2 := makeline(pt_2,pt_3);		sqlstr := 'insert into "'|| edge_rel ||'"(_geo,startid,endid,isbound) values('|| quote_literal(astext(line_2)) ||'::geometry,'|| pt_2_id ||','|| pt_3_id ||',true)';		execute sqlstr;		line_2_id := currval('"'|| edge_rel ||'__geoid_seq"');				-- 三角形的第三條邊		line_3 := makeline(pt_3,pt_1);		sqlstr := 'insert into "' || edge_rel || '"(_geo,startid,endid,isbound) values('|| quote_literal(astext(line_3)) ||'::geometry,'|| pt_3_id ||','|| pt_1_id ||',false)';		execute sqlstr;		line_3_id := currval('"' || edge_rel || '__geoid_seq"');		-- 第i-2個(gè)三角形入庫		line_1 := st_addpoint(line_1,pt_3);		line_1 := st_addpoint(line_1,pt_1);		triangle := makepolygon(line_1);				sqlstr := 'insert into "'|| tin_rel ||'"(_geo,line1id,line2id,line3id,point1id,point2id,point3id) values('|| quote_literal(astext(triangle)) ||'::geometry,' 			|| line_1_id ||','|| line_2_id ||','|| line_3_id ||','||  pt_1_id ||','|| pt_2_id ||','|| pt_3_id ||')'; 		execute sqlstr;		pt_2_id := pt_3_id;		pt_2 := pt_3;		line_1 := st_reverse(line_3);		line_1_id := line_3_id;				i := i + 1;	end loop;	sqlstr := 'update "' || edge_rel || '" set isbound=true where _geoid=' || line_3_id;	execute sqlstr;	-- 將已經(jīng)使用過的點(diǎn)在臨時(shí)點(diǎn)表中做好標(biāo)記	sqlstr := 'update "' || pt_tmp || '" set isused=true where _geoid in ( select startid from "' || edge_rel || '") or _geoid in (select endid from "' || edge_rel || '");'; 	execute sqlstr; 	--將臨時(shí)表刪掉	sqlstr := 'drop table "'|| pt_tmp ||'"';	execute sqlstr;	return ret;end;$$ language 'plpgsql';create or replace function get_geometry_id(geometry,varchar) returns integeras $$declare	id integer;	sqlstr text;	myrec record;begin	sqlstr := 'select _geoid from "'|| $2 ||'" where _geo = '|| quote_literal(astext($1)) || '::geometry';	for myrec in execute sqlstr loop		id := myrec._geoid;	end loop;	return id;	end;$$ language 'plpgsql';create or replace function drop_tin(varchar) returns booleanas $$declare	tin_pre alias for $1;	edge_rel varchar;	tin_rel varchar;	tin_bound varchar;	sqlstr text;begin	edge_rel := tin_pre || '_edge';	tin_rel := tin_pre || '_tin';	tin_bound := tin_pre || '_bound';       --刪除空間列	sqlstr := 'select dropgeometrycolumn ('|| quote_literal(edge_rel) ||','|| quote_literal('_geo') ||')'; 	execute sqlstr;	sqlstr := 'drop table "'|| edge_rel ||'"';	execute sqlstr;	sqlstr := 'select dropgeometrycolumn ('|| quote_literal(tin_rel) ||','|| quote_literal('_geo') ||')';	execute sqlstr;	sqlstr := 'drop table "'|| tin_rel ||'"';	execute sqlstr;	sqlstr := 'select dropgeometrycolumn ('|| quote_literal(tin_bound) ||','|| quote_literal('_geo') ||')';	execute sqlstr;	sqlstr := 'drop table "'|| tin_bound ||'"';	execute sqlstr;		return true;end;$$ language 'plpgsql';end;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美另类图片小说| 成人国产精品视频| 亚洲va韩国va欧美va| 亚洲欧美日韩国产中文在线| 亚洲国产精品二十页| 国产日韩精品视频一区| 中文字幕第一区第二区| 欧美高清在线一区二区| 国产精品午夜免费| 国产精品热久久久久夜色精品三区 | 免费黄网站欧美| 免费国产亚洲视频| 国产一二三精品| 不卡高清视频专区| 色婷婷综合久色| 欧美日韩免费视频| 欧美成人三级电影在线| 国产亚洲一区二区三区在线观看| 国产婷婷色一区二区三区在线| 欧美国产乱子伦| 亚洲四区在线观看| 亚洲午夜久久久久久久久电影网 | 亚洲三级在线免费| 一二三四社区欧美黄| 亚洲成av人片| 美女免费视频一区二区| 国产成人在线视频播放| 91免费在线视频观看| 欧美美女网站色| 久久久夜色精品亚洲| 亚洲视频综合在线| 日本欧美在线观看| 国产福利不卡视频| 91久久精品网| 精品区一区二区| 中文字幕在线不卡一区二区三区| 一区二区三区国产精品| 蜜桃精品视频在线| 成人性视频免费网站| 欧美丝袜丝交足nylons图片| 精品久久久久久无| 最新中文字幕一区二区三区| 亚洲va欧美va人人爽| 国产99久久久国产精品潘金| 欧美在线影院一区二区| 26uuu精品一区二区在线观看| 中文字幕在线不卡一区| 三级欧美韩日大片在线看| 国产a视频精品免费观看| 欧美理论片在线| 欧美激情在线一区二区三区| 亚洲高清免费一级二级三级| 国产福利一区二区三区在线视频| 欧美专区在线观看一区| 精品国产露脸精彩对白| 亚洲韩国精品一区| 日韩精品久久理论片| 不卡大黄网站免费看| 日韩欧美在线123| 亚洲一区二区三区视频在线 | 一本色道综合亚洲| 久久免费看少妇高潮| 亚洲国产精品久久不卡毛片 | 欧美一区在线视频| 亚洲卡通动漫在线| 国产高清精品网站| 日韩欧美精品三级| 亚洲一区二区三区在线看| 国产v日产∨综合v精品视频| 日韩一区二区免费视频| 亚洲图片欧美综合| 一本久久a久久精品亚洲| 久久精品日韩一区二区三区| 日本少妇一区二区| 欧美日韩在线电影| 亚洲另类色综合网站| 岛国一区二区在线观看| 精品国精品国产| 日本 国产 欧美色综合| 欧美三片在线视频观看| 亚洲免费观看视频| 99久久免费精品高清特色大片| 2017欧美狠狠色| 麻豆一区二区99久久久久| 欧美日韩在线直播| 亚洲一二三区视频在线观看| 色综合久久中文字幕综合网| 国产精品丝袜久久久久久app| 国产精品一线二线三线精华| 日韩欧美一区中文| 日韩av一级片| 制服丝袜亚洲精品中文字幕| 亚洲国产成人高清精品| 欧美影视一区在线| 一区二区三区色| 色婷婷亚洲综合| 亚洲精品中文字幕乱码三区| 91蝌蚪国产九色| 亚洲三级小视频| 色婷婷综合久色| 亚洲自拍偷拍av| 欧美日韩精品系列| 日韩精品一级二级| 欧美岛国在线观看| 另类小说一区二区三区| 精品国产成人系列| 美女一区二区三区在线观看| 亚洲精品在线观看视频| 国产精品一区二区视频| 久久久不卡网国产精品二区| 国产河南妇女毛片精品久久久| 国产婷婷色一区二区三区在线| 国产很黄免费观看久久| 中文字幕在线观看不卡| 欧美在线视频你懂得| 亚洲一区二区三区小说| 欧美一区二区三区免费观看视频 | 在线观看亚洲专区| 午夜欧美一区二区三区在线播放| 欧洲另类一二三四区| 亚洲成人免费观看| 日韩欧美在线一区二区三区| 国模一区二区三区白浆| 亚洲国产激情av| 色综合 综合色| 亚洲18女电影在线观看| 日韩一区二区麻豆国产| 国产成人精品三级麻豆| 亚洲欧美日韩中文播放| 欧美日韩国产首页| 韩国三级中文字幕hd久久精品| 日本一区二区成人在线| 欧美在线啊v一区| 免费精品视频在线| 国产精品美女久久久久久| 在线中文字幕不卡| 美女网站一区二区| 亚洲欧洲成人av每日更新| 欧美人伦禁忌dvd放荡欲情| 国产一区二区h| 伊人开心综合网| 精品噜噜噜噜久久久久久久久试看 | 玉米视频成人免费看| 欧美一二三四区在线| yourporn久久国产精品| 视频一区中文字幕| 国产欧美一区二区三区沐欲| 欧美丝袜丝nylons| 岛国av在线一区| 午夜欧美2019年伦理| 欧美国产精品一区| 欧美疯狂做受xxxx富婆| 成人app软件下载大全免费| 天堂va蜜桃一区二区三区| 国产日韩三级在线| 欧美乱妇一区二区三区不卡视频| 国产成人精品一区二区三区四区| 亚洲aⅴ怡春院| 国产精品传媒入口麻豆| 欧美一区二区三区思思人| 91在线小视频| 国产一区二区三区久久悠悠色av| 亚洲精品国久久99热| 欧美精品一区男女天堂| 欧美美女一区二区在线观看| av在线这里只有精品| 久久精品国产第一区二区三区| 一区二区欧美国产| 国产精品午夜久久| 亚洲精品一区二区三区99| 欧美日韩大陆一区二区| 99久久婷婷国产综合精品电影| 久久国产精品99久久久久久老狼| 亚洲精品乱码久久久久久黑人 | 亚洲欧洲成人av每日更新| xfplay精品久久| 欧美日本国产视频| 色素色在线综合| 成人国产免费视频| 国产精品一区久久久久| 蜜臀av在线播放一区二区三区| 亚洲午夜国产一区99re久久| 亚洲人被黑人高潮完整版| 国产日产欧产精品推荐色| 日韩三级.com| 欧美久久一二三四区| 欧美天堂一区二区三区| 一本色道久久加勒比精品| 成人免费观看av| 国产成人免费在线视频| 久久99国产精品久久| 久久99在线观看| 欧美aaaaaa午夜精品| 日本最新不卡在线| 天天综合天天做天天综合| 五月天亚洲婷婷| 亚洲6080在线| 丝袜亚洲另类丝袜在线| 午夜在线成人av| 亚洲电影一区二区|