Code for History

"Code for History"はIT技術を歴史学上の問題の解決に使うコミュニティです。強調したいのは、我々にとってIT技術は「手段」であって「目的」ではありません。「目的」は歴史学上の問題を解決する事であって、必要であればITでない手段も活用します。常に最優先なのは、問題を解決することです。

Maplat - Historical map viewer technology that guarantees nonlinear bijective conversion without distortion

This is html-based mirror of ICC2019 paper.
Original paper is here:

and presentation slide is here:

Historical map viewer technology that guarantees nonlinear bijective conversion without distortion

Kohei Otsuka, Code for History


Historical maps rich in historical information play an important role in fields such as tourism and history education. However, for ordinary people without knowledge of historical studies, it is difficult to understand inaccurate old maps that have not undergone surveying and to comprehend them in comparison with the current city townscape. Therefore, conventionally in GIS, a large number of corresponding points are prepared between an inaccurate historical map and an accurate map, the coordinates of the historical map are converted by forming a triangular mesh and conducting coordinate complement calculation, and the entire historical map image is re-represented by coordinate conversion. However, as shown in Figure 1, with this method there is a serious problem that causes distortion in the aesthetic appearance of the historical map, and remarkable impairment. It can be said that this problem has greatly damaged opportunities to use historical maps for tourism and historical education.

Figure 1. Examples of historical map distorted by coordinate conversion by conventional GIS method.

In this paper, we introduce our technology to solve this problem. Our technology has been implemented in the historical map viewer named Maplat, which is available at as MIT-licensed open source.

In the Maplat technology, the method used for coordinate conversion between an inaccurate historical map and an accurate map is not different from conventional GIS, which is a coordinate complement calculation using a triangulate network of the corresponding point (as shown in Figure 2.).

Figure 2. The method of coordinate conversion using triangulate network of the corresponding point.

However, Maplat does not distort the image of the historical map when switching over or superimposing inaccurate historical maps and accurate maps. Instead, whenever the user scrolls the map to change the viewpoint, coordinate conversion calculation is performed in real time, and the overlapping state is corrected so that the position is perfectly fitted only at the center point of the screen. At the same time, coordinate conversion is performed at a plurality of points surrounding the center point at a fixed distance, and the pixel to actual distance ratio (scale) and the rotation angle (direction) on the currently displayed map are calculated using these points. Then the scale and direction of the corresponding map is modified to match the obtained scale and direction, and it is superimposed with the displayed map. With this method, we succeed in positioning and overlaying a historical map with an accurate map to a certain extent without damaging the aesthetic value. Figure 3 shows the behavior when multiple historical maps and an accurate map are successively switched in Maplat.

Figure 3. Behavior when switching maps successively in Maplat technology.

A similar approach, roughly overlapping multiple maps by matching the center point, the scale, and the direction, is also adopted by another technology, implemented in a service called Stroly ( This technology began commercial distribution in 2010. However, Stroly uses a newly developed calculation method of coordinate conversion, and because it abandons the calculation method of GIS backed by long-term achievement, there is inaccuracy in the coordinate conversion result. Especially when bidirectional coordinate conversion is repeated between multiple maps, there is a problem that the converted coordinates cannot return to the original place. In contrast, in Maplat, it is possible to guarantee bijective conversion, which always returns to its original location even when conversion is repeated, in coordinate conversions between inaccurate historical maps and accurate maps. Figure 4 shows the result of using Maplat technology and the Stroly technology to convert lattice point sequences on a 1784 Paris map once to longitude and latitude and then inversely convert it back to the coordinates on the historical map. The dark red line is the conversion result of Maplat, and the yellow line is that of Stroly. The conversion result of Maplat is correctly returned to the original lattice shape, and the average conversion error also falls below the rounding error for the number of pixels, but in the Stroly technology the lattice structure is disturbed, and the average conversion error reaches 11 pixels.

Figure 4. Comparison of bidirectional coordinate conversion accuracy in Maplat vs Stroly technology.

In this way the Maplat technology, which does not distort the historical map and does not impair the aesthetic value while guaranteeing the bijective coordinate conversion as in the case of conventional GIS, has been used in fieldwork aimed at historical education (as shown in Figure 5.). As a result, a positive evaluation was obtained that there was a good educational effect through the characteristics of the Maplat technology.

Figure 5. Fieldwork using Maplat technology.

Contact: Kohei Otsuka (kochizufan at
Github account: kochizufan Repository: code4nara/Maplat

© TileMapJp/歴史国土/地図タイル工法協会