久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

上機實習報告格式

時間:2019-05-15 12:32:14下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《上機實習報告格式》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《上機實習報告格式》。

第一篇:上機實習報告格式

文獻檢索實習報告(參考格式)

課程名稱:文獻檢索日期:

學院:班號:姓名:學號:

實驗名稱:電子圖書等資源檢索。

實驗目的:掌握圖書資源如何檢索和利用,熟悉人名錄或機構名錄的檢索。實驗內容:

1、用CALIS檢索你們自己任課教師的編著發表情況。

2、用超星檢索自己所在專業的某一方面的圖書出版情況,并采集某一本書的一段文字,一個圖。(以超星為例)

(1).登陸四川理工學院圖書館主頁。

(2).找到電子資源,點擊進入圖書館電子資源界面。

(3).找到熱門資源中的“超星數字圖書館”,并點擊“本地”,進

入超星數字圖書館。

(4).找到“瀏覽器”,點擊并下載超星星瀏覽器。

(5).下載好“超星星瀏覽器”后就可以瀏覽圖書了。

(6).例如查

3、利用物競化學品數據庫檢索某一具體化學物質的相關數據。

4、用萬方數據庫檢索我國某一位院士/科學家/某學科領域著名學者的名錄。

實習報告要求:用自己姓名作為文件名稱,將作業發送給各班指定的同學。

第二篇:linux上機實習報告

目 錄

Linux 第一次上機(運行環境RedHat)................................................................................1 調試運行CD唱片應用程序.......................................................................................1 運行過程............................................................................................................1 心得體會............................................................................................................3 編寫shell腳本,求1到100的和..............................................................................3 運行過程............................................................................................................3 源代碼...............................................................................................................4 編寫shell腳本,從鍵盤輸入兩個數,求這兩個數的和.................................................4 運行過程............................................................................................................4 源代碼...............................................................................................................5 等待特定用戶登錄,每30秒確認一次.......................................................................5 運行過程............................................................................................................5 源代碼...............................................................................................................6 找出系統中當前消耗磁盤容量最大的前10個用戶,并向他們發送警告郵件...............6 運行過程............................................................................................................6 源代碼...............................................................................................................8 查找輸入文件的路徑.................................................................................................8 運行過程............................................................................................................8 源代碼...............................................................................................................9 Linux 第二次上機(運行環境RedHat)................................................................................9 定制自己的ls命令。提供至少三種帶參數的執行方式................................................9 運行過程............................................................................................................9 源代碼..............................................................................................................11 調試編譯串行口通信程序p6.5.c...............................................................................16 運行過程..........................................................................................................16 Linux 第三次上機(運行環境RedHat,CentOS)...............................................................16 創建一個系統監聽守護進程,一旦接收到其他進程發來的信號,馬上給出報告........16 運行過程..........................................................................................................16 源代碼.............................................................................................................18 分別利用本地socket套接字和INTENET套接字實現進程間文件傳輸......................20 本地socket套接字運行過程.............................................................................20 本地socket套接字服務器server1.c源代碼........................................................22 本地socket套接字客戶端client1.c源代碼.........................................................23 INTENET套接字運行過程...............................................................................25 INTENET套接字服務器server2.c源代碼..........................................................28 INTENET套接字客戶端client2.c源代碼...........................................................29 感謝與收獲....................................................................................................................30

Linux 第一次上機(運行環境RedHat)調試運行CD唱片應用程序 運行過程

圖表 1第一步,使用./CD 命令運行CD腳本

圖表 2進入選項界面

圖表 3增加CD

圖表 4查找CD

圖表 5查詢數目

圖表 6退出

心得體會

通過運行書上的CD唱片應用程序,進一步地了解到shell編程的方法,以及編寫程序的思路。

編寫shell腳本,求1到100的和 運行過程

圖表 7使用./sum1to100運行

源代碼

圖表 8使用cat sum1to100查看源代碼

編寫shell腳本,從鍵盤輸入兩個數,求這兩個數的和

運行過程

圖表 9使用./sumAandB 運行

源代碼

圖表 10使用cat sumAandB查看源代碼

等待特定用戶登錄,每30秒確認一次 運行過程

已知特定用戶是zzx,我首先讓root用戶登錄并運行程序,可以發現每隔30s提醒一次

圖表 11使用./checkuser運行

當我切換到zzx用戶,并再次運行程序,可得如下結果

源代碼

圖表 12使用cat checkuser查看代碼

找出系統中當前消耗磁盤容量最大的前10個用戶,并向他們發送警告郵件 運行過程

由于權限等問題,我們使用root用戶運行程序

圖表 13使用./mymail運行

運行完畢后,我們就可以查看郵件了

圖表 14 root用戶收到的郵件

圖表 15 zzx用戶收到的郵件

圖表 16 t1用戶收到的郵件

源代碼

圖表 17 使用cat命令查看

查找輸入文件的路徑 運行過程

由于權限的問題,我們使用root用戶運行程序

圖表 18 使用./route運行,并按照要求輸入文件名

源代碼

圖表 19 使用cat route查看源代碼

Linux 第二次上機(運行環境RedHat)定制自己的ls命令。提供至少三種帶參數的執行方式 運行過程

圖表 20 使用./ls 運行不帶參數ls

圖表 21使用./ls-l 運行帶參數-l 的ls

圖表 22 使用./ls-a運行帶參數-a的ls

圖表 23使用./ls-al 運行帶參數-al的ls 源代碼

#include #include #include #include #include #include #include

#include #include #include

