滨水景点网络生成方法、系统、计算机设备及存储介质与流程

文档序号:21979959发布日期:2020-08-25 19:14阅读:92来源:国知局
滨水景点网络生成方法、系统、计算机设备及存储介质与流程
本发明涉及一种滨水景点网络生成方法、系统、设备及介质,属于城乡规划技术及风景园林工程
技术领域

背景技术
:滨水区作为市民游憩步行空间,是城市重要的线性景点,连接了沿岸两侧的其他城市景点,形成滨水景点网络。研究滨水景点网络有助于整体性地研究滨水地段和水体两岸的城市景点,从网络结构这一层面剖析市民在滨水景点中的流动特征,从而系统性地构建滨水景点体系,为市民提供优质的滨水景点体验。随着信息通信技术时代的来临,大数据和开放数据的广泛使用为城市研究提供了新的方法和途径,并在近些年来被运用在景点网络的生成技术上,如杨俊宴等(2016)开发了一种基于手机信令数据的滨水区观景游线生成方法(适用于500米的地域尺度);赵渺希等(2017)开发了一种基于网络游记的景点网络生成方法(适用5000米的地域尺度)。但现有景点网络生成方法集中在国家级、省级、城市级等较大空间尺度的旅游流上,缺少对市民日常步行空间层面景点体系的研究,这是因为现有方法多是基于网络游记、手机信令、兴趣点(pointofinterest,简称poi)点数据等空间粒度较大的数据所开发的,不能反映市民日常步行活动特征,不适用微观层面的步行空间,无法生成街坊级别(50米)的滨水景点网络。另外,视廊在滨水区规划设计中的重要性决定了挖掘观景点的重要性,人与水体的距离是判断一个景点亲水性的重要指标,众包轨迹数据提供了考量这两个参数的信息,但未得到既有滨水空间研究方法的利用,虽然汪芳(2018)在一种生成文化景点间功能结构的方法中也有利用轨迹数据,但仅是将其作为有序的线数据来生成景点矩阵,舍弃了轨迹采样点的时间数据,也缺少对如“拍照点”等市民自定义标签信息的利用。技术实现要素:有鉴于此,本发明提供了一种滨水景点网络生成方法、系统、计算机设备及存储介质,其可以判断景点的亲水性、可停驻性以及热度,更加精准地描述滨水景点的特征,能够为整体性地研究和规划滨水景点体系提供技术支持。本发明的第一个目的在于提供一种滨水景点网络生成方法。本发明的第二个目的在于提供一种滨水景点网络生成系统。本发明的第三个目的在于提供一种计算机设备。本发明的第四个目的在于提供一种存储介质。本发明的第一个目的可以通过采取如下技术方案达到:一种滨水景点网络生成方法,所述方法包括:获取待测度区域的地图数据;根据地图数据,绘制滨水地段;获取兴趣点面数据;其中,所述兴趣点面数据为带边界地理坐标信息的兴趣点面数据;根据兴趣点面数据和滨水地段,生成滨水景点数据;获取众包轨迹数据;根据众包轨迹数据和滨水地段,生成滨水轨迹数据;根据滨水景点数据和滨水轨迹数据,生成滨水景点网络数据。进一步的,所述根据地图数据,绘制滨水地段,具体包括:在地图数据的地理数据库中创建要素类数据集;选择合适的投影坐标系作为参考坐标系,在要素类数据集中创建面要素;根据面要素图层,绘制滨水地段的面要素,从而得到滨水地段图层。进一步的,所述根据众包轨迹数据和滨水地段,生成滨水轨迹数据,具体包括:提取众包轨迹数据中的轨迹采样点数据,并存储在表格数据容器中,得到轨迹数据表格;其中,表格的一行存储一个轨迹采样点的完整数据,表格的每一列存储数据为点的经度、点的纬度、点的采样时间、点所属轨迹的号码、采样点是否为拍照点,表格的每一行数据基于点的采样时间所在列以时间先后进行排序;根据轨迹数据表格,选择投影坐标系以及投影坐标系对应的地理坐标系,生成点要素形式的轨迹数据图层;根据轨迹数据图层和滨水地段图层,确定落在滨水地段范围内的轨迹采样点数据;根据滨水地段范围内的轨迹采样点数据,得到滨水地段的轨迹号码;基于滨水地段的轨迹号码,在轨迹数据表格中进行筛选,得到滨水轨迹数据;根据滨水轨迹数据,选择投影坐标系以及投影坐标系对应的地理坐标系,生成点要素形式的滨水轨迹图层。进一步的,所述根据滨水景点数据和滨水轨迹数据,生成滨水景点网络数据,具体包括:将滨水轨迹数据图层与滨水景点数据图层进行连接,剔除落在滨水景点范围外的轨迹采样点,选定所有落在滨水景点范围内的轨迹采样点数据,保留点的经度、点的纬度、点的采样时间、点所属轨迹号码、采样点是否为拍照点和采样点所属景点的名称字段,得到滨水景点内轨迹采样点数据图层;根据滨水景点内轨迹采样点数据图层和水系矢量数据,确定景点内各轨迹采样点与最近水体的地理距离,并写入滨水景点内轨迹采样点数据图层的属性表中;根据景点名称,遍历滨水景点内轨迹采样点数据图层的属性表中存储的每一个景点,计算当前景点中轨迹采样点与最近水体的距离的和,并除以景点内的轨迹采样点数量求平均值,将该平均值的倒数存储在亲水性列中,从而得到基于亲水性的景点网络点度数据;根据景点名称,遍历滨水景点内轨迹采样点数据图层的属性表中存储的每一个景点,对轨迹编号去重后统计总量,将总量存储在轨迹数量列中,从而得到基于轨迹数量的景点网络点度数据;根据景点名称,遍历滨水景点内轨迹采样点数据图层的属性表中存储的每一个景点,基于轨迹编号列遍历当前景点内的每一条轨迹,基于轨迹采样点采样时间计算景点内某一轨迹第一个轨迹采样点与最后一个轨迹采样点的时间差,对轨迹编号列遍历完成后得到的时间差求和,并通过除以轨迹数量求平均数,并存储在平均时间列中,从而得到基于停留时长的景点网络点度数据;根据景点名称,遍历滨水景点内轨迹采样点数据图层的属性表中存储的每一个景点,计算当前景点中照片点的数据量的总数,并存储在照片数量列中,从而得到基于照片数量的景点网络点度数据;基于景点名称,将基于亲水性的景点网络点度数据、基于轨迹数量的景点网络点度数据、基于停留时长的景点网络点度数据以及基于照片数量的景点网络点度数据进行合并,得到景点的基本属性数据;根据轨迹号码,遍历滨水景点内轨迹采样点数据图层的属性表中存储的每一条轨迹数据,基于景点名称对连续重复的景点去重,并生成元组形式的景点序列数据;遍历每一条景点序列,错位一个元素进行当前景点序列的自身配对,将元组形式的景点序列转换为前后两个景点组成的景点对,得到滨水景点网络的边;其中,每一个景点对的第一个元素为边的出发地,第二个元素为边的目的地;当所有景观序列遍历完成后,统计所有景点对的数量作为滨水景点网络中边的权重;根据出发地景点名称、目的地景点名称以及权重,得到滨水景点网络的边数据;根据滨水景点网络的边数据,遍历出发地景点名称,统计边权重的和得到当前景点的入度;遍历目的地景点名称,统计边权重的和得到当前景点的出度;遍历景点名称统计景点的入度和景点的出度的和,求得当前景点的总点度,从而得到滨水景点网络的点度数据;将景点的基本属性数据和滨水景点网络的点度数据进行合并,生成滨水景点网络的点数据。进一步的,所述方法还包括:对滨水景点网络数据进行可视化,得到滨水景点网络的可视化地图;根据滨水景点网络的可视化地图,生成滨水景点网络的散点矩阵图,划分景点类型。进一步的,所述对滨水景点网络数据进行可视化,得到滨水景点网络的可视化地图,具体包括:在滨水景点内轨迹采样点数据图层的属性表中添加滨水景点质心的经度坐标和纬度坐标;对滨水景点网络的点数据表格中的景点名称,与滨水景点内轨迹采样点数据图层的属性表的景点名称进行匹配,将滨水景点质心的经度坐标和纬度坐标赋予滨水景点网络的点数据表格,从而得到赋予坐标的滨水景点网络的点数据图层;根据赋予坐标的滨水景点网络点数据图层,实现基于点度的滨水景点网络节点的可视化;对滨水景点网络的边数据表格中的出发地景点名称和目的地景点名称,与赋予坐标的滨水景点网络的点数据表格的景点名称进行匹配,将滨水景点质心的经度坐标和纬度坐标赋予滨水景点网络的边数据表格,从而得到赋予坐标的滨水景点网络的边数据图层;根据赋予坐标的滨水景点网络的边数据图层,实现滨水景点网络的边的可视化。进一步的,所述根据滨水景点网络的可视化地图,生成滨水景点网络的散点矩阵图,划分景点类型,具体包括:根据滨水景点网络的点数据表格,求亲水性、轨迹数量、平均时间、照片数量和总度的对数;根据亲水性、轨迹数量、平均时间、照片数量和总度的对数,分别对亲水性、轨迹数量、平均时间、照片数量和总度做散点矩阵图;遍历散点矩阵图中的所有散点图,求散点图横坐标和纵坐标的上四分之一位数以上的值以及下四分之一位数以下的值,得到四个集合;其中,四个集合分别为x_up、y_up、x_down和y_down;分别求x_up与y_up、x_down与y_up、x_up与y_down以及x_down与y_down的交集,生成四类景点集合;当散点图遍历完成后,基于散点图横坐标和纵坐标的标签,对滨水景点集合分类。本发明的第二个目的可以通过采取如下技术方案达到:一种滨水景点网络生成系统,所述系统包括:第一获取模块,用于获取待测度区域的地图数据;绘制模块,用于根据地图数据,绘制滨水地段;第二获取模块,用于获取兴趣点面数据;其中,所述兴趣点面数据为带边界地理坐标信息的兴趣点面数据;第一生成模块,用于根据兴趣点面数据和滨水地段,生成滨水景点数据;第三获取模块,用于获取众包轨迹数据;第二生成模块,用于根据众包轨迹数据和滨水地段,生成滨水轨迹数据;第三生成模块,用于根据滨水景点数据和滨水轨迹数据,生成滨水景点网络数据。本发明的第三个目的可以通过采取如下技术方案达到:一种计算机设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现上述的滨水景点网络生成方法。本发明的第四个目的可以通过采取如下技术方案达到:一种存储介质,存储有程序,所述程序被处理器执行时,实现上述的滨水景点网络生成方法。本发明相对于现有技术具有如下的有益效果:本发明利用众包轨迹数据和兴趣点(poi)面数据获取附带滨水景点信息的滨水轨迹数据,首先充分利用轨迹数据高精度时空间粒度的特点,计算景点内市民与水体的距离、市民在景点的停驻时间以及景点内的轨迹数据量,以判断景点的亲水性、可停驻性以及热度;同时,利用众包轨迹数据中所携带的拍照点标签数据,判断景点的拍照热度,更加精准地描述滨水景点的特征;然后,通过构建景点序列获取景点网络的边、边权重以及点度;最后,合并点数据和边数据,生成滨水景点网络的可视化地图,以及点数据的散点矩阵图,能够为整体性地研究和规划滨水景点体系提供技术支持。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。图1为本发明实施例1的滨水景点网络生成方法流程图。图2为本发明实施例1的滨水地段的示意图。图3为本发明实施例1的滨水景点的示意图。图4为本发明实施例1的加载滨水轨迹数据的示意图。图5为本发明实施例1的生成景点序列的示意图。图6为本发明实施例1的获得滨水景点网络的边数据的示意图。图7为本发明实施例1的滨水景点网络的示意图。图8为本发明实施例1的滨水景点网络的散点矩阵图。图9为本发明实施例1的四类景点集合的示意图。图10为本发明实施例2的滨水景点网络生成系统的结构框图。图11为本发明实施例3的计算机设备的结构框图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例1:如图1所示,本实施例提供了一种滨水景点网络生成方法,该方法基于poi(pointofinterest,兴趣点)面要素和众包轨迹数据实现,包括以下步骤:s1、获取待测度区域(研究范围)的地图数据。s11、加载待测度区域矢量地图数据。具体地,在arcmap软件的【目录】中,在适当的路径新建一个文件地理数据库(.gdb),并保存当前地图文档(.mxd)。在当前地图文档中,在gis服务器中添加天地图在线地图服务,将天地图的矢量地图(vec)拖拽至【内容列表】中,并将【地图显示窗口】缩放至待测度区域。s12、加载待测度区域地图矢量数据。具体地,从openstreetmap(osm)官方网站中下载测度区域的矢量地图数据(.shp),在步骤s11新建的地理数据库中,将osm地图数据中的绿地矢量数据和水系矢量数据拖拽至【内容列表】。s2、根据地图数据,绘制滨水地段。s21、在地图数据的地理数据库中创建要素类数据集。在arcmap软件的【目录】中,在步骤s11所建立的文件地理数据库中新建要素类数据集(.shp)。s22、选择合适的投影坐标系作为参考坐标系,在要素类数据集中创建面要素。具体地,选择投影坐标系“wgs_1984_utm_zone_49n”作为参考坐标系,该投影坐标系能够用于待测度区域,在该要素类数据集中新建面要素,以用于绘制滨水地段。s23、根据面要素图层,绘制滨水地段的面要素,从而得到滨水地段图层。具体地,对步骤s22所生成的要素图层进行【编辑要素】,绘制滨水地段的面要素,绘制过程中应参照步骤s11所生成的天地图矢量地图,选择水体(本实施例为珠江)蓝线至滨江第一条市政道路红线之间的空间为滨水地段,并依据水体垂直方向的市政道路对滨水地段的面要素做划分,得到不同区段的滨水地段面要素;绘制完成后打开该图层属性表,添加景点名称(”name”)字段,并在该字段中给每一个面要素添加唯一名称,完成后即可获得滨水地段图层,如图2所示。本实施例通过上述步骤s1和s2,完成滨水地段底图编辑。s3、获取待测度区域的兴趣点面数据。其中,兴趣点面数据为带边界地理坐标信息的兴趣点(poi)面数据。s31、解析带边界地理坐标信息的兴趣点(poi)数据。在jupyternotebook中用python连接高德地图应用程序接口,选择合适类型的poi数据(本实施例为风景名胜、购物服务、科教文化服务、休闲体育服务),基于待测度区域,爬取带边界地理坐标的poi数据,数据爬取完成后,将坐标数据转为步骤s22使用的投影坐标系对应的地理坐标系“gcs_wgs_1984”,将poi数据存储为字典(dictionary)格式,每一个字典存储一个poi的数据,字典的各个键值(“keys”)以及对应存储的数据内容分别为每一个字典的唯一编号(“fid”)、poi类型(“classify”)、poi分类代码(“typecode”)、poi名称(“name”)、poi官方唯一编号(“ids”)、组成poi地块边界的坐标点(“geometry”),该数据另存为json格式文件(.json)待用。s32、导入带边界地理坐标的poi数据。具体地,在arcmap中的工具箱中打开【json转要素】工具,“输入要素”为步骤s31生成的json格式文件,选择合适的地址输出文件要素,点击确定后,将生成的poi面要素图层加载在【内容列表】中;其中,poi面要素存储有poi边界坐标数据,相较于poi点数据,可被用于更加精准地识别市民是否进入了poi的空间范围,适用于微观层面的研究。s4、根据兴趣点面数据和滨水地段,生成滨水景点数据。具体地,在arcmap中的工具箱中打开【合并】工具,输入要素为s32生成的poi面要素图层以及步骤s23生成的滨水地段的面要素,选择适合的地址输出文件要素,点击确定后,即可生成完整的滨水景点要素图层,如图3所示。本实施例通过上述步骤s3和s4,完成滨水景点数据处理。s5、获取众包轨迹数据。众包轨迹数据是市民自愿上传到网络平台的gps(globalpositioningsystem,全球卫星定位系统)步行轨迹数据,存储了市民以游憩为目的的步行活动信息,其空间粒度精细到了市民个体,时间粒度精细到了秒,适合构建街坊层面的滨水景点网络。具体地,本实施例从户外助手app中下载的众包轨迹数据文件(.kml),以获取众包轨迹数据。s6、根据众包轨迹数据和滨水地段,生成滨水轨迹数据。s61、提取众包轨迹数据中的轨迹采样点数据,并存储在表格数据容器中。在jupyternotebook中用python解析众包轨迹数据文件(.kml),提取众包轨迹数据文件中的采样点数据,并存储在dataframe表格数据容器中,表格的一行存储一个采样点的完整数据,表格的每一列存储数据为点的经度(“lat”)、点的纬度(“lng”)、点的采样时间(“time”)、点所属轨迹的号码(“trackid”)、采样点是否为拍照点(“pic”),表格的每一行数据基于“time”列以时间先后进行排序,最后通过循环遍历所有众包轨迹数据,将所有的轨迹采样点数据存储在dataframe表格数据容器中,得到轨迹数据表格,并以csv表格文件保存待用,如下表1所示。latlngtimetrackidpic0113.31396023.1097302017-10-2011:52:160false1113.3128023.109512017-10-2011:53:480true2113.21413923.0231092018-07-0315:23:431false3113.21412323.0231312018-07-0315:24:011false表1轨迹数据表格s62、根据轨迹数据表格,选择投影坐标系以及投影坐标系对应的地理坐标系,生成点要素形式的轨迹数据图层。具体地,在arcmap中选择【添加xy数据】,输入文件定位到步骤s61生成的csv表格文件,“x字段”和“y字段”分别选择字段“lat”和“lng”,“输入坐标的坐标系”选择步骤s22使用的投影坐标系对应的地理坐标系“gcs_wgs_1984”,“高级几何选项”中的“空间参考”选择步骤s22使用的投影坐标系“wgs_1984_utm_zone_49n”,点击确定即可生成点要素形式的轨迹数据图层(.shp)。s63、根据轨迹数据图层和滨水地段图层,确定落在滨水地段范围内的轨迹采样点数据。具体地,在arcmap的基本菜单中点击【选择——按位置选择】,“目标图层”选择步骤s62生成的轨迹数据图层,“源图层”选择s23生成的滨水地段图层,“空间选择方式”选择“在源图层要素范围内”,点击“确定”即可选定落在滨水地段范围内的轨迹点数据,将这些选定数据的属性表以csv格式导出待用。s64、根据滨水地段范围内的轨迹采样点数据,得到滨水地段的轨迹号码。具体地,在jupyternotebook中用python处理步骤s63中得到的csv文件,获取该文件中“trackid”列的唯一值,即可得到所有经过滨水地段的轨迹的号码。s65、基于滨水地段的轨迹号码,在轨迹数据表格中进行筛选,得到滨水轨迹数据。具体地,基于滨水地段的轨迹号码,在步骤s61得到的轨迹数据表格中进行筛选,获得经过滨水地段的轨迹数据,即滨水轨迹数据,将这些数据导出csv文件待用。s66、根据滨水轨迹数据,选择投影坐标系以及投影坐标系对应的地理坐标系,生成点要素形式的滨水轨迹图层。具体地,在arcmap中选择【添加xy数据】,输入文件定位到步骤s65生成的csv文件,“x字段”和“y字段”分别选择字段“lat”和“lng”,“输入坐标的坐标系”选择步骤s22使用的投影坐标系对应的地理坐标系“gcs_wgs_1984”,“高级几何选项”中的“空间参考”选择步骤s22使用的投影坐标系“wgs_1984_utm_zone_49n”,点击确定即可生成点要素形式的滨水轨迹数据图层(.shp),如图4所示。通过上述步骤s5和步骤s6,完成滨水轨迹数据处理。s7、根据滨水景点数据和滨水轨迹数据,生成滨水景点网络数据。s71、将滨水轨迹数据图层与滨水景点数据图层进行连接,剔除落在滨水景点范围外的轨迹采样点,选定所有落在滨水景点范围内的轨迹采样点数据,保留点的经度、点的纬度、点的采样时间、点所属轨迹号码、采样点是否为拍照点和采样点所属景点的名称字段,得到滨水景点内轨迹采样点数据图层。具体地,在arcmap中的【内容列表】中鼠标右键点击步骤s66生成的滨水轨迹图层,打开【连接】工具页面,“连接方式”选择“基于空间位置”,“连接图层”选择步骤s4生成的滨水景点数据,其他选项保持默认,点击“确定”后打开滨水轨迹图层的属性表,随后选择【按属性选择】并输入【"typecode"<>(”)】剔除落在滨水景点范围外的采样点,点击“应用”即可选定所有落在滨水景点范围内的轨迹采样点数据,删除属性表其他字段,只保留点的经度(“lat”)、点的纬度(“lng”)、点的采样时间(“time”)、点所属轨迹号码(“trackid”)、采样点是否为拍照点(“pic”)和采样点所属景点的名称(“name”)字段,导出数据(.shp)并将该图层添加在【内容列表】中,滨水景点内轨迹采样点数据图层的属性表如下表2所示。latlngtimetrackidpicname0113.31396023.1097302017-10-2011:52:160false越秀公园1113.3128023.109512017-10-2011:53:480true兰圃公园2113.21413923.0231092018-07-0315:23:431false天河城3113.21412323.0231312018-07-0315:24:011false天河城表2滨水景点内轨迹采样点数据图层的属性表s72、根据滨水景点内轨迹采样点数据图层和水系矢量数据,确定景点内各轨迹采样点与最近水体的地理距离,并写入滨水景点内轨迹采样点数据图层的属性表中。具体地,在arcmap中打开【近邻分析】工具,“输入要素”定位步骤s71所生成的滨水景点内轨迹采样点数据图层,“临近要素”定位步骤s12生成的水系矢量数据,点击“确定”将获得景点内各轨迹点与最近水体的地理距离,并写入滨水景点内轨迹采样点数据图层的属性表的“near_dist”字段,将属性表导出成csv文件待用。s73、根据景点名称,遍历滨水景点内轨迹采样点数据图层的属性表中存储的每一个景点,计算当前景点中轨迹采样点与最近水体的距离的和,并除以景点内的轨迹采样点数量求平均值,将该平均值的倒数存储在亲水性列中,从而得到基于亲水性的景点网络点度数据。具体地,在jupyternotebook中用python处理步骤s72生成的csv表格(滨水景点内轨迹采样点数据图层的属性表)文件统计景点的亲水性,流程如下:根据“name”(景点名称)遍历表格中存储的每一个景点,计算当前景点中轨迹点与最近水体的距离(“near_dist”)的和,并除以景点内的轨迹点数量求平均值,将该平均值的倒数存储在亲水性(“water_accessibility”)列中,景点名称(“name”)遍历完成后即得到基于亲水性的景点网络点度数据,另存csv文件待用。通过上述步骤s72和s73,获得基于亲水性的景点基本属性。s74、根据景点名称,遍历滨水景点内轨迹采样点数据图层的属性表中存储的每一个景点,对轨迹编号去重后统计总量,将总量存储在轨迹数量列中,从而得到基于轨迹数量的景点网络点度数据。具体地,在jupyternotebook中用python处理步骤s72生成的csv表格(滨水景点内轨迹采样点数据图层的属性表)文件统计景点内的轨迹数量,流程如下:根据景点名称(“name”)遍历表格中存储的每一个景点,对轨迹编号(“track_id”)去重后统计总量,将总量存储在轨迹数量(“track_num”)列中,景点名称(“name”)遍历完成后即得到基于轨迹数量的景点网络点度数据,另存csv文件待用。s75、根据景点名称,遍历滨水景点内轨迹采样点数据图层的属性表中存储的每一个景点,基于轨迹编号列遍历当前景点内的每一条轨迹,基于轨迹采样点采样时间计算景点内某一轨迹第一个轨迹采样点与最后一个轨迹采样点的时间差,对轨迹编号列遍历完成后得到的时间差求和,并通过除以轨迹数量求平均数,并存储在平均时间列中,从而得到基于停留时长的景点网络点度数据。具体地,在jupyternotebook中用python处理步骤s72生成的csv表格(滨水景点内轨迹采样点数据图层的属性表)文件统计景点内人均停留时长,流程如下:根据景点名称(“name”)遍历表格中存储的每一个景点,基于轨迹编号(“track_id”)列遍历当前景点内的每一条轨迹,基于轨迹点采样时间(“time”)计算景点内某一轨迹第一个轨迹点与最后一个轨迹点的时间差,对轨迹编号(“track_id”)列遍历完成后得到的时间差求和,并通过除以轨迹数量(“track_num”)求平均数,并存储在平均时间(“time_average”)列中,景点名称(“name”)遍历完成后即得到基于停留时长的景点网络点度数据,另存csv文件待用。s76、根据景点名称,遍历滨水景点内轨迹采样点数据图层的属性表中存储的每一个景点,计算当前景点中照片点的数据量的总数,并存储在照片数量列中,从而得到基于照片数量的景点网络点度数据。具体地,在jupyternotebook中用python处理步骤s72生成的csv表格(滨水景点内轨迹采样点数据图层的属性表)文件统计景点内人均停留时长,流程如下:根据景点名称(“name”)遍历表格中存储的每一个景点,计算当前景点中照片点(“pic”==true)的数据量的总数,并存储在照片数量(“pic_number”)列中,景点名称(“name”)遍历完成后即得到基于照片数量的景点网络点度数据,另存csv文件待用。s77、基于景点名称,将基于亲水性的景点网络点度数据、基于轨迹数量的景点网络点度数据、基于停留时长的景点网络点度数据以及基于照片数量的景点网络点度数据进行合并,得到景点的基本属性数据。具体地,在jupyternotebook中用python处理步骤s73、s74、s75和s76所生成的四个表格数据,基于景点名称(“name”)合并四类基本属性数据在一个表格中,列名及存储数据分别为:景点名称(“name”)、亲水性(“water_accessibility”)、轨迹数量(“track_num”)、平均时间(“time_average”)、照片数量(“pic_number”),即得到景点的完整基本属性表格,另存csv文件待用。s78、根据轨迹号码,遍历滨水景点内轨迹采样点数据图层的属性表中存储的每一条轨迹数据,基于景点名称对连续重复的景点去重,并生成元组形式的景点序列数据。具体地,在jupyternotebook中用python处理步骤s71生成的csv表格文件,流程如下:根据轨迹号码(“trackid”)遍历表格中存储的每一条轨迹数据,基于景点名称(“name”)对连续重复的景点去重,并生成(a,b,c,……,g,h)元组(tuple)形式的景点序列数据,元组中的元素是不同景点的名称,景点顺序已在步骤s61中实现了基于轨迹点采样时间的正序排列,如图5所示。s79、遍历每一条景点序列,错位一个元素进行当前景点序列的自身配对,将元组形式的景点序列转换为前后两个景点组成的景点对,得到滨水景点网络的边。s710、当所有景观序列遍历完成后,统计所有景点对的数量作为滨水景点网络中边的权重。s711、根据出发地景点名称、目的地景点名称以及权重,得到滨水景点网络的边数据。上述步骤s79~步骤s711,具体为:在jupyternotebook中用python将步骤s78获得的景点序列转为带权重的景点对,流程如下:遍历每一条景点序列,错位一个元素进行当前景点序列的自身配对,将(a,b,d,f,g,h,r)形式的景点序列转换为前后两个景点组成的景点对((a,b),(b,d),(d,f),(f,g),(g,h),(h,r)),即得到滨水景点网络的边,其中每一个景点对的第一个元素为边的出发地,第二个元素为边的目的地;所有景观序列遍历完成后,统计所有景点对的数量作为滨水景点网络中边的权重;存储在dataframe表格中,表格的每一行数据是滨水景点网络的每一条边的数据,其中列的名称以及存储数据分别为出发地景点名称(“name(o)”)、目的地景点名称(“name(d)”)、权重(”weight”),即得到了滨水景点网络的边数据,如图6所示,另存为csv文件待用。s712、根据滨水景点网络的边数据,遍历出发地景点名称,统计边权重的和得到当前景点的入度;遍历目的地景点名称,统计边权重的和得到当前景点的出度;遍历景点名称统计景点的入度和景点的出度的和,求得当前景点的总点度,从而得到滨水景点网络的点度数据。具体地,在jupyternotebook中用python处理步骤s711获得的边数据,遍历出发地景点名称(“name(o)”),统计边权重(“weight”)的和得到当前景点的入度(in_degree);遍历出发地景点名称(“name(d)”)统计边权重(“weight”)的和得到当前景点的出度(“out_degree”);遍历景点名称(“name”)统计景点的入度(“in_degree”)和景点的出度(“out_degree”)的和,求得当前景点的总点度(“degree”),将景点的名称(“name”)、总度(“degree”)储存为表格形式,即获得滨水景点网络的点度数据,导出成csv形式待用。s713、将景点的基本属性数据和滨水景点网络的点度数据进行合并,生成滨水景点网络的点数据。具体地,在jupyternotebook中用python处理步骤s77和s712所生成的两个表格数据,基于景点名称(“name”)合并基本属性和点度在一个表格中,列名及存储数据分别为:景点名称(“name”)、亲水性(“water_accessibility”)、轨迹数量(“track_num”)、平均时间(“time_average”)、照片数量(“pic_number”)、总度(“degree”),即得到滨水景点网络的完整点数据表格,另存csv文件待用。s8、对滨水景点网络数据进行可视化,得到滨水景点网络的可视化地图。s81、在滨水景点内轨迹采样点数据图层的属性表中添加滨水景点质心的经度坐标和纬度坐标。具体地,在arcmap中打开步骤s73生成的滨水景点内轨迹采样点数据图层的属性表,添加两个新字段“x”和“y”(双精度型),在“x”字段打开“计算几何”,“属性”选择“质心的x坐标”,“单位”选择“十进制度”,其他保持默认,点击“确定”生成景点质心的经度坐标;对字段“y”进行相同操作,属性选择“质心的y坐标”,即可生成景点质心的纬度坐标,将该属性表导出成csv文件待用。s82、对滨水景点网络的点数据表格中的景点名称,与滨水景点内轨迹采样点数据图层的属性表的景点名称进行匹配,将滨水景点质心的经度坐标和纬度坐标赋予滨水景点网络的点数据表格,从而得到赋予坐标的滨水景点网络的点数据图层。具体地,在jupyternotebook中用python打开步骤s713生成的景点网络的点数据表格文件,在该文件生成的表格中添加两个新列“x”与“y”,通过匹配点数据表格景点名称(“name”)列与步骤4.7.4生成的滨水景点数据的景点名称(“name”)列,将滨水景点数据中的经度(“lat”)、纬度(“lng”)赋予点数据表格中对应的景点,并分别添加在“x”与“y”列中,将新的点数据表格导出成csv文件待用。在arcmap中选择【添加xy数据】,导入新的点数据表格导出成csv文件“x字段”选择“x”,“y字段”选择“y”,其他保持默认,点击“确定”,将滨水景点网络的点数据以图层形式添加到了【内容列表】中,得到赋予坐标的滨水景点网络的点数据图层。s83、根据赋予坐标的滨水景点网络点数据图层,实现基于点度的滨水景点网络节点的可视化。具体地,在arcmap的【内容列表】中,进入步骤s82生成的赋予坐标的滨水景点网络的点数据图层的“符号系统”页面,选择“分级符号”,【字段】中选择点度(“degree”)为值,设置好符号后点击“确定”,实现基于点度的滨水景点网络节点的可视化。s84、对滨水景点网络的边数据表格中的出发地景点名称和目的地景点名称,与赋予坐标的滨水景点网络的点数据表格的景点名称进行匹配,将滨水景点质心的经度坐标和纬度坐标赋予滨水景点网络的边数据表格,从而得到赋予坐标的滨水景点网络的边数据图层。具体地,在jupyternotebook中用python打开步骤s711生成的滨水景点网络的边数据,在边数据生成的表格中添加四个新列“o_x”、“o_y”、“d_x”和“d_y”,将边数据表格的出发地景点名称(“name(o)”列)和目的地景点名称(“name(d)”列),与步骤s82生成的赋予坐标的滨水景点网络的点数据表格的景点名称(“name”列)相匹配,将步骤s82生成的赋予坐标的滨水景点网络的点数据表格中的经度(“lat”)、纬度(“lng”)数据赋予边数据表格中对应的出发地景点和目的地景点,分别添加在“o_x”、“o_y”、“d_x”和“d_y”中,导出成csv文件待用。s85、根据赋予坐标的滨水景点网络的边数据图层,实现滨水景点网络的边的可视化。进入步骤s85生成的赋予坐标的滨水景点网络的边数据图层的“符号系统”页面,选择“分级符号”,【字段】中选择“weight”为值,设置好符号后点击“确定”,实现滨水景点网络的边的可视化;基于点度的滨水景点网络节点和滨水景点网络的可视化图如图7所示。s9、根据滨水景点网络的可视化地图,生成滨水景点网络的散点矩阵图,划分景点类型。s91、根据滨水景点网络的点数据表格,求亲水性、轨迹数量、平均时间、照片数量和总度的对数。具体地,在jupyternotebook中用python处理步骤s713生成的滨水景点网络的点数据表格,求亲水性(“water_accessibility”)、轨迹数量(“track_num”)、平均时间(“time_average”)、照片数量(“pic_number”)、总度(“degree”)的对数,导出成csv文件待用。s92、根据亲水性、轨迹数量、平均时间、照片数量和总度的对数,分别对亲水性、轨迹数量、平均时间、照片数量和总度做散点矩阵图。具体地,在jupyternotebook中用python处理步骤s91生成的数据,分别对亲水性(“water_accessibility”)、轨迹数量(“track_num”)、平均时间(“time_average”)、照片数量(“pic_number”)、总点度(“degree”)做散点矩阵图(pairsplots),如图8所示。s93、遍历散点矩阵图中的所有散点图,求散点图横坐标和纵坐标的上四分之一位数以上的值以及下四分之一位数以下的值,得到四个集合。具体地,观察步骤s92生成的散点矩阵图,基于研究目的按照一定的规则划分景点,本方法采用的规则为:遍历散点矩阵图中的所有散点图,求散点图横坐标和纵坐标的上四分之一位数以上的值和下四分之一位数以下的值,得到四个集合,四个集合分别为x_up、y_up、x_down、y_down。s94、分别求x_up与y_up、x_down与y_up、x_up与y_down以及x_down与y_down的交集,生成四类景点集合,如图9所示。s95、当散点图遍历完成后,基于散点图横坐标和纵坐标的标签,对滨水景点集合分类,如下表3所示,为滨水景点的规划和设计提供依据。表3景点分类表应当注意,尽管以特定顺序描述了上述实施例的方法操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。实施例2:如图10所示,本实施例提供了一种滨水景点网络生成系统,该系统包括第一获取模块1001、绘制模块1002、第二获取模块1003、第一生成模块1004、第三获取模块1005、第二生成模块1006和第三生成模块1007,各个模块的具体功能如下:所述第一获取模块1001,用于获取待测度区域的地图数据。所述绘制模块1002,用于根据地图数据,绘制滨水地段。所述第二获取模块1003,用于获取兴趣点面数据;其中,所述兴趣点面数据为带边界地理坐标信息的兴趣点面数据。所述第一生成模块1004,用于根据兴趣点面数据和滨水地段,生成滨水景点数据。所述第三获取模块1005,用于获取众包轨迹数据。所述第二生成模块1006,用于根据众包轨迹数据和滨水地段,生成滨水轨迹数据。所述第三生成模块1007,用于根据滨水景点数据和滨水轨迹数据,生成滨水景点网络数据。需要说明的是,本实施例提供的系统仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。可以理解,上述装置所使用的术语“第一”、“第二”等可用于描述各种模块,但这些模块不受这些术语限制。这些术语仅用于将第一个模块与另一个模块区分。举例来说,在不脱离本发明的范围的情况下,可以将第一生成模块称为第二生成模块,且类似地,可将第二生成模块称为第一生成模块,第一生成模块和第二生成模块两者都是生成模块,但不是同一生成模块。实施例4:本实施例提供了一种计算机设备,该计算机设备可以是计算机,如图11所示,其包括通过系统总线1101连接的处理器1102、存储器、输入装置1103、显示器1104和网络接口1105,该处理器用于提供计算和控制能力,该存储器包括非易失性存储介质1106和内存储器1107,该非易失性存储介质1106存储有操作系统、计算机程序和数据库,该内存储器1107为非易失性存储介质中的操作系统和计算机程序的运行提供环境,处理器1102执行存储器存储的计算机程序时,实现上述实施例1的滨水景点网络生成方法,如下:获取待测度区域的地图数据;根据地图数据,绘制滨水地段;获取兴趣点面数据;其中,所述兴趣点面数据为带边界地理坐标信息的兴趣点面数据;根据兴趣点面数据和滨水地段,生成滨水景点数据;获取众包轨迹数据;根据众包轨迹数据和滨水地段,生成滨水轨迹数据;根据滨水景点数据和滨水轨迹数据,生成滨水景点网络数据。进一步地,所述方法还包括:对滨水景点网络数据进行可视化,得到滨水景点网络的可视化地图;根据滨水景点网络的可视化地图,生成滨水景点网络的散点矩阵图,划分景点类型。实施例5:本实施例提供了一种存储介质,该存储介质为计算机可读存储介质,其存储有计算机程序,计算机程序被处理器执行时,实现上述实施例1的滨水景点网络生成方法,如下:获取待测度区域的地图数据;根据地图数据,绘制滨水地段;获取兴趣点面数据;其中,所述兴趣点面数据为带边界地理坐标信息的兴趣点面数据;根据兴趣点面数据和滨水地段,生成滨水景点数据;获取众包轨迹数据;根据众包轨迹数据和滨水地段,生成滨水轨迹数据;根据滨水景点数据和滨水轨迹数据,生成滨水景点网络数据。进一步地,所述方法还包括:对滨水景点网络数据进行可视化,得到滨水景点网络的可视化地图;根据滨水景点网络的可视化地图,生成滨水景点网络的散点矩阵图,划分景点类型。本实施例中的存储介质可以是磁盘、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、u盘、移动硬盘等介质。综上所述,本发明利用众包轨迹数据和兴趣点(poi)面数据获取附带滨水景点信息的滨水轨迹数据,首先充分利用轨迹数据高精度时空间粒度的特点,计算景点内市民与水体的距离、市民在景点的停驻时间以及景点内的轨迹数据量,以判断景点的亲水性、可停驻性以及热度;同时,利用众包轨迹数据中所携带的拍照点标签数据,判断景点的拍照热度,更加精准地描述滨水景点的特征;然后,通过构建景点序列获取景点网络的边、边权重以及点度;最后,合并点数据和边数据,生成滨水景点网络的可视化地图,以及点数据的散点矩阵图,能够为整体性地研究和规划滨水景点体系提供技术支持。以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明专利构思加以等同替换或改变,都属于本发明专利的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1