Scripts/OtherJs/eCharts/echarts-2.2.1/src/util/mapData/rawData/encode.js
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
//docs.google.com/presentation/d/1XgKaFEgPIzF2psVgY62-KnylV81gsjCWu999h4QtaOE/
var fs = require('fs');
var glob = require('glob');
glob('geoJson/*.json', {}, function (err, files) {
files.forEach(function (file) {
var output = '../' + file.replace('.json', '.js');
var rawStr = fs.readFileSync(file, 'utf8');
var json = JSON.parse(rawStr);
console.log(output);
// Meta tag
json.UTF8Encoding = true;
var features = json.features;
if (!features) {
return;
}
features.forEach(function (feature){
var encodeOffsets = feature.geometry.encodeOffsets = [];
var coordinates = feature.geometry.coordinates;
if (feature.geometry.type === 'Polygon') {
coordinates.forEach(function (coordinate, idx){
coordinates[idx] = encodePolygon(
coordinate, encodeOffsets[idx] = []
);
});
} else if(feature.geometry.type === 'MultiPolygon') {
coordinates.forEach(function (polygon, idx1){
encodeOffsets[idx1] = [];
polygon.forEach(function (coordinate, idx2) {
coordinates[idx1][idx2] = encodePolygon(
coordinate, encodeOffsets[idx1][idx2] = []
);
});
});
}
});
fs.writeFileSync(
output, addAMDWrapper(JSON.stringify(json)), 'utf8'
);
});
});
function encodePolygon(coordinate, encodeOffsets) {
var result = '';
var prevX = quantize(coordinate[0][0]);
var prevY = quantize(coordinate[0][1]);
// Store the origin offset
encodeOffsets[0] = prevX;
encodeOffsets[1] = prevY;
for (var i = 0; i < coordinate.length; i++) {
var point = coordinate[i];
result+=encode(point[0], prevX);
result+=encode(point[1], prevY);
prevX = quantize(point[0]);
prevY = quantize(point[1]);
}
后面还有 36 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