int do_ls(char *dir,char *filename,int lflag){

int n;struct stat buf;char out[100];struct passwd *pw;

struct group *gr;struct tm *t;if(lflag == 0){

} {

} return 0;

printf(“%st”,filename);if(lstat(dir,&buf)<0)fprintf(stderr,“stat error:%sn”,strerror(errno));return-1;switch(buf.st_mode & S_IFMT){ case S_IFREG: printf(“-”);break;case S_IFDIR: printf(“d”);break;case S_IFCHR: printf(“c”);break;case S_IFBLK: printf(“b”);break;case S_IFIFO: printf(“p”);break;case S_IFLNK: printf(“l”);break;

case S_IFSOCK:

printf(“s”);} for(n=8;n>=0;n--){

if(buf.st_mode&(1<

break;

}

} else { } { case 2:

printf(“r”);break;case 1:

printf(“w”);break;case 0:

printf(“x”);break;default: break;} printf(“-”);printf(“ %d”,buf.st_nlink);

pw = getpwuid(buf.st_uid);printf(“ %s”,pw->pw_name);gr = getgrgid(buf.st_gid);printf(“ %s”,gr->gr_name);printf(“ %ld”,buf.st_size);t = localtime(&buf.st_atime);printf(“ %d-%d-%d %d:%d”

,t->tm_year+1900 ,t->tm_mon+1 ,t->tm_mday ,t->tm_hour ,t->tm_min);

printf(“ %s ”,filename);

if(S_ISLNK(buf.st_mode)){

printf(“-> ”);if(readlink(filename,out,100)==-1){ } //printf(“readlink errorn”);

} printf(“%s”,out);} printf(“n”);return 0;int ls_prepare(char *w,int aflag,int lflag){

struct stat buf;char name[100];DIR *dir;

struct dirent *pdr;if(lstat(w,&buf)<0){ fprintf(stderr,“stat error:%sn”,strerror(errno));return-1;} if(S_ISDIR(buf.st_mode)){

dir = opendir(w);{

} closedir(dir);

while((pdr = readdir(dir))!=NULL)if(aflag==0){

if(pdr->d_name[0]=='.')

continue;memset(name,0,100);

strcpy(name,w);

strcat(name,“/”);

strcat(name,pdr->d_name);do_ls(name,pdr->d_name,lflag);}else

{

} memset(name,0,100);strcpy(name,w);strcat(name,“/”);strcat(name,pdr->d_name);do_ls(name,pdr->d_name,lflag);}else { do_ls(w,w,lflag);

} {

} }

return 0;int main(int argc,char **argv)int aflag =0;int lflag =0;char c;int i;while((c = getopt(argc,argv,“al”))!=-1){

} switch(c){ case 'a': aflag =1;break;case 'l': lflag =1;break;default: break;}

if(argc == optind){ ls_prepare(“./”,aflag,lflag);} else {

} for(i=optind;i

調試編譯串行口通信程序p6.5.c 運行過程

由于權限問題,我們在root用戶下運行程序

圖表 24 使用./mytrunk不帶參數運行

圖表 25使用./mytrunk /dev/ttyS0 0帶參數運行

Linux 第三次上機(運行環境RedHat,CentOS)創建一個系統監聽守護進程,一旦接收到其他進程發來的信號,馬上給出報告 運行過程

圖表 26首先運行守護進程之后查看 當前進程

圖表 27可以發現守護進程-jincheng在后臺運行,且 PPID=1,PID=4085

圖表 28可以發現守護進程向test.txt發送了start

圖表 29向守護進程發送終止信號,終止守護進程

圖表 30可以發現后臺運行的守護進程沒了

圖表 31可以發現守護進程又向test.txt發送了end

圖表 32具體查看test.txt

圖表 33具體查看test.txt的內容

源代碼

#include #include #include #include #include #include #include /* Daemonize myself.*/ int fd1;void sigintHandler(int sig){

if(sig==SIGTERM){ write(fd1,“endn”,5);exit(0);} } int daemon(int nochdir, int noclose){

pid_t pid;

pid = fork();

/* In case of fork is error.*/

if(pid < 0)

{

perror(“fork”);

return-1;

}

/* In case of this is parent process.*/

if(pid!= 0)

exit(0);

/* Become session leader and get pid.*/

pid = setsid();

if(pid <-1)

{

perror(“setsid”);

return-1;

}

/* Change directory to root.*/

if(!nochdir)

chdir(“/”);

/* File descriptor close.*/

if(!noclose)

{

int fd;

fd = open(“/dev/null”, O_RDWR, 0);

if(fd!=-1)

{

dup2(fd, STDIN_FILENO);

}

dup2(fd, STDOUT_FILENO);

dup2(fd, STDERR_FILENO);

if(fd > 2)

close(fd);

}

umask(0027);

return 0;

}

int main(void){ fd1=open(“test.txt”,O_RDWR | O_TRUNC);

} write(fd1,“startn”,7);daemon(0,0);signal(SIGTERM,sigintHandler);sleep(1000);return 0;

分別利用本地socket套接字和INTENET套接字實現進程間文件傳輸

本地socket套接字運行過程

圖表 34使用./server1運行服務器,顯示服務器等待狀態

圖表 35當在另外一個終端運行客戶端程序時,服務器顯示客戶連接,并要求輸入傳輸文件名稱

圖表 36當服務器輸入文件名稱server1.c后客戶端顯示接收信息,不過接收到的文件重定向到

test.txt中

圖表 37 server1.c的內容

圖表 38 客戶端接收到顯示在test.txt的內容,和server1.c的內容比較,完全一致

本地socket套接字服務器server1.c源代碼

#include #include #include #include #include #include #include #include int main(){

int filefd,n;////////////////

char file[100],buf[1024];////////////////

int server_sockfd,client_sockfd;

int server_len,client_len;

struct sockaddr_un server_address;

struct sockaddr_un client_address;

unlink(“server_socket”);

server_sockfd =socket(AF_UNIX,SOCK_STREAM,0);

server_address.sun_family =AF_UNIX;

strcpy(server_address.sun_path,“server_socket”);

server_len =sizeof(server_address);

bind(server_sockfd,(struct sockaddr *)&server_address,server_len);

listen(server_sockfd,5);

while(1)

{

printf(“server waitingn”);

client_len =sizeof(client_address);

client_sockfd=accept(server_sockfd,(struct *)&client_address,&client_len);

if(client_sockfd!=-1)

{

printf(“you have a client ,please put the filename to transport!n”);

scanf(“%s”,file);

if((filefd=open(file,O_RDWR))<0)

{

perror(“can't find the file”);

exit(1);

}

printf(“filefd= %dn”,filefd);

printf(“the file is transported ,please wait...n”);

lseek(filefd,0L,0);//每次接受客戶機連接,應將用于讀的源文件指針移到文件頭

write(client_sockfd,file,sizeof(file));//傳送文件名

if((n=read(filefd,buf,sizeof(buf)))>0)

{

}

write(client_sockfd,buf,n);

sockaddr

printf(“you have transport %d bytes and it is end!n”,n);

close(client_sockfd);

}

close(filefd);

} }

本地socket套接字客戶端client1.c源代碼

#include #include #include #include #include #include

#include #include int main(){

int filefd,n,oldfilefd;/////////////////

char file[100],buf[1024];

int sockfd;

int len;

struct sockaddr_un address;

int result;

sockfd =socket(AF_UNIX, SOCK_STREAM,0);

address.sun_family =AF_UNIX;

strcpy(address.sun_path,“server_socket”);

len=sizeof(address);

result=connect(sockfd,(struct sockaddr *)&address,len);

if(result ==-1)

{

perror(“oops:client1”);

exit(1);

}

if(result!=-1)

{

oldfilefd=open(“test.txt”,O_RDWR);

filefd=dup(oldfilefd);

read(sockfd,file,sizeof(file));

printf(“the filename you receive is:%sn”,file);

if((n=read(sockfd,buf,sizeof(buf)))>0)

{

write(filefd,buf,n);

}

printf(“you have received a file which is %d bytes,but the file's context cover the test.txt,so please check into test.txt!n”,n);

close(sockfd);

}

close(filefd);

exit(0);}

INTENET套接字運行過程

圖表 39使用./server2運行服務器,顯示服務器等待狀態

圖表 40當在另外一個終端運行客戶端程序時,服務器顯示客戶連接,并要求輸入傳輸文件名稱

圖表 41當服務器輸入文件名稱server2.c后客戶端顯示接收信息,不過接收到的文件重定向到

test.txt中

圖表 42 server2.c的內容

圖表 43客戶端接收到顯示在test.txt的內容,和server2.c的內容比較,完全一致

INTENET套接字服務器server2.c源代碼

#include #include #include #include #include #include #include #include #include

int main(){ int filefd,n;////////////////

char file[100],buf[4096];/////////////////// int server_sockfd,client_sockfd;

int server_len,client_len;struct sockaddr_in server_address;struct sockaddr_in client_address;server_sockfd =socket(AF_INET,SOCK_STREAM,0);server_address.sin_family=AF_INET;server_address.sin_addr.s_addr=inet_addr(“127.0.0.1”);server_address.sin_port =9734;server_len=sizeof(server_address);bind(server_sockfd,(struct sockaddr *)&server_address,server_len);listen(server_sockfd,5);while(1)

{

printf(“server waitingn”);

client_len =sizeof(client_address);

client_sockfd=accept(server_sockfd,(struct *)&client_address,&client_len);

if(client_sockfd!=-1)

{

printf(“you have a client ,please put the filename to transport!n”);scanf(“%s”,file);

if((filefd=open(file,O_RDWR))<0){

sockaddr

perror(“can't find the file”);

exit(1);

}

printf(“filefd= %dn”,filefd);

printf(“the file is transported ,please wait...n”);

lseek(filefd,0L,0);//每次接受客戶機連接,應將用于讀的源>文件指針移到文件頭

write(client_sockfd,file,sizeof(file));//傳送文件名

if((n=read(filefd,buf,sizeof(buf)))>0)

{

write(client_sockfd,buf,n);

}

printf(“you have transport %d bytes and it is end!n”,n);

close(client_sockfd);

}

close(filefd);

} }

INTENET套接字客戶端client2.c源代碼

#include #include #include #include #include #include #include #include #include

int main(){

int filefd,n,oldfilefd;//////////////////// char file[100],buf[4096];int sockfd;int len;struct sockaddr_in address;int result;sockfd =socket(AF_INET,SOCK_STREAM,0);address.sin_family =AF_INET;address.sin_addr.s_addr =inet_addr(“127.0.0.1”);address.sin_port =9734;len =sizeof(address);

result=connect(sockfd,(struct sockaddr *)&address,len);

if(result ==-1)

{

perror(“oops:client2”);

exit(1);

}

if(result!=-1){

oldfilefd=open(“test.txt”,O_RDWR);

filefd=dup(oldfilefd);

read(sockfd,file,sizeof(file));

printf(“the filename you receive is:%sn”,file);

if((n=read(sockfd,buf,sizeof(buf)))>0)

{

write(filefd,buf,n);

}

printf(“you have received a file which is %d bytes,but the file's context cover the test.txt,so please check into test.txt!n”,n);

close(sockfd);} close(filefd);

exit(0);}

感謝與收獲

通過這幾次上機實習,使我更加扎實的掌握了有關Linux C編程方面的知識,在設計過程中雖然遇到了一些問題,但經過一次又一次的思考,一遍又一遍的檢查終于找出了原因所在,也暴露出了前期我在這方面的知識欠缺和經驗不足。實踐出真知,通過編程,使我們掌握的知識不再是紙上談兵。

過而能改,善莫大焉。在課程設計過程中,我們不斷發現錯誤,不斷改正,不斷領悟,不斷獲取。最終的檢測調試環節,本身就是在踐行“過而能改,善莫大焉”的知行觀。這次課程設計終于順利完成了,在設計中遇到了很多問題,最后在老師的指導下,終于游逆而解。在今后社會的發展和學習實踐過程中,一定要不懈努力,不能遇到問題就想到要退縮,一定要不厭其煩的發現問題所在,然后一一進行解決,只有這樣,才能成功的做成想做的事,才能在今后的道路上披荊斬棘,而不是知難而退,那樣永遠不可能收獲成功,收獲喜悅,也永遠不可能得到社會及他人對你的認可!

實踐課誠然是一門專業課,給我很多專業知識以及專業技能上的提升,同時又是一門講道課,一門辯思課,給了我許多道,給了我很多思,給了我莫大的空間。同時,設計讓我感觸很深。使我對抽象的理論有了具體的認識。

我認為,在這學期的課程設計中,不僅培養了獨立思考、動手操作的能力,在各種

其它能力上也都有了提高。更重要的是,在課程設計上,我們學會了很多學習的方法。而這是日后最實用的,真的是受益匪淺。要面對社會的挑戰,只有不斷的學習、實踐,再學習、再實踐。這對于我們的將來也有很大的幫助。以后,不管有多苦,我想我們都能變苦為樂,找尋有趣的事情,發現其中珍貴的事情。就像中國提倡的艱苦奮斗一樣,我們都可以在實驗結束之后變的更加成熟,會面對需要面對的事情。

回顧起此課程設計,至今我仍感慨頗多,從理論到實踐,在這段日子里,可以說得是苦多于甜,但是可以學到很多很多的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,但可喜的是最終都得到了解決。

第三篇:大地測量上機實習報告

題目: 大地測量學上機實習

學 號:

姓 名: 班 級:

專 業: 測繪工程 課程名稱: 大地測量學基礎 課程老師:

大地測量學上機實習報告

一、實習目的:

了解大地測量學的定義以及作用,讓同學們充分了解大地測量學在現代社會的重要地位及其廣泛的應用,讓同學們體驗大地測量的一些解題計算方法與運用。也讓同學們對于復雜的測繪計算如何用計算機通過編程來解決,同時對于坐標轉化和高斯投影的處理方法進行一定的了解。

二、實習任務:

1、2、空間坐標轉換編程; 高斯投影正算編程;

3、高斯投影反算編程;

三、實習時間與地點:

地點:核工樓410教室;

時間:每周四上午一二節課,共三周;

四、實習儀器:

電腦,C++編程軟件;

5、實習步驟: 5.1實驗方法步驟

1、先了解書本上關于大地主題解算的步驟;

2、根據公式用VC編寫程序

3、對編寫的程序代碼進行調試運行 5.1.1大地坐標空間直角坐標系轉換

X?(N?H)cosBcosL?1)空間大地坐標系向空間直角坐標系的轉換公式為:Y?(N?H)cosBsinL??Z?[N(1?e2)?H]sinB??式中,N?a,a為橢球的長半軸,N為橢球的卯酉圈曲率半徑a=6378.137km W W?1?e2sin2B,e2?a2?b2a2,e為橢球的第一偏心率,b=6356.7523141km。

2)程序代碼 #include #include #define PI 3.14******795 double rad(double a,double b,double c){b=b+c/60;a=a+b/60;

a=a/180*PI;return a;} void deg(double d,int *d1,int *d2,double *d3){d=d/PI;*d1=(int)d;*d2=(int)((d-*d1)*60);*d3=((d-*d1)*60-*d2)*60;} void X1(double a1,double e){double l,b,h,x,y,z,a,b1,c,n,w;printf(“please input L:n”);scanf(“%lf%lf%lf”,&a,&b1,&c);l=rad(a,b1,c);

b為橢球的短半軸 printf(“please input B:n”);scanf(“%lf%lf%lf”,&a,&b1,&c);b=rad(a,b1,c);printf(“please input H:n”);scanf(“%lf”,&h);w=sqrt((1-e*e*sin(b)*sin(b)));n=a1/w;x=(n+h)*cos(b)*cos(l);y=(n+h)*cos(b)*sin(l);z=(n*(1-e*e)+h)*sin(b);printf(“X=%fnY=%fnZ=%fn”,x,y,z);} void X2(double a1,double e){double l,b,h,x,y,z,n,w,m,g,m1,g1,l3,b3;int l1,l2,b1,b2;printf(“please input X:n”);scanf(“%lf”,&x);printf(“please input Y:n”);scanf(“%lf”,&y);printf(“please input Z:n”);scanf(“%lf”,&z);l=atan2(y,x);do{m=(z+a1*e*e*g/sqrt(1+g*g-e*e*g*g))/sqrt(x*x+y*y);m1=atan(m);g1=atan(g);m1=m1/PI*180*3600;g1=g1/PI*180*3600;g=m;} while(sqrt((m1-g1)*(m1-g1))>0.0001);b=atan(m);w=sqrt(1-e*e*sin(b)*sin(b));n=a1/w;h=sqrt(x*x+y*y)/cos(b)-n;deg(l,&l1,&l2,&l3);deg(b,&b1,&b2,&b3);printf(“L=%d°%d'%2.6f''nB=%d°%d'%2.6f''nH=%5.6fmn”,l1,l2,l3,b1,b2,b3,h);} void f(int a){double a1,e,e2;int b,c;printf(“please input L,B,H→X,Y,Z:請輸入1 或 X,Y,Z→L,B,H:請輸入2n”);scanf(“%d”,&b);printf(“請選擇參考橢球面:n克拉索夫斯基橢球(請輸入1)n或 IUGG 1975橢球(請輸入2)n或 CGCS 2000橢球(請輸入3)n或WGS-84橢球體(請輸入4)”);scanf(“%d”,&c);if(c==1){a1=6378245.0000,e2=0.00669342162297;} else if(c==2){a1=6378140.0000,e2=0.00669438499959;} else if(c==3){a1=6378137.0000,e2=0.00669438002290;} else if(c==4){a1=6378137.0000,e2=0.00669437999013;};e=sqrt(e2);if(b==1)X1(a1,e);else if(b==2)X2(a1,e);} main(){int a=1;do {f(a);printf(“A,B,0n”);scanf(“%d”,&a);} while(a);} 調試運行:

