《地理信息系统教程》课后答案

  • 更新时间:
  • 840人关注
  • 点击下载

给大家带来的是关于信息系统相关的课后习题答案下载,介绍了关于地理信息、信息系统方面的内容,由聂乐池 网友提供,本资源目前已被276人关注,高等院校信息系统类教材综合评分为:9.5分

资源详情相关推荐
《地理信息系统教程》封面
  • 出版社:高等教育出版社
  • 作者:汤国安、刘学军、闾国年、盛业华、王春、张
  • 大小:1.4 MB
  • 类别:信息系统
  • 热度:510
  • 管理信息系统(第11版)
  • 管理信息系统(第4版)
  • 中国仪器仪表学会汉字信息处理系统研究会第一届学术年会论文选集
  • 管理信息系统(第3版)
  • 信息系统项目管理师案例分析指南
  • 《地理信息系统教程》是2007年高等教育出版社出版的图书,作者是汤国安。本书全面系统地阐释了地理信息系统的基础理论与应用发展。

    随着各个领域对地理信息系统认识程度和认可程度的提高,应用需求大幅度增加,导致地理信息系统正向更深的应用层次发展,表现出从地理信息系统走向地理信息服务的趋势。《地理信息系统教程》是作者系统地总结了已有GIS学科的基本理论、实践与成果,特别是总结了作者近年来在国内外从事有关GIS科研与教学经验的基础上撰写完成的。

    《地理信息系统教程》全面、系统地阐释了地理信息系统的基础理论与应用发展,内容包括地理信息系统基本概念、地理空间数学基础、空间数据模型、空间数据结构、空间数据组织与管理、空间数据采集与处理、空间数据查询与度量、GIS基本空间分析、数字地形分析、空间统计分析、地理信息可视化及地理信息传输。书中配有专业术语和复习思考题。

    该书为普通高等教育十一五国家级规划教材,《地理信息系统教程》可作为高等院校GIS、地理、测绘、资源、环境、规划、地质、海洋、气象等专业的本科生和研究生教材,也可供从事城市管理、区域规划、环境保护等部门的科研工作者阅读参考。

    目录

    • 第1章概论
    • 第2章地理空间数学基础
    • 第3章空间数据模型
    • 第4章空间数据结构
    • 第5章空间数据组织与管理
    • 第6章空间数据采集与处理
    • 第7章空间数据查询与空间度量
    • 第8章GIS基本空间分析
    • 第9章DEM与数字地形分析
    • 第10章空间统计分析
    • 第11章地理信息可视化
    • 第12章地理信息的传输
    • ……
    展开阅读
    精选笔记1:python学生信息管理系统(完整版)

    18小时52分钟前回答

    本文是基于上一篇(python项目:学生信息管理系统(初版) )进行了完善,并添加了新的功能。

    主要包括有:

    完善部分:输入错误;无数据查询等异常错误

    新的功能:文件的操作:文件的读写,其中重点是对文本字符串的详细解析(关于整个解析拆解和重组详见代码,以及添加了注释)

    学生信息管理系统(完整版)

    学生信息管理项目,要求带操作界面,并完成每项操作:

    +----------------------+
    | 1)添加学生信息             |
    | 2)显示所有学生的信息          |
    | 3)删除学生信息             |
    | 4)修改学生信息             |
    | 5)按学生成绩高-低显示学生信息     |
    | 6)按学生成绩低-高显示学生信息     |
    | 7)按学生年龄高-低显示学生信息     |
    | 8)按学生年龄低-高显示学生信息     |
    |  9)保存学生信息到文件(students.txt)                |
    | 10)从文件中读取数据(students.txt)                |
    | 退出:其他任意按键<回车>                                  |
    +----------------------+   

    详细代码如下:

    # student_info.py
    # 学生信息管理项目,要求带操作界面,并完成每项操作:
    # +----------------------+
    # | 1)添加学生信息                      |
    # | 2)显示所有学生的信息                 |
    # | 3)删除学生信息                      |
    # | 4)修改学生信息                      |
    # | 5)按学生成绩高-低显示学生信息         |
    # | 6)按学生成绩低-高显示学生信息         |
    # | 7)按学生年龄高-低显示学生信息         |
    # | 8)按学生年龄低-高显示学生信息         |
    # | 9)保存学生信息到文件(students.txt) |
    # | 10)从文件中读取数据(students.txt) |
    # | 退出:其他任意按键<回车>  |
    # +----------------------+          |
     
     
    def meun():
     menu_info = '''+----------------------+
    | 1)添加学生信息  |
    | 2)显示所有学生的信息  |
    | 3)删除学生信息  |
    | 4)修改学生信息  |
    | 5)按学生成绩高-低显示学生信息 |
    | 6)按学生成绩低-高显示学生信息 |
    | 7)按学生年龄高-低显示学生信息 |
    | 8)按学生年龄低-高显示学生信息 |
    | 9)保存学生信息到文件(students.txt) |
    | 10)从文件中读取数据(students.txt) |
    | 退出:其他任意按键<回车>  |
    +----------------------+
    '''
     print(menu_info)
     
     
    # 以下二个函数用于sorted排序, key的表达式函数
    def get_age(*l):
     for x in l:
     return x.get("age")
    def get_score(*l):
     for x in l:
     return x.get("score")
     
    # 1)添加学生信息
    def add_student_info():
     L = []
     while True:
     n = input("请输入名字:")
     if not n: # 名字为空 跳出循环
     break
     try:
     a = int(input("请输入年龄:"))
     s = int(input("请输入成绩:"))
     except:
     print("输入无效,不是整形数值....重新录入信息")
     continue
     info = {"name":n,"age":a,"score":s}
     L.append(info)
     print("学生信息录入完毕!!!")
     return L
     
    # 2)显示所有学生的信息
    def show_student_info(student_info):
     if not student_info:
     print("无数据信息.....")
     return
     print("名字".center(8),"年龄".center(4),"成绩".center(4))
     for info in student_info:
     print(info.get("name").center(10),str(info.get("age")).center(4),str(info.get("score")).center(4))
     
    # 3)删除学生信息
    def del_student_info(student_info,del_name = ''):
     if not del_name:
     del_name = input("请输入删除的学生姓名:")
     for info in student_info:
     if del_name == info.get("name"):
     return info
     raise IndexError("学生信息不匹配,没有找到%s" %del_name)
     
    # 4)修改学生信息
    def mod_student_info(student_info):
     mod_name = input("请输入修改的学生姓名:")
     for info in student_info:
     if mod_name == info.get("name"):
     a = int(input("请输入年龄:"))
     s = int(input("请输入成绩:"))
     info = {"name":mod_name,"age":a,"score":s}
     return info
     raise IndexError("学生信息不匹配,没有找到%s" %mod_name)
     
    # 5)按学生成绩高-低显示学生信息
    def score_reduce(student_info):
     print("按学生成绩高-低显示")
     mit = sorted(student_info ,key = get_score,reverse = True)
     show_student_info(mit)
     
    # 6)按学生成绩低-高显示学生信息
    def score_rise(student_info):
     print("按学生成绩低-高显示")
     mit = sorted(student_info ,key = get_score)
     show_student_info(mit)
     
    # 7)按学生年龄高-低显示学生信息
    def age_reduce(student_info): 
     print("按学生年龄高-低显示:")
     mit = sorted(student_info ,key = get_age,reverse = True)
     show_student_info(mit)
     
    # 8)按学生年龄低-高显示学生信息
    def age_rise(student_info): 
     print("按学生年龄低-高显示:")
     mit = sorted(student_info ,key = get_age)
     show_student_info(mit)
     
    # 9)保存学生信息到文件(students.txt)
    def save_info(student_info):
     try:
     students_txt = open("students.txt","w") # 以写模式打开,并清空文件内容
     except Exception as e:
     students_txt = open("students.txt", "x") # 文件不存在,创建文件并打开
     for info in student_info:
     students_txt.write(str(info)+"\n") # 按行存储,添加换行符
     students_txt.close()
     
    # 10)从文件中读取数据(students.txt) 
    def read_info():
     old_info = []
     try:
     students_txt = open("students.txt")
     except:
     print("暂未保存数据信息")  # 打开失败,文件不存在说明没有数据保存
     return
     while True:
     info = students_txt.readline()
     if not info:
     break
     # print(info)
     info = info.rstrip() # 去掉换行符
     # print(info)
     info = info[1:-1] # 去掉{}
     # print(info)
     student_dict = {} # 单个学生字典信息
     for x in info.split(","): # 以,为间隔拆分
     # print(x)
     key_value = [] # 开辟空间,key_value[0]存key,key_value[0]存value
     for k in x.split(":"): # 以:为间隔拆分
     k = k.strip() # 去掉首尾空字符
     # print(k)
     if k[0] == k[-1] and len(k) > 2: # 判断是字符串还是整数
      key_value.append(k[1:-1]) # 去掉 首尾的'
     else:
      key_value.append(int(k))
     # print(key_value)
     student_dict[key_value[0]] = key_value[1] # 学生信息添加
     # print(student_dict)
     old_info.append(student_dict) # 所有学生信息汇总
     students_txt.close() 
     return old_info 
     
    def main():
     student_info = []
     while True:
     # print(student_info)
     meun()
     number = input("请输入选项:")
     if number == '1':
     student_info = add_student_info()
     elif number == '2':
     show_student_info(student_info)
     elif number == '3':
     try:
     student_info.remove(del_student_info(student_info))
     except Exception as e:
     # 学生姓名不匹配
     print(e) 
     elif number == '4':
     try: 
     student = mod_student_info(student_info)
     except Exception as e:
     # 学生姓名不匹配
     print(e)
     else:
     # 首先按照根据输入信息的名字,从列表中删除该生信息,然后重新添加该学生最新信息
     student_info.remove(del_student_info(student_info,del_name = student.get("name"))) 
     student_info.append(student)
     elif number == '5':
     score_reduce(student_info)
     elif number == '6':
     score_rise(student_info)
     elif number == '7':
     age_reduce(student_info)
     elif number == '8':
     age_rise(student_info)
     elif number == '9':
     save_info(student_info)
     elif number == '10':
     student_info = read_info()
     else:
     break
     input("回车显示菜单")
     
    main()

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

    展开阅读
    精选笔记2:php+MySql实现登录系统与输出浏览者信息功能

    11小时54分钟前回答

    本系统,与之前在《ASP 连接Access数据库的登陆系统》(点击打开链接)一文中的asp登录系统的思想完全一样,只是编程语言从asp变成了php,数据库从Access变成了mysql。

    一、基本目标

    首先在mysql存在着如下的用户信息表:


    在页面中有一个登录表单,上面需要用户填写用户名与密码等信息

    如果用户输入的用户名在用户信息表里面根本就没有,那么则弹出“查无此人”的对话框,并返回本页


    如果用户输入的密码错误,那么则弹出“密码错误”的对话框,并返回本页


    如果用户输入的登录信息正确,那么则跳到“登录成功”的页面,并输出用户当前的IP、使用的系统的语言环境、与浏览器信息


    “登录成功”的页面是被保护的,浏览器并不可以通过在浏览器中输入地址的方式,绕开输入密码的页面,直接访问“登录成功”页面


    二、基本思想


    用户输入用户名与密码的那一页用静态页面,只要其表单指向登录判断页login.php就可以了。

    welcome.php是用户成功登录的页面,

    exit.php用来销毁session。

    session就是用来存放用户名与密码的浏览器全局变量。

    三、制作过程
     (1)login.html 
    没什么好说的,就一个登录表单,见如下代码: 

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>登录页面</title>
    </head>
    
    <body>
    <form action="login.php" method="post">
    用户名:<input type="text" name="username" /><br />
    密码:<input type="password" name="password" /><br />
    <input type="submit" value="登录" />
    </form>
    </body>
    </html>
    
    

     (2)exit.php

    销毁session页面,并且在销毁session之后,把页面打回login.html
    值得注意的是,在php一旦需要使用session,就应该在所有代码的第一行使用session_start();系统函数,否则可能会出错

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>登出页面</title>
    </head>
    
    <body>
    <?php
    session_start();
    session_destroy();
    ?>
    <script>
    window.location.href="login.html";
    </script>
    </body>
    </html>
    
    

     (3)login.php

    登录判断页面,还是经典的登录三段论,首先接收login.html传递过来的username与password,查询用户信息表中是否有这个username,如果没有,再登录失败,如果有,再同时判断传过来的、用户输入的password是否等于这个username在数据库中对应的dbpassword,如果是,登录成功,并把username存入session,传递给登录成功页面,否则登录失败。
    本页面还用到了系统内置函数is_null判断查询结果是否为空,如果数据库查询结果为空,根本就不会有值赋予给新定义的dbusername,这个dbusername依旧为空。
    同时,如果登录成功之后,还要使用mt_rand(0,100000);在0~100000中产生一个保护登录成功页面的随机数code。
    并且做完一切判断之后,记得在最后加入一条关闭数据库的语句,人走带门。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>登陆中……</title>
    </head>
    
    <body>
    <?php
    session_start();
    $username=$_REQUEST["username"];
    $password=$_REQUEST["password"];
    $con=mysql_connect("localhost","root","root");
    if(!$con){
     die("数据库连接失败!");
     }
    mysql_select_db("test",$con);
    $dbusername=null;
    $dbpassword=null;
    $result=mysql_query("select * from user where username='".$username."';");
    while($row=mysql_fetch_array($result)){
     $dbusername=$row["username"];
     $dbpassword=$row["password"];
    }
    if(is_null($dbusername)){
    ?>
    <script>
    alert("查无此人!");
    window.location.href="login.html";
    </script>
    <?php 
     }
    else{
     if($dbpassword!=$password){
    ?>
    <script>
    alert("密码错误!");
    window.location.href="login.html";
    </script>    
    <?php
     }
     else{
     $_SESSION["username"]=$username;
     $_SESSION["code"]=mt_rand(0,100000);
    ?>
    <script>
    window.location.href="welcome.php";
    </script> 
    <?php
     }
     }
    mysql_close($con);
    ?>
    
    </body>
    </html>
    
    

     (4)welcome.php

    在welcome.php成功登录页面中,先要用isset来判断是否有login.php传递过来的code,这里的isset与上面is_null的区别,isset是判断有没有这个变量,is_null是在有这个变量的前提下,判断这个变量是否为null,如果没有code这个session则说明用户非正常途径登录的,马上扔到exit.php再见走人
    如果是正常登录,则通过server对象里面的各个小对象输出用户信息。

     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>欢迎登录</title>
    </head>
    
    <body>
    <?php
    session_start();
    if(isset($_SESSION["code"])){
    ?>
    欢迎登录!<?php
    echo "${_SESSION["username"]}";
    ?><br />
    你的IP:<?php
    echo "${_SERVER['REMOTE_ADDR']}";
    ?>
    <br />
    你的系统语言:<?php
    echo "${_SERVER['HTTP_ACCEPT_LANGUAGE']}";
    ?>
    <br />
    你的浏览器为:<?php
    echo "${_SERVER['HTTP_USER_AGENT']}";
    ?>
    <br />
    <a href="exit.php">退出登录</a>
    <?php
    }
    else{
    ?>
    <script>
    alert("请正常登录!");
    window.location.href="exit.php";
    </script>
    <?php
    }
    ?>
    </body>
    </html>
    
    

     至此,整个登录系统开发完成。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

    展开阅读

    信息系统相关资源

    • ArcGIS Engine地理信息系统开发从入门到精通

      ArcGIS Engine地理信息系统开发从入门到精通

      《ArcGIS Engine地理信息系统开发从入门到精通(第二版)》 讲解基于ArcGIS Engine 10开发平台,介绍了相关的开发技术和工程应用,并用C#语言编程实现了工程实例。 《ArcGIS Engine地理信息系统开发从

      大小:36.5 MB系统开发

      立即下载
    • 管理信息系统(第9版)

      管理信息系统(第9版)

      《管理信息系统原书第9版》是2007年机械工业出版社出版的图书,作者是劳顿。 本书全面系统地介绍了管理信息系统的概念、结构、技术和应用,内容新颖,反映了美国当代的最新水平。本书以管理为出发点,分别从管理、宏观及应用的视角来剖析管理信息系统。实用性强,备有大量案例,非常有利于企业各类人员对管理信息系统形成统一的认识。本书不仅可以作为管理类专业本科生和MBA的教材使用,也可以作为在职干部、经理和工程技术人员的培训教材使用。

      大小:2.09 MB管理信息

      立即下载
    • Visual C++ 6.0信息管理系统开发实例导航

      Visual C++ 6.0信息管理系统开发实例导航

      VisualC++6.0信息管理系统开发实例导航 丛书名:信息管理系统开发实例系列 作者:求是科技编 出版日期:2005-04 本书以多个实用的信息管理系统(包括员工培训管理系统、仓库管理系统、人事管理系统、考勤管理系统、工资管理系统、贸易公司管理系统、固定资产管理系统)为案例,详细讲述了信息管理系统的开发过程,对目标设计、系统开发背景、系统功能分析、系统功能模块设计、数据库需求分析与设计、各功能模块编码实现、系统的发布等各个过程进

      大小:16.13 MBC++

      立即下载
    • python学生信息管理系统

      大小:52 KBpython

      立即下载
    • ArcGIS Engine地理信息系统开发教程

      ArcGIS Engine地理信息系统开发教程

      ArcGIS Engine地理信息系统开发教程 基于ArcGIS Engine 10,以C#.NET 2010为开发语言进行讲解。内容包括ArcGIS Engine编程基础、GIS应用软件的开发方式、地图基本操作、查询统计、地图制图、数据编辑、空

      大小:1.3GB MBArcGIS

      立即下载
    • 物流管理信息系统

      物流管理信息系统

      大小:2800 MB MB物流系统

      立即下载

    学习笔记

    4小时32分钟前回答

    Java获取当前操作系统的信息实例代码

    主流有几种方法,一种是用下面的函数 publicstaticStringgetProperty(Stringkey) 键 相关值的描述 java.version java.version Java 运行时环境版本 java.vendor java.vendor Java 运行时环境供应商 java.vendor.url java.vendor.url Java 供应商的 URL java.home java.home Java 安装目录 java.vm.specification.version java.vm.specification.version Java 虚拟机规范版本 java.vm.specification.vendor java.vm.specification.vendor Java 虚拟机规范供应商 java.vm.specification.name java.vm.specification.name Java 虚拟机规范名称 java.vm.version java.vm.version Java 虚拟机实现版本 java.vm.vendor java.vm.vendor Java 虚拟机实现供应商 java.vm.name java.vm.name Java 虚拟机实现名称 java.specification.version java.specification.version Jav……