我有点忘了当初的宏愿了,所以要回到网站上看看,http://worldmap.harvard.edu/maps/chinaX。
先下载个有道翻译,看下左侧的Overlays,忽然发现除了《中国历史地图集》上有的政区和治所沿革外。还有很多自然地理、农业地理、军事地理,人口变迁、海岸线变迁、黄河变迁的图层,这些数据都没有。
那还是先用现有的数据,参考《中国历史地图集》的索引顺序,以朝代划分图层吧。
商周(春秋战国)、秦、汉(西汉东汉)、晋(三国西晋东晋)、唐、五代十国、宋、元、明、清。
图层展示是用朝代划分的,点击可见覆盖物的时候,弹出infowindow,显示属性。
先看下数据量级,多的话,就分开,不多的话,就全部返给前端。
v6_time_cnty_pts_utf_wgs84这张表对象有10522个。
v6_time_pref_pts_utf_wgs84 这张表对象有5226个。
v6_time_pref_pgn_utf_wgs84这张表对象有3830个。
那么还是按照年代分吧。
商周:<-221
秦:-220~-202
汉:-201~220
晋、三国:221~589
唐、隋:590~907
五代十国:908~960
宋:961~1276
元1277~1368
明1369~1644
清1645~1840
开始对工程进行改造。
一、model
D:\gismap\java\gismap\src\main\java\com\history\gismap\model\GeometryModel.java
首先把model中的类改成GeometryModel,以兼容更多的geometry类型。
package com.history.gismap.model; import com.vividsolutions.jts.geom.Geometry; import lombok.Getter; import lombok.Setter; import lombok.ToString; @Getter @Setter @ToString public class GeometryModel { private Integer gId; private String namePy; private String nameCh; private String nameFt; private String presLoc; private String typePy; private String typeCh; private String levRank; private Integer begYr; private String begRule; private Integer endYr; private String endRule; private String geoSrc; private String compiler; private String gecomplr; private String checker; private String entDate; private String begChgTy; private String endChgTy; private Geometry geometry; }
二、dao
D:\gismap\java\gismap\src\main\java\com\history\gismap\dao\MapDao.java
我们只需要查询,并查询三张表。
把不必要的删掉,补充需要的。
package com.history.gismap.dao; import com.history.gismap.model.GeometryModel; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Service; @Service public interface MapDao { GeometryModel getCntyPoint(@Param("gId") Integer gId); GeometryModel getPrefPoint(@Param("gId") Integer gId); GeometryModel getprefPolygon(@Param("gId") Integer gId); }
三、Mapper
D:\gismap\java\gismap\src\main\resources\mapper\HistoryGISMapper.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.history.gismap.dao.MapDao" > <resultMap id="geometryModelResult" type="com.history.gismap.model.GeometryModel"> <result property="gId" column="gid" jdbcType="BIGINT"/> <result property="namePy" column="name_py" jdbcType="VARCHAR"/> <result property="nameCh"