5.1.2高斯投影正算

1)由第二條件知 : 位于中央子午線上的點,投影后的縱坐標 x 應等于投影前從赤道量至該點的子午線弧長 X,即(8-33)式第一式中,當 有:

顧及(對于中央子午線)

得:

依次求得

并代入(8-33)式,得到高斯投影正算公式

2)程序代碼: #include #include #define PI 3.1415926 #define p 206265 #define e 0.00669437999013 #define e1 0.00673949674227 main(){ double m0,m2,m4,m6,m8,a0,a2,a4,a6,a8;double B,X,t,n,N,W,x,y,l;float dd,mm,ss;int a=6378137;printf(“選擇WGS-84坐標系n”);printf(“input the B”);scanf(“%lf%lf%lf”,&dd,&mm,&ss);B=(dd+mm/60.0+ss/3600.0)*PI/180.0;W=sqrt(1-e*sin(B)*sin(B));N=a/W;n=e1*cos(B)*cos(B);t=tan(B);m0=a*(1-e);m2=3/2*e*m0;m4=5/4*e*m2;m6=7/6*e*m4;m8=9/8*e*m6;a0=m0+m2/2+3/8*m4+5/16*m6+35/128*m8;a2=m2/2+m4/2+15/32*m6+7/16*m8;a4=m4/8+3/16*m6+7/32*m8;a6=m6/32+m8/16;a8=m8/128;X=a0*B-a2/2*sin(2*B)+a4/4*sin(4*B)-a6/6*sin(6*B)+a8/8*sin(8*B);printf(“X=%lf”,X);printf(“輸入經差ln”);scanf(“%lf”,&l);

