![Page 1: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/1.jpg)
Mapping and Geocoding
Historical Chinese Placenames
——CBDB 工作报告
袁钰莹
2019.2.21
![Page 2: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/2.jpg)
提纲
WorldMap
1350-1900年50年间隔的政区图
唐代地名的Geocoding
1)在线数据:TGAZ
2)本地数据:DDBC
3)现代地图:高德
其他辅助工作
1)郭书地名和CBDB的对比
2)全宋诗目录整理
![Page 3: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/3.jpg)
开始时间:1350年
截止时间:1900年+1911年
时间间隔:50年
数据来源:CHGIS V6
地图内容:府州级&县级行政单位分布县级(county):点府州级(prefecture):点&面
网页链接:http://worldmap.harvard.edu/ma
ps/chgis
一、WorldMap
![Page 4: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/4.jpg)
样例
![Page 5: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/5.jpg)
制图工具:QGIS
制图方法:1)下载CHGIS Version 6 的数据2)在QGIS中利用“属性表”(attribute
table)中的利用公式筛选功能,选出对应年份存在的行政区数据举例: "BEG_YR" <= 1350 and "END_YR" >= 1350
3)将选出的数据另存为shp文件4)在“属性”(Properties)中调整样式
QGIS的用途:制图空间分析打开编码问题的csv、txt、xls文件
![Page 6: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/6.jpg)
二、唐代地名Geocoding邢云唐代地名的地理坐标查补
![Page 8: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/8.jpg)
TGAZ(在线数据)
举例:朔州
![Page 9: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/9.jpg)
TGAZ(在线数据)
特点:可以直接获得json或xml格式的文件——便于程序调用检索
举例:朔州-json
网址形式:http://maps.cga.harvard.edu/tgaz/placename?fmt
=json&n=朔州&yr=&ftyp=&src=
结果:
![Page 10: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/10.jpg)
TGAZ(在线数据)检索逻辑:
1)地名匹配
2)年份上有交叉或者是包含关系
3)只保留point类型的结果
储存信息:1)原始数据的信息
2)TGAZ中获得的数据
多个检索结果的保存——使用id_x的方式,显示是检索结果的第几条
开始年 结束年
时间轴
![Page 11: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/11.jpg)
DDBC(本地文件/数据) DDBC(Dharma Drum Buddhist College)——网址:http://authority.dila.edu.tw/place/
——法鼓文理學院
![Page 12: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/12.jpg)
DDBC(本地文件/数据)数据提取:从htm文件提取数据到csv
htm文件:
![Page 13: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/13.jpg)
DDBC(本地文件/数据)
提取数据到CSV文件
用Python和regex识别提取
1)语句的容错性
——举例:拼音、缺失内容
2)对同一栏目多个内容的区别(便于后续处理)
① 别名:字符格式,以 $分隔
——举例:於越$大越$越
② 引用位置和URL单独划行存放
3)批量处理,个别例外的修改调整
![Page 14: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/14.jpg)
DDBC(本地文件/数据)
经纬度获取
检索逻辑(类TGAZ)
① 年代筛选:只在DDBC唐代的数据中检索
② 名称对应:使用纯字符包含关系
——“地名”VS“地名”&“别名”
③ 从属关系(道)对比
结果保存
——形式类似TGAZ
![Page 15: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/15.jpg)
高德地图(现代地图)数据特点:现代地址的检索
前提:知道对应的现代地址
检索方式
1)结构化数据:国家-省-市-区县-街道号码
2)利用高德地图API,批量输入地址,获取
地址的经纬度信息
其他同类数据源
Google Map、百度地图等
![Page 16: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/16.jpg)
检索结果
TGAZ:1780
![Page 17: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/17.jpg)
检索结果
DDBC:1118
![Page 18: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/18.jpg)
检索结果
≥1054条无匹配
![Page 19: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/19.jpg)
三、辅助工作
1)唐代地名匹配(郭书 VS CBDB)
筛选逻辑:① 层级一致
② 名称匹配
③ 所属道相同
——“關內道”&“關内道”
④ 最佳年代匹配
——起止年相差的绝对值之和最小
人工判断、数据导入
2)全宋诗目录整理
使用regex对“册”、“卷”、“作者”、“诗题”进行分别标注
人工检查,修正错误
![Page 20: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/20.jpg)
总结文本录入规范化
①统一繁简体、编码(文件名注明GBK, UTF-8)
②英文大小写一致
③统一体例
举例:①多个别名用$区分;②无内容单元格,都空着
或都填blank——不影响文本含义&编程识别的符号
资料录入时标明data来源,便于反查
说明文件
——录入者对数据特殊之处/数据特点/数据格式的说明
——数据修正的记录
编程的使用
1)有逻辑性、重复性工作(regex)
2)大批量数据的分析:整体性分析、具体问题的辅助分析
![Page 21: Mapping and Geocoding Historical Chinese Placenames...2019/02/21 · 用Python和regex识别提取 1)语句的容错性 ——举例:拼音、缺失内容 2)对同一栏目多个内容的区别(便于后续处理)](https://reader034.vdokument.com/reader034/viewer/2022052021/6035536a4a902c1e566a5b0b/html5/thumbnails/21.jpg)
谢谢