旅遊路線導圖
1. 假期旅遊路線指導
廣州。
廈門。
杭州。
南寧。
2. 有沒有一款旅遊導航地圖,就是包含旅遊景點內部線路的導航地圖
樓主你好;導航地圖很多,但是我還是建議你用騰訊路寶,你可以使用騰訊地圖用以內公交站位、容路線、自駕路線、測距等,更可使用衛星地圖和由專業設備採集的騰訊街景地圖用以查找更精確的位置和目標,觀看街景地圖服務覆蓋城市的高清全景圖像。
3. 各種景區導游圖是什麼軟體製作出來的
樓主你好。首先要特別容易的話cdr可以做。全名叫CorelDRAW,如果要復雜一點而且有特色的話可以使用專業一點的photoshop。簡單易用的話只有cdr。這些都是比較專業的。
4. 外出旅遊最常用的地圖有()A.導游圖B.地形圖C.政治地圖D.交通
為了更好的方便外出旅遊,應選用的地圖是導游圖和交通圖.
故選:A、D.
5. 設計故宮一日游路線圖和導游泀
藍色表示的是旅遊景點,一共6個;
綠色表示的是返回的路線;
紅色和紫色是進去的路線。
此建議只是個人建議。
6. 4 旅遊區導游圖 (7人)
#include"stdio.h"
#include"malloc.h"
#include"string.h"
#include<iostream.h>
#define INFINITY 32767 /* 最大值∞ */
/* 根據圖的權值類型,分別定義為最大整數或實數 */
#define MAX_VEX 30 /* 最大頂點數目 */
typedef enum {FALSE , TRUE} BOOLEAN ;
typedef struct MGraph{
char vexs[MAX_VEX];
int arcs[MAX_VEX][MAX_VEX];
int vexnum,arcnum;
}MGraph;
/*圖的鄰接鏈表表示結構有關定義*/
typedef struct Linknode{
char adjvex; /*鄰接點在頭結點數組中的位置(下標)*/
int info; /*與邊或弧相關的信息, 如權值*/
struct Linknode *nextarc; /*指向下一個表結點*/
}LinkNode; /* 表結點類型定義 */
typedef struct VexNode{
char data; /*頂點信息*/
LinkNode *firstarc; /*指向第一個表結點*/
}VexNode; /* 頂點結點類型定義 */
typedef struct {
int vex1, vex2; /* 弧或邊所依附的兩個頂點 */
int info; /*與邊或弧相關的信息, 如權值*/
}ArcType; /* 弧或邊的結構定義 */
typedef struct{
int vexnum;
VexNode AdjList[MAX_VEX];
}ALGraph; /* 圖的結構定義 */
////////////////////////////////////////////////////////////////////////////////////////////
/* 圖的鄰接鏈表表示 */
void Init_Graph(ALGraph * G){
/*圖的初始化*/
printf("旅遊區導游圖的類型:帶權無向圖");
G->vexnum=0; /* 初始化頂點個數 */
}
int LocateVex(ALGraph *G, char vp) {
/*圖的頂點定位*/
int k;
for(k=0; k<G->vexnum;k++)
if(G->AdjList[k].data==vp)
return(k);
return(-1); /* 圖中無此頂點 */
}
int AddVertex(ALGraph *G, char vp)
{
if (G->vexnum>=MAX_VEX)
{
printf("圖中頂點數已達到最多!\n");
return(-1);
}
if(LocateVex(G,vp)!=-1)
{
printf("所要添加的頂點已存在!\n");
return(-1);
}
G->AdjList[G->vexnum].data=vp;
G->AdjList[G->vexnum].firstarc=NULL;
++G->vexnum;
return 1;
}
int AddArc(ALGraph *G, ArcType *arc){
/*向圖中增加一條邊(弧)*/
int k,j;
LinkNode *p,*q;
k=LocateVex(G,arc->vex1);
j=LocateVex(G,arc->vex2);
if (k==-1||j==-1)
{
printf("該兩個景點之間一點 或 兩點都不存在,錯誤 !\n"); //////
return(-1);
}
p=(LinkNode *)malloc(sizeof(LinkNode));
p->adjvex=arc->vex1;
p->info=arc->info;
p->nextarc=NULL; /* 邊的起始表結點賦值 */
q=(LinkNode *)malloc(sizeof(LinkNode));
q->adjvex=arc->vex2;
q->info=arc->info;
q->nextarc=NULL; /* 邊的末尾表結點賦值 */
q->nextarc=G->AdjList[k].firstarc;
G->AdjList[k].firstarc=q;
p->nextarc=G->AdjList[j].firstarc;
G->AdjList[j].firstarc=p ;
return(1);
}
ALGraph *Create_ALGraph(){
/*採用鄰接鏈表作為圖的存儲結構建立帶權有向圖*/
char stack1[6],stack2[6],vex,k1,k2;
int weight;
ALGraph *G;
ArcType *p;
printf("首先對旅遊區導游圖進行初始化!!!\n\n");
G=(ALGraph *)malloc(sizeof(ALGraph));
Init_Graph(G);
printf("\n請輸入旅遊區導游圖的各個旅遊景點代碼(只允許是字元,不為字元串),0作為結束標志\n");
while(1)
{
scanf("%s",stack1);
vex=stack1[0];
if(vex=='0')
break;
else
AddVertex(G,vex);
}
p=(ArcType *)malloc(sizeof(ArcType));
printf("\n 以(Vi ,Vj ,d)的形式從鍵盤輸入建立該旅遊區的旅遊景點圖,\n 其中: Vi和Vj表示兩個不同的旅遊景點, d表示這兩個景點之間的道路距離;\n 該旅遊景點圖採用鄰接鏈表存儲結構(第一個頂點是0時表示結束):\n");
while(1)
{
scanf("%s",stack1);
k1=stack1[0];
if (k1=='0') /* 輸入第一個頂點,0結束 */
break;
else
{
scanf("%s",stack2) ;
scanf("%d",&weight) ; /* 輸入第二個頂點和權值 */
k2=stack2[0];
p->vex1=k1;
p->vex2=k2;
p->info=weight;
AddArc(G,p) ;
printf("\n請繼續輸入下一條道路!!\n") ;
}
}
return(G);
}
void output_ALGraph(ALGraph *G){
/* 輸出圖的鄰接鏈表 */
int j;
LinkNode *p;
printf("\n旅遊區導游圖的鄰接鏈表表示如下:\n");
for (j=0;j<G->vexnum;j++)
{
printf("%c",G->AdjList[j].data);
p=G->AdjList[j].firstarc;
while(p!=NULL)
{
printf("->");
printf("<%c,%d>",p->adjvex,p->info);
p=p->nextarc;
}
printf("\n\n");
}
}
void output_Find_ALGraph(ALGraph *G){
/* 相鄰景點查詢並輸出 */
int j;
LinkNode *p;
printf("請輸入你要查詢的景點(下標值):\n");
scanf("%d",&j);
p=G->AdjList[j].firstarc;
while(p)
{
printf("景點%c到景點%c的距離是%d (該兩個景點之間有直接的道路相通)\n",G->AdjList[j].data,p->adjvex,p->info);
p=p->nextarc;
}
printf("\n\n");
}
void ListToMat(ALGraph G, MGraph &g){
/*將鄰接鏈表轉換成鄰接矩陣*/
int k,i,j,n=G.vexnum;
LinkNode *p;
for (i=0;i<n;i++) /*g.arcs[i][j]賦初值0*/
for (j=0;j<n;j++)
g.arcs[i][j]=INFINITY;
for(i=0;i<G.vexnum;i++)
{
g.vexs[i]=G.AdjList[i].data;
}
for (i=0;i<n;i++)
{
p=G. AdjList[i].firstarc;
while (p!=NULL)
{
k=LocateVex(&G,p->adjvex);
g.arcs[i][k]=p->info;
p=p->nextarc;
}
}
g.vexnum=G.vexnum;
}
void display(ALGraph *G,MGraph g){
//輸出鄰接矩陣
int i,j;
ListToMat(*G, g);
for(i=0;i<G->vexnum;i++)
printf("%6c",G->AdjList[i].data );
printf("\n");
for(i=0;i<g.vexnum;i++)
{
for(j=0 ;j<g.vexnum ;j++)
{
printf("%6d", g.arcs[i][j]);
}
printf("\n");
}
}
void dijkshort_One(ALGraph F, MGraph G,int v0,int distance[], int pre[]){
// 帶權圖G從頂點v0到其他定點的最短距離distance和最短路徑前驅結點的下標pre
int w;
int S[30],i,j,k,p,min;
ListToMat(F, G);
printf("你所要開始查詢的景點是:%c\n",F.AdjList[v0].data);
for(i=0;i<G.vexnum;i++)
{
distance[i]=G.arcs[v0][i];
S[i]=0;
if(distance[i]<32767)
pre[i]=v0;
else
pre[i]=-1;
}
S[v0]=1; //頂點v0已加入到集合S中
for(i=0;i<G.vexnum;i++)
{
min=32767;
for(j=0;j<G.vexnum;j++)
{
if(!S[j]&&distance[j]<min)
{
min=distance[j];
k=j;
}
}
S[k]=1; ///將找到的頂點加入到集合S中
for(w=0;w<G.vexnum;w++) // /修改集合T中頂點的距離值
if(!S[w]&&distance[w]>distance[k]+G.arcs[k][w])
{
distance[w]=distance[k]+G.arcs[k][w];
pre[w]=k;
}
}
printf("查詢結果:\n");
for(j=0;j<G.vexnum;j++) //輸出結果
if(pre[j]!=-1)
{
printf("從景點%c到景點%c",F.AdjList[v0].data,G.vexs[j]);
p=pre[j];
printf("的最短距離是: %d",distance[j]);
printf(" 途中經過的景點有:");
while(p!=-1)
{
printf(" %c",G.vexs[p]);
p=pre[p];
}
printf("\n");
}
else if(j!=v0)
printf("\n%c到%c : no path",G.vexs[j],G.vexs[v0]);
}
void dijkshort_Two(ALGraph F, MGraph G,int v0,int distance[], int pre[]){
// 帶權圖G從頂點v0到其他定點的最短距離distance和最短路徑前驅結點的下標pre
int w;
int S[30],i,j,k,p,min,d;
ListToMat(F, G);
printf("你所要開始查詢的開始景點是:%c\n\n",F.AdjList[v0].data);
for(i=0;i<G.vexnum;i++)
{
distance[i]=G.arcs[v0][i];
S[i]=0;
if(distance[i]<32767)
pre[i]=v0;
else
pre[i]=-1;
}
S[v0]=1; //頂點v0已加入到集合S中
for(i=0;i<G.vexnum;i++)
{
min=32767;
for(j=0;j<G.vexnum;j++)
{
if(!S[j]&&distance[j]<min)
{
min=distance[j];
k=j;
}
}
S[k]=1; ///將找到的頂點加入到集合S中
for(w=0;w<G.vexnum;w++) // /修改集合T中頂點的距離值
if(!S[w]&&distance[w]>distance[k]+G.arcs[k][w])
{
distance[w]=distance[k]+G.arcs[k][w];
pre[w]=k;
}
}
printf("輸入你要查詢的另外一個景點(下標值):");
scanf("%d",&d);
printf("你要查詢的另外一個景點是:%c\n",G.vexs[d]);
printf("\n查詢結果:\n"); //輸出結果
if(pre[d]!=-1)
{
printf("從景點%c到景點%c",F.AdjList[v0].data,G.vexs[d]);
p=pre[d];
printf("的最短距離是: %d",distance[d]);
printf(" 途中經過的景點有:");
while(p!=-1)
{
printf(" %c",G.vexs[p]);
p=pre[p];
}
printf("\n");
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/* ------------菜單------------*/
void main()
{
int n,v0;
MGraph g;
int distance[MAX_VEX],pre[2*MAX_VEX];
ALGraph *G;
printf("┏┉┉┉┉┉┉┉┉┉┉┉┉┓\n");
printf("┋ 歡迎使用旅遊區導游系統 ┋\n");
printf("┗┉┉┉┉┉┉┉┉┉┉┉┉┛\n");
do
{
printf("\n請選擇對旅遊區導游圖的操作:\n\n");
printf(" ┏━━━━━━━━━━━━━━━━━━━━━┓\n");
printf(" ┃ 1.建立旅遊區導游圖的鄰接鏈表 ┃\n");
printf(" ┃ 2.旅遊區導游圖的鄰接鏈表的輸出 ┃\n");
printf(" ┃ 3.旅遊區導游圖的鄰接矩陣的輸出 ┃\n");
printf(" ┃ 4.相鄰景點查詢 ┃\n");
printf(" ┃ 5.景點路線查詢 ┃\n");
printf(" ┃ 6.景點路線綜合查詢 ┃\n");
printf(" ┃ 7.退出操作 ┃\n");
printf(" ┗━━━━━━━━━━━━━━━━━━━━━┛\n");
do
{
scanf("%d",&n);
}
while (n<1||n>8);
switch(n)
{
case 1:
{
G=(ALGraph *)malloc(sizeof(ALGraph));
G=Create_ALGraph();
printf("\n\n");
break;
}
case 2:
{
printf("\n旅遊導游圖的鄰接鏈表表示如下所示:\n");
output_ALGraph(G);
printf("\n\n");
break;
}
case 3:
{
printf("\n旅遊區導游圖的鄰接矩陣表示如下所示:\n");
display(G,g);
printf("\n\n");
break;
}
case 4:
{
output_Find_ALGraph(G);
printf("\n\n");
break;
}
case 5:
{
printf("輸入你要查詢的景點(下標值):");
scanf(" %d",&v0);
dijkshort_One(*G,g,v0,distance,pre);
break;
}
case 6:
{
printf("輸入你要查詢的開始景點(下標值):");
scanf(" %d",&v0);
dijkshort_Two(*G,g,v0,distance,pre);
break;
}
}
}
while(n!=7);
}
7. 如果旅遊需要選擇導游圖
因為要進行的是全國旅行,選擇中國地圖是最好的.
故選:A.
8. 求旅遊專家解釋「遊程線路圖」、「導游全景圖」和「導覽圖」的區別要專業術語解釋,萬分感謝!!!
遊程線路圖是指用圖表的方式用來表達遊程的進程狀態。在這里,遊程之所以使用線路來表示,那是因為,線路圖中蘊含的最終點也就是事務完成的目標點。
導游全景圖通過廣角的表現手段以及繪畫、相片、視頻、三維模型等形式,盡可能多表現出景點周圍的環境。
導覽圖就是全景圖的矢量表現方式。
9. 外出旅遊,最常用的地圖有 ①導游圖②地形圖③政治地圖④交通圖
導游圖
10. 導游圖和旅遊圖一樣嗎
導游圖好像是對景區景點的一種平面大概描述
旅遊圖是對景區特點的描述