x=X+(N/(2*p*p))*sin(B)*cos(B)*l*l+(N/(24*p*p*p*p))*sin(B)*cos(B)*cos(B)*cos(B)*(5-t*t+9*n)*l*l*l*l;y=(N/p)*cos(B)*l+(N/(6*p*p*p))*cos(B)*cos(B)*cos(B)*(1-t*t+n)*l*l*l+(N/(120*p*p*p*p*p))*cos(B)*cos(B)*cos(B)*cos(B)*cos(B)*(5-18*t*t+t*t*t*t)*l*l*l*l*l;printf(“x=%lfny=%lfn”,x,y);return 0;} 運行調試結果:

5.1.3高斯投影反算 公式

B?Bf??tftf2MfNf5fy2?tf24MfN3f?5?3t2f224??2?9?tyfff?720MfNNfy61?90t2t4y6f?45f??l?yy322?1?2t??ffcosBf6N3cosBff???y5?120N5fcosBf2)程序代碼: #include #include

?5?28t2f2?24t4?2?2f?6f?8ftf#define PI 3.14***932 #define P 206264.806247096355 void main(){ long double RadianToAngle(long double alfa);long double Bf(long double a,long double b,long double x);void GSFS(long double a,long double b,long double Bf,long double y,long double *B,long double *l);long double a,b,x,y,L0;long double FSB,FSL;long double *pointer_B,*pointer_L;long double DH;pointer_B=&FSB;pointer_L=&FSL;a=6378140.0000000000;b=6356755.2881575287;printf(“請輸入x坐標和y坐標:(輸入時x坐標和y坐標之間用逗號隔開)n”);scanf(“%lf,%lf”,&x,&y);FSB=Bf(a,b,x);DH=floor(y/1000000);y=y-DH*1000000-500000;GSFS(a,b,FSB,y,pointer_B,pointer_L);FSB=RadianToAngle(FSB);FSL=RadianToAngle(FSL);L0=DH*6-3;printf(“nt===========================計算結果===========================n”);printf(“nttB=%-20.10lfttL=%-20.10lfn”,FSB,DH*6-3+FSL);printf(“nt===============n”);} long double RadianToAngle(long double alfa){ long double alfa1,alfa2;alfa=alfa*180./PI;alfa1=floor(alfa)+floor((alfa-floor(alfa))*60.)/100.;alfa2=(alfa*60.-floor(alfa*60.))*0.006;alfa1+=alfa2;return(alfa1);} long double Bf(long double a,long double b,long double x){ long double e,m0,m2,m4,m6,m8;long double a0,a2,a4,a6,a8;long double B,FB,Bn1,Bn;int n=0;e=(sqrt(a*a-b*b))/a;m0=a*(1-e*e);m2=3.0/2.0*e*e*m0;m4=5.0/4.0*e*e*m2;m6=7.0/6.0*e*e*m4;m8=9.0/8.0*e*e*m6;a0=m0+m2/2.0+3.0/8.0*m4+5.0/16.0*m6+35.0/128.0*m8;a2=m2/2.0+m4/2.0+15.0/32.0*m6+7.0/16.0*m8;a4=m4/8.0+3.0/16.0*m6+7.0/32.0*m8;a6=m6/32.0+m8/16.0;a8=m8/128.0;B=x/a0;FB=a2/2.0*sin(2*B)-a4/4.0*sin(4*B)+a6/6.0*sin(6*B)-a8/8.0*sin(8*B);do { Bn=B;B=(x+FB)/a0;FB=a2/2.0*sin(2*B)-a4/4.0*sin(4*B)+a6/6.0*sin(6*B)-a8/8.0*sin(8*B);Bn1=B;} while(fabs((Bn1-Bn)*P)>=0.000000000001);return(B);} void GSFS(long double a,long double b,long double Bf,long double y,long double *B,long double *l){ long double e,e1,V,t,u2;long double n0,n2,n4,n6,n8,sin2B,sin4B,sin6B,sin8B,N;e=(sqrt(a*a-b*b))/a;e1=(sqrt(a*a-b*b))/b;V=sqrt(1+e1*e1*cos(Bf)*cos(Bf));t=tan(Bf);u2=e1*e1*cos(Bf)*cos(Bf);n0=a;n2=1.0/2.0*e*e*n0;n4=3.0/4.0*e*e*n2;n6=5.0/6.0*e*e*n4;n8=7.0/8.0*e*e*n6;sin2B=pow(sin(Bf),2);sin4B=pow(sin(Bf),4);sin6B=pow(sin(Bf),6);sin8B=pow(sin(Bf),8);N=n0+n2*sin2B+n4*sin4B+n6*sin6B+n8*sin8B;

