h3 기하학적 데이터의vertex count
결실
지구지도 일본 해안선 데이터가 점수를 구성하는 밀도 통계를 시도해 봤다.이미지를 클릭하면 GiitHub 웹 사이트로 이동합니다.
소스 코드 const shapefile = require('shapefile')
const h3 = require('h3-js')
let dict = {}
const add = (h3) => {
if (dict[h3]) {
dict[h3]++
} else {
dict[h3] = 1
}
}
const push = f => {
if (!f.geometry.type === 'LineString') {
throw new Error(`${f.geometry.type} not supported.`)
}
for (let a of f.geometry.coordinates) {
add(h3.geoToH3(a[1], a[0], 5))
}
}
shapefile.open('coastl_jpn.shp')
.then(source => source.read()
.then(function process (result) {
if (result.done) return
push(result.value)
return source.read().then(process)
}))
.then(() => {
let geojson = {
type: 'FeatureCollection',
features: []
}
for (const k in dict) {
let coords = h3.h3ToGeoBoundary(k)
for (let i = 0; i < coords.length; i++) {
let v = coords[i][0]
coords[i][0] = coords[i][1]
coords[i][1] = v
}
coords.push(coords[0])
geojson.features.push({
type: 'Feature',
geometry: {
type: 'Polygon',
coordinates: [coords]
},
properties: {
'h3': k,
'count': dict[k]
}
})
}
console.log(JSON.stringify(geojson))
})
.catch(error => console.error(error.stack))
감상
h3 API의 경위도 순서는 GeoJSON의 경위도 순서와 상반되기 때문에 좀 부자연스럽다.
Reference
이 문제에 관하여(h3 기하학적 데이터의vertex count), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hfu/items/cebc6935aaabf5238e45
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
const shapefile = require('shapefile')
const h3 = require('h3-js')
let dict = {}
const add = (h3) => {
if (dict[h3]) {
dict[h3]++
} else {
dict[h3] = 1
}
}
const push = f => {
if (!f.geometry.type === 'LineString') {
throw new Error(`${f.geometry.type} not supported.`)
}
for (let a of f.geometry.coordinates) {
add(h3.geoToH3(a[1], a[0], 5))
}
}
shapefile.open('coastl_jpn.shp')
.then(source => source.read()
.then(function process (result) {
if (result.done) return
push(result.value)
return source.read().then(process)
}))
.then(() => {
let geojson = {
type: 'FeatureCollection',
features: []
}
for (const k in dict) {
let coords = h3.h3ToGeoBoundary(k)
for (let i = 0; i < coords.length; i++) {
let v = coords[i][0]
coords[i][0] = coords[i][1]
coords[i][1] = v
}
coords.push(coords[0])
geojson.features.push({
type: 'Feature',
geometry: {
type: 'Polygon',
coordinates: [coords]
},
properties: {
'h3': k,
'count': dict[k]
}
})
}
console.log(JSON.stringify(geojson))
})
.catch(error => console.error(error.stack))
감상
h3 API의 경위도 순서는 GeoJSON의 경위도 순서와 상반되기 때문에 좀 부자연스럽다.
Reference
이 문제에 관하여(h3 기하학적 데이터의vertex count), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hfu/items/cebc6935aaabf5238e45
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(h3 기하학적 데이터의vertex count), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hfu/items/cebc6935aaabf5238e45텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)