*B=Bf-1.0/2.0*V*V*t*((y/N)*(y/N)-1.0/12.0*(5+3*t*t+u2-9*u2*t*t)*pow((y/N),4)+1.0/360.0*(61+90*t*t+45*pow(t,4))*pow((y/N),6));*l=1.0/cos(Bf)*((y/N)-1.0/6.0*(1+2*t*t+u2)*pow((y/N),3)+1.0/120.0*(5+28*t*t+24*pow(t,4)+6*u2+8*u2*t*t)*pow(y/N,5));} 3)運行結果:

7、實習總結:

通過這次大地坐標轉換及高斯投影正反算程序代碼編寫設計的上機操作學習,我更加了解了如何運用計算機編程去處理復雜的測繪計算,并且也知道了對于編程時遇到的一般問題該如何解決,對于坐標轉換和高斯正反算的一些理念也有一定的了解。本次實習,利用計算機編程來實現測量數據的處理,讓我對坐標系之間的轉化,高斯投影正反算的原理以及計算過程有了更深刻的理解和記憶,感覺受益匪淺。不過在本次實習期間,也出現了一些小問題。在編寫程序的時候,略顯生疏,花費了較多的時間,以后有待提高;對于計算公式中的有的字母,忘記其所代表的具體意義,不過最終通過復習,搞明白每一個字母的含義。

實習就是一個理論與實踐相結合的過程,希望自己能在這一方面有更大的進步!

第四篇:計算機上機實習報告

計算機上機實習報告

姓名:張陸浩 班級:高材11001 學號:201001978 老師:張老師 熊老師 時間:2011年12月24日

一.實驗目的: 1.熟悉VB 6.0的開發環境,掌握基本的編程方法,熟悉用VB語言完成一個應用程序的設計過程,掌握有關編輯和調試程序的方法和技巧;2.主要掌握VB語言中的標準模塊的建立﹑數據文件的讀出與寫入、數組與選擇結構的運用,圖形操作等內容

3.了解開發簡單應用程序的全過程,包括:分析﹑設計﹑編程﹑調試和編寫報告.二.實習要求:

(一)。用記事本新建一個文本文件,將本班M名學生N門考試課的成績輸入到這個文件中,建議按如下形式存放(注:20=M<=50,5<=N<=8,下文以M=4,N=3為例): 學號

姓名

英語

數學

物理

化學

VB 1

張陸浩

2

林丹

3

李宗偉

4

李永波

(二)。將N門考試課以及其分數輸入到另一個數據文件(文件類型同上題)中,建議以下列形式存放: 編號 課程名稱 課程學分 1 英語 5.0 2 數學 4.5 3 物理 5.0 4 化學 4.5 5 VB 4.5

(三)。請編寫一個簡單的學生成績管理程序,以完成以下功能: 1.根據以上兩文件內容分別計算每個學生N門課程的加權平均分(保留兩位小數,四舍五入),按平均分排列名次,平均分相同則名

次并列。用VB創建一個數據文件,存放班級的成績表。

2.分別統計全班每門課的平均分,并計算各分數段(90分以上;80~89;70~79;60~69;60分以下)的學生數。.3.打印每名學生成績條(并將結果存放到用VB創建的一個新的數據文件中)。

4.顯示所有存在不及格課程的學生的名單(含學號,不及格課程名稱,課程的學分及成績)。

5.屏幕顯示優等生名單及打印每門課程成績分布圖。優等生條件(只要滿足三個中任一個就可以): a)平均分>=90分

b)名次在本班位于前四名

c)平均分>=85分,并且至少有一門課的成績>=95分

三、實習步驟

1、用記事本新建一個學生成績文本文件(其中包括學生學號,成績,姓名,課程及成績)。

2、用記事本新建一個課程學分文本文件。

3、編輯菜單編輯器:編輯四個可拉式菜單,包括學生成績、成績處理、成績編輯、畫圖。

4、編輯代碼:分別編輯打印學生成績和學分代碼,編輯加權平均分、各科平均分、分數段、成績條、排名、優等生、差等生的代碼,還有畫各科目成績人數圖的代碼。

5、調試程序代碼并保存。

6、打印代碼。

三.相關數據列表:

(一)。源文件

(1)成績

學號 姓名 英語 數學 物理 化學 VB 1 張陸浩 97 98 97 97 98 2 林丹 92 87 79 91 84 3 李宗偉 75 96 83 75 73 4 李永波 89 93 83 86 82 5 王儀涵 92 79 89 86 80 6 汪鑫 93 65 86 68 84 7 付海峰 94 91 89 92 80 8 湛龍 86 83 88 80 92 9 蓋德 68 79 54 72 71 10 陶菲克 69 76 59 81 75 11 佐佐木 85 83 68 57 71 12 李娜 94 63 62 65 53 13 陳金 86 79 89 94 83 14 蘭洋 91 93 92 89 75 15 小志 95 89 93 86 87 16 棃一名 92 86 83 67 59 17 吳凱飛 67 75 57 82 62 18 江方 93 80 73 76 84 19 胡艷 74 68 58 63 71 20 張繼原 68 95 68 84 93(2).學分

編號 課程名稱 課程學分 1 英語 5.0 2 數學 4.5 3 物理 5.0 4 化學 4.5 5 VB 4.5 四.運行效果:

(一).學生管理

(1)打開課程成績及學分

(2)打開計算的加權平均分﹑排名及各科平均分

(三).編輯

(1)打開計算的各科人數分布

(2)打開按學號查找每個學生的成績 a)輸入要查找學生的學號

b)得到該生的成績條

(3)打開查找到的優等生信息

(4)打開不及格學生的分布

(四).成績分布圖

五.實習小結

通過兩個星期的上機實習,我體會頗深,不僅表現在VB語言程序設計中,而且表現在與人交流和獨立自主完成任務的決心中。

本次上機在VB程序設計中我學會了很多以前不會或根本一點都不懂的東西。比如,在程序設計過程中,剛開始我弄不清楚怎樣把編輯的文件讀到VB中,但是通過詢問老師和同學討論,終于弄清了思路,即先將文件打開,再將數據分別放入若干個數組中,最后再將它讀出來。除此之外,我還明白了變量的作用域對編程的重要性和子過程,函數過程數據處理的幫助。而對以前學的,像選擇結構,循環結構等也進行了鞏固和運用。在數據處理和打印的時候進行了大量運用。為了使程序更人性化化,我還運用了msgbox,inputbox等方法,使我對所學的知識進行了綜合的運用。

我相信通過這次實習,我對VB和計算機語言都有了更深刻的認識。雖然在實習的過程中,我發現了自己在編寫程序中的不足,像思維不夠嚴密等,但我相信,只要認真、努力就一定會有收獲

六.程序代碼

(一).創建標準模塊

Type student “定義變量:student” number As String * 9 name As String * 3 score(1 To 5)As Single average As Single rank As Integer End Type Type class “定義變量:class” num As String * 9 nam As String * 3 scor As Single End Type Public stu()As student, cla()As class, sumscor As Integer, subj()As class Public q(5)As Integer, t(5)As Integer, x(5)As Integer, y(5)As Integer, h(5)As Integer “定義刪除空格函數” Public Function deletespace(str As String)As String Dim i% i = InStr(str, “ ”)Do While i <> o str = Replace(str, “ ”, “ ”)i = InStr(str, “ ”)Loop deletespace = str End Function Public Sub addave(stu()As student, cou()As course)“定義計算加 For i = 1 To UBound(stu)權平均分 Dim jqpj!, x!, y!的子過

x = 0 y = 0 For j = 1 To 5 x = x + cou(j).score y = y + stu(i).score(j)* cou(j).score Next j stu(i).jqpj = y / x Next i End Sub Public Sub mc(stu()As student)“定義計算排名的子過程” For i = 1 To UBound(stu)stu(i).rank = 0 For j = 1 To UBound(stu)If stu(i).jqpj <= stu(j).jqpj Then stu(i).rank = stu(i).rank + 1 End If Next j Next i End Sub(二).讀取考試成績和課程學分(1).打開文件

Private Sub studentscore_Click()CommonDialog1.Filter = “文本文件|*.txt” CommonDialog1.ShowOpen Open CommonDialog1.FileName For Input As #1 Line Input #1, str1 Print str1 Do While Not EOF(1)Line Input #1, str str = deletespace(Trim(str))a = Split(str, “ ”)n = n + 1 ReDim Preserve stu(n)stu(n).number = a(0)stu(n).name = a(1)For i = 1 To 5 stu(n).score(i)= a(i + 1)Next i Loop For i = 1 To n Print stu(i).number;Spc(1);stu(i).name;Spc(3);For j = 1 To 5 Print stu(i).score(j);Spc(3);Next j Print Next i Close #1 End Sub Private Sub classrank_Click()CommonDialog2.Filter = “文本文件|*.txt” CommonDialog2.ShowOpen Open CommonDialog2.FileName For Input As #2 Line Input #2, str2 Print str2 sumscor = 0 Do While Not EOF(2)Line Input #2, str3 str3 = deletespace(Trim(str3))b = Split(str3, “ ”)m = m + 1 ReDim Preserve cla(m)cla(m).num = b(0)cla(m).nam = b(1)cla(m).scor = b(2)sumscor = sumscor + Val(cla(m).scor)Loop For k = 1 To m Print cla(k).num;Spc(2);cla(k).nam;Spc(3);cla(k).scor;Spc(3)Next k End Sub(2).分數處理

Private Sub ran_Click()“加權平均分及名次” Form1.Cls For n = 1 To 20 sum = 0 For i = 1 To 5 sum = sum + stu(n).score(i)* cla(i).scor Next i stu(n).average = Format(sum / sumscor, “##.##”)Next n For n = 1 To 20 stu(n).rank = 1 For j = 1 To 20 If stu(n).average < stu(j).average Then stu(n).rank = stu(n).rank + 1 End If Next j Next n Print “學號”;Spc(6);“姓名”;Spc(4);“英 語”;Spc(2);“數 學”;Spc(2);“ 物 理”;Spc(3);“化 學”;Spc(2);“V B”;Spc(2);“加權平均分”;Spc(2);“名次” For n = 1 To 20 Print stu(n).number;Spc(1);stu(n).name;Spc(3);For i = 1 To 5 Print stu(n).score(i);Spc(3);Next i Print stu(n).average;Spc(3);stu(n).rank Next n End Sub Private Sub eaverage_Click()“ 課程平均分”

Print Spc(7);“英 語”;Spc(1);“數 學”;Spc(1);“ 物 理”;Spc(1);“化 學”;Spc(1);“V B” Print “平均分”;For i = 1 To 5 sum = 0 For n = 1 To 20 sum = sum + stu(n).score(i)Next n j = Format(sum / 20, “00.00”)Print Spc(2);j;Next i End Sub(3).編輯 Private Sub scor_Click()“計算打印個分數段人數” Form1.Cls Print “范圍”;“英 語”;Spc(3);“數 學”;Spc(3);“ 物 理”;Spc(3);“化 學”;Spc(3);“V B” For i = 1 To 5 For n = 1 To 20 Select Case stu(n).score(i)Case 90 To 100 q(i)= q(i)+ 1 Case 80 To 89 x(i)= x(i)+ 1 Case 70 To 79 t(i)= t(i)+ 1 Case 60 To 69 h(i)= h(i)+ 1 Case Else y(i)= y(i)+ 1 End Select Next n Next i Print “>90”;For i = 1 To 5 Print Spc(4);q(i);Next i Print Print “80_89”;For i = 1 To 5 Print Spc(4);x(i);Next i Print Print “70_79”;For i = 1 To 5 Print Spc(4);t(i);Next i Print Print “60_69”;For i = 1 To 5 Print Spc(4);h(i);Next i Print Print “<60”;For i = 1 To 5 Print Spc(4);y(i);Next i End Sub Private Sub stuscolist_Click()“打印成績條” Form1.Cls n = InputBox(“請輸入學號”)Print “學號”;Spc(5);“姓名”;Spc(3);“英 語”;Spc(3);“數 學”;Spc(3);“ 物 理”;Spc(3);“化 學”;Spc(3);“V B” Print stu(n).number;Spc(1);stu(n).name;Spc(3);For i = 1 To 5 Print stu(n).score(i);Spc(3);Next i End Sub Private Sub excellent_Click()“打印優等生” Form1.Cls Dim t As Integer Print “姓名”;Spc(4);“學號”;Spc(8);“英 語”;Spc(4);“數 學”;Spc(3);“ 物 理”;Spc(3);“化 學”;Spc(4);“V B”;Spc(6);“平均分”;Spc(4);“名次” For i = 1 To 20 t = 0 For j = 1 To 5 If stu(i).score(j)>= 95 Then t = t + 1 End If Next j If stu(i).average >= 85 And t >= 2 Or stu(i).average >= 90 Or stu(i).rank <= 3 Then Print stu(i).name;Spc(2);stu(i).number;Spc(3);For j = 1 To 5 Print stu(i).score(j);Spc(5);Next j Print stu(i).average;Spc(5);stu(i).rank End If Next i End Sub Private Sub ugstulist_Click()“打印不及格學生” Form1.Cls For n = 1 To 20 For i = 1 To 5 If stu(n).score(i)< 60 Then Print stu(n).number;stu(n).name;stu(n).score(i);cla(i).nam;cla(i).scor End If Next i Next n End Sub(5).成績分布圖

Private Sub Command1_Click()“新建窗體form2” For i = 0 To 4 Picture1(i).Scale(0, 14)-(100, 0)Picture1(i).Line(10, 2)-(92, 2), vbRed Picture1(i).Print “分數段” Picture1(i).Line(10, 2)-(10, 14), vbRed Picture1(i).Print “人數” For j = 2 To 10 Step 2 Picture1(i).CurrentY = j + 2 Picture1(i).CurrentX = 4 Picture1(i).Print j Next j Picture1(i).CurrentX = 10 Picture1(i).CurrentY = 2 Picture1(i).Line(10, 2)-(26, 2 + q(1 + i)), vbGreen, BF Picture1(i).CurrentX = 26 Picture1(i).CurrentY = 2 Picture1(i).Line(26, 2)-(42, 2 + x(i + 1)), vbRed, BF Picture1(i).CurrentX = 42 Picture1(i).CurrentY = 2 Picture1(i).Line(42, 2)-(58, 2 + t(i + 1)), vbGreen, BF Picture1(i).CurrentX = 58 Picture1(i).CurrentY = 2 Picture1(i).Line(58, 2)-(74, 2 + h(i + 1)), vbRed, BF Picture1(i).CurrentX = 74 Picture1(i).CurrentY = 2 Picture1(i).Line(74, 2)-(90, 2 + y(i + 1)), vbGreen, BF Picture1(i).Line(10, 2)-(26, 2), vbGreen Picture1(i).Line(26, 2)-(42, 2), vbRed Picture1(i).Line(42, 2)-(58, 2), vbGreen Picture1(i).Line(58, 2)-(74, 2), vbRed Picture1(i).Line(74, 2)-(90, 2), vbGreen Picture1(i).CurrentX = 10 Picture1(i).CurrentY = 2 Picture1(i).Print “ >=90 80-89 70-79 60-69 <=60” Next i End Sub

第五篇:arcgis上機實習報告

課程實習報告

實習課程:《ArcGIS專業技能訓練實習報告》

名:

號:

業:

級:

2012年 6月

20日

ArcGIS專業技能訓練實習報告

實習目的:

通過學習Arcgis這款Gis應用軟件熟練我們的實際應用能力,深入理解GIS軟件應用的核心部分,通過熟練Arcgis能掌握類似相關軟件操作,加強動手能力。

實習步驟:

1.對Arcgis軟件整體掌握,并與之前各類軟件操作對比和學習。

2.具體對軟件操作掌握空間數據的采集與組織、數據的處理與變、數據的可視化表達。

3.Arcgis的空間分析能力的掌握:矢量數據的空間分析、柵格數據的空間分析、三維分析、地統計分析、水文分析等。4.掌握Arcgis的空間分析建模。

實習內容:

根據練習內容,選擇了練習第3、4、5、7、12章的內容,其余在課下自己練習完成,這些章內容分別為:空間數據的采集與組織、數據的處理與變換、數據的可視化表達、矢量數據空間分析、空間分析建模

Geodatabase是一種采用標準關系數據庫技術來表現地理信息的數據模型。Geodatabase支持在標準的數據庫管理系統(DBMS)表中存儲和管理地理信息。一. 基于Geodatabase的數據庫設計

Geodatabase支持面向對象的矢量數據模型,它將地理數據組織成一個數據對象的結構體系。在Geodatabase模型中,實體被表示為屬性,行為,關系的對象。Geodatabase還允許用戶定義對象之間的關系,以及保持對象之間參照完整性的規則。Geodatabase也定義了簡單的對象,地理要素,幾何網絡,注記要素等多種對象類型。二. Geodatabase中的信息類型

1.表(table):是記錄的集合,每個記錄(行)中包括許多列(字段);

2.對象類(object classes):對象表示一個沒有空間幾何的實體,沒有位置相關信息,但是可以通過關系類與要素聯系起來,一個對象類作為一個表存儲在Geodatabase中,一個對象是表中的一行。3.要素類(feature classes):表示有空間幾何的實體,有位置相關信息。要素類是具有相同的屬性和相同的幾何表示類型的要素集合。1)簡單要素類:沒有拓撲關聯,包括點,線,多邊形,注記等多種類型,以要素的方式管理,存放在要素集內外均可。

2)復雜要素類則是有拓撲關聯的若干個要素類的組合,必須存放在同一個要素數據集中,例如拓撲要素、幾何網絡等類型。

4.子類(subtype):在要素類內部可以劃分若干個次一級的組,每個組是一個子類。每個子類有其自己的完整性規則和GIS行為。5.要素數據集(feature database):要素數據集是一個具有相同空間參照的要素類的集合。

6.關系(relationships):是一種表(或要素類)與表(或要素類)之間的聯系機制。關系類建立在對象(或要素)類之間,由一個對象(或要素)類指向另一個對象(或要素)類。

7.柵格數據集(raster data sets):影像作為柵格表來管理。

8.拓撲關系(topology):拓撲關系將參與拓撲的各個要素類集成在一個拓撲圖中作為一個拓撲單元來管理,規定同一個要素類中的各個要素如何與其他要素共享幾何或不同要素類之間如何共享幾何。9.元數據:對數據庫中各個數據元素的描述。

10.幾何網絡(geometric network):若干個要素類作為一個整體參與到幾何網絡的構造,Geodatabase通過拓撲關聯保證參與到幾何網絡中的各個要素類的空間幾何的連通性。幾何網絡將導致保證網絡連通性的行為。

三. Geodatabase的優勢:

1.所有圖形數據和屬性數據統一存儲在商業DBMS中。

2.便于使用DBMS支持的多用戶并發訪問、事務管理、失敗事務恢復、用戶權限策略等機制,有利于空間信息共享、數據安全,提高了數據庫性能。

3.支持智能化的要素、規則和關系。4.完善的用戶支持。

四.Geodatabase數據庫設計的內容

1.基本內容是規定 構成數據庫的要素類、柵格數據集、其他表,以及表之間的各種關系。

2.其中,要素(或對象)類之間的關系通過要素數據集、關系類、拓撲來管理。

3.一個要素數據集中的各個要素類具有相同的空間參照;拓撲類、幾何網絡中的要素類受拓撲完整性約束。五

Geodatabase數據庫設計的步驟

1.用戶視圖建模 2.定義實體和關系 3.明確實體的表示 4.匹配到Geodatabase模型 5.組織地理數據集

六.將地理實體表示為Geodatabase數據類型

要在識別地理實體并決定其幾何表示類型之后,決定數據如何在Geodatabase中表示。具體包括兩方面處理:

1.決定各種地理實體的表示類型及其拓撲關系; 2.決定各實體的屬性字段。

決定實體的表示類型的依據是其幾何表示類型:點實體用點要素、簡單節點、復合節點表示,線實體用線要素、簡單邊、復合邊表示,面實體用多邊形要素表示,表面實體用TIN或柵格數據集表示,空間位置無關的實體用對象(表)表示。

? 其中點、線、面實體的離散分布有兩種:

1.獨立分布的實體,與其他要素無關,可以表示為簡單的點、線、面要素;

2.與其他要素的分布相關,這種點、線實體可以表示為節點、邊要素,面實體表示為有拓撲關系的多邊形要素。

? 考慮要素之間的拓撲關系,定義復合要素類:平面拓撲和幾何網絡。?平面拓撲強制保證要素不能相互交叉而沒有交點。如土地或區劃系統,采用平面拓撲管理要素間的公共邊。

? 幾何網絡強制保持網絡要素之間的連通性,是網絡編輯易于操作。如對于線狀系統,交通網絡,多采用幾何網絡表示。? 確定對象的屬性類型

1.主要依據要素(或對象)的專題性質而定。

2.每個實體可能有多種屬性,依據相關原則確定每種屬性(字段)的數據類型,使用默認值、域等工具保證數據的完整性。六. 將數據組織到Geodatabase地理數據集

1.工作包括:

(1).劃分要素類和子類(2).規定要素類的拓撲關系(3.)構建地理數據集(4.)組織地理數據庫

(1)劃分要素類和子類

下列情況下必須建立單列的要素類:

1)當各組相關要素的屬性字段組合根本不同時 2)當各組相關要素需要有特有的定制行為時 3)當需要對各組要素賦予不同存取權限時

4)當有些要素要采用版本管理存取而另一些要素不需要版本管理時(2)規定要素類的拓撲關系

1)將相關要素分組為幾何網絡好或平面拓撲

2)如果要素類是獨立點、線、面要素,那么它不參與幾何網絡或者平面拓撲

3)如果要素類是簡單邊、簡單節點、復合邊、復合節點,那么它參與幾何網絡的構成

4)如果要素類是拓撲關聯的多邊形要素類,其內部各個要素必須滿足特定的拓撲關系(3)構建地理數據集

1)要素數據集是一個容器,使用它可以將相似的要素類組合在一起。2)將具有相同空間參照的要素類組織到同一個要素數據集中是有利的,因為不同要素數據集在運算過程中可能會出現細微的差別而引起數據不一致。3)同時參加到平面拓撲或幾何網絡中的各個要素類必須被組織到同一個要素數據集中。

(4)最后將要素數據集和要素類組合起來。

1)確定了各要素及其拓撲聯系之后,最后需要將它們組合到地理數據庫中。2)如果企業用戶包括多個部門,不同部門使用不同的數據集。地理數據庫可以安裝企業組織結構部署。

4)如果使用personal Geodatabases,由于數據庫容量的限制,必須對數據庫按專題或空間進行分割。七. Geodatabase的建庫步驟

1.在F盤中建立自己的文件夾070141; 2.在自己的文件夾中建立個人數據庫database;截圖說明

3.在personal database中建立點要素a,線要素aa,面要素aaa。八. Geodatabase的拓撲建立

若干個要素類作為一個整體參與到幾何網絡的構造,Geodatabase通過拓撲關聯保證參與到幾何網絡中的各個要素類的空間幾何的連通性。幾何網絡將導致保證網絡連通性的行為。

1.右鍵單擊數據庫database,點擊new再點擊Feature Dataset

截圖說明:

出現對話框New Feature Dataset 在name中填寫名字topology;2.點擊“下一步”出現如下對話框,點擊對話框中的Import,又出現對話框在Ext文件夾中點擊Blocks.shp,點擊Add即可添加數據;

截圖說明;

再點擊繼續點擊下一步,下一步,Finish,即可建立topology; 3.右鍵單擊topology,點擊Import,再點擊Feature Class(mulitiple)

截圖說明:

出現如下對話框,在對話框中點擊第一個圖標瀏覽,在出現的對話框中加入Ex1中的兩個數據Blocks.shp和Parcels.shp,點擊Add;

點擊ok,則topology中增加了Blocks.shp和Parcels.shp兩個數據項; 4.右鍵單擊topology中的Blocks,點擊Properties 截圖說明:

出現如下對話框, 在對話框中的子類SubtypeField一欄下拉選擇Res,在Subtype中設置Code和Description為0,nonres;1,res; 點擊確定;

截圖說明:

4.同理設置Parcels的Properties;

5.右鍵單擊topology,點擊new,再點擊Topology:

6.在出現的如下對話框中點擊下一步

7在.出現的如下對話框中點擊下一步

8.在出現的New Topology如下對話框中點擊Select All 截圖說明:

9.在出現的New Topology如下對話框中,在Enter the number of ranks中填1;

10.點擊下一步,在出現的New Topology對話框中,點擊Add Rule,再Add Rule中的三欄中選擇Parcels,Must Not Overlap With,Blocks,點擊ok; 截圖說明:

點擊下一步,再點擊Finish.再出現的對話框是否拓撲查詢,點擊否。則在Topology中建立了topology-Topology。

11.打開ArcMap,將topology-Topology拖到ArcMap的Layers中,則在Layers中添加了topology-Topology,Blocks和Parcels; 截圖說明:

12.點擊工具欄中的View,點擊Toolbars,再點擊Topology,將出現進行拓撲操作的Topology工具欄;在Editor下拉菜單中點擊Starting Editor,將工具激活;

截圖說明:

13.點擊Topology工具欄的Topology Editor Tool圖標,雙擊弧線段,在結點處進行操作即可

拓撲結果圖:

下載上機實習報告格式word格式文檔
下載上機實習報告格式.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    會計信息系統上機實習報告

    本次會計信息系統實習,我們主要了解了金蝶軟件的具體操作過程和應用。我們在老師的指引下創建模擬的會計電算化工作環境,完成了會計電算化中從建立帳套、系統初始化、基礎設置......

    電算化會計上機實習報告

    電算化實習報告 20121001133 084121 于洋 一,實習時間: 1月10日上午、下午 8:30——17:30 1月11日下午、晚上14:00——20:30 1月12日全天 8:30——20:30 1月14日全天 8:30——......

    西南交通大學計算機上機實習報告

    計算機實習報告 一、實習目的 計算機辦公軟件的使用是交通運輸、交通工程等專業學生的基本功,本實習的目的是使學生能夠通過短時間的集訓式訓練,熟練掌握辦公軟件的使用方法、......

    計算方法與實習上機報告

    計算方法與實習 ——上機報告 學院:電子工程學院 2015.1.4 學號:*** 姓名: 劉 波 習題一: 1 舍入誤差及穩定性 一、實驗目的 (1)通過上機編程,復習鞏固以前所學程序......

    上機實習報告總結結尾

    上機實習報告總結結尾 一. 首頁 代碼如下; using System; using ; using ; using ; using ; using ; using ; namespace WindowsApplication1 { public partial class Form5......

    c語言上機實習報告

    蘇州科技大學上機實習報告 程序設計語言(C語言) 實驗一: Visual C++實驗環境 一、實驗任務 實驗一 二、實驗目的 1. 了解C程序結構,熟悉VC++ 6.0開發環境。 2. 熟悉在VC++ 6.......

    長江大學VB上機實習報告

    計算機上機實習報告 學院:石油工程學院 班級:儲運11204 姓名:魏亞榮 學號:XXXXXXX 班內序號:XX 指導教師:XXX 第 1 頁 計算機上機實習報告目錄 一. 系統名稱------------------......

    成本會計上機實習報告5篇

    實習報 告 書 專 用 紙 1 實習目的 還是大一時我們學習了成本會計,當時的我們是很茫然的,老是認為成本會計很難,而且那時的我們也不太認真聽講,就導致了我們現在成本會計實習......

主站蜘蛛池模板: 中字幕久久久人妻熟女天美传媒| 国产日韩精品视频无码| 欧洲精品码一区二区三区免费看| 丰满少妇被猛烈进出69影院| 四虎精品 在线 成人 影院| 国产精品沙发午睡系列990531| 国产成人综合久久久久久| 亚洲色大成网站www| 国产极品久久久久久久久| 欧美黑人巨大videos精品男男| 国产午夜片无码区在线播放| 亚洲人成网7777777国产| 久久久精品人妻一区亚美研究所| 麻豆一区产品精品蜜桃的广告语| 大肉大捧一进一出好爽视频| 色欲久久久天天天综合网精品| 日韩一本之道一区中文字幕| 国产乱人视频在线播放| 国产伦精品一区二区三区免.费| 边啃奶头边躁狠狠躁| 色翁荡息又大又硬又粗又爽| 丰满大肥婆肥奶大屁股| 国产精品国产三级国av在线观看| 国产午夜福利精品久久2021| 100禁毛片免费40分钟视频| 久久精品国产只有精品2020| 久久精品欧美日韩精品| 国产亚洲精久久久久久无码| 超薄丝袜足j好爽在线| 国产成人无码18禁午夜福利p| 国产成人精品一区二区三区免费| 色屁屁www影院免费观看入口| 色一情一乱一乱一区99av| 国产乱子影视频上线免费观看| 人体内射精一区二区三区| 日韩在线一区二区三区免费视频| 久久97超碰色中文字幕| 亚洲日本精品国产第一区二区| 熟女少妇精品一区二区| 亚洲aⅴ综合色区无码一区| 欧美狠狠入鲁的视频|