gpt4 book ai didi

geojson - 确定某个位置的描笼涯

转载 作者:行者123 更新时间:2023-12-02 19:58:09 27 4
gpt4 key购买 nike

我有一个项目需要确定某个位置(纬度和经度)的描笼涯(barrio/subdivision)。有我可以使用的 API 吗?

在菲律宾,地址必须包含描笼涯。地址的示例格式类似于[门牌号][街道][Barangay][城市][地区]。我尝试在 Google Maps API 和 LocationIQ API 中搜索,但响应不包含描笼涯。

最佳答案

不幸的是,我没有找到任何提供此数据的 map API。但我确实找到了解决方法,方法是从 geojsonph (位于 GeoJson format 中)获取所有描笼涯的多边形,然后使用 getContainers() 检查坐标是否在该多边形内> geojson-geometries-lookup's 库。

// getBarangay.js

import GeoJsonGeometriesLookup from 'geojson-geometries-lookup'
import geoJson from 'Barangays.json'

export default function(lat, long) {
const glookup = new GeoJsonGeometriesLookup(geoJson)

const point = {type: "Point", coordinates: [long, lat]}
const containersCount = glookup.countContainers(point)

if(containersCount == 0){
// no barangays found
return null
}else{
// coordinate is inside a polygon
let result = glookup.getContainers(point, options)
return result
}
}

getContainers(point) 将检查包含 pointBarangays.json 内的所有给定多边形,然后返回以下对象: geojson 格式。

然后,如果您想获取描笼涯的名称:

  let long = 120.9725526
let lat = 14.5945641
let res = getBarangay(lat, long)
console.log(res.properties.NAME_3)

但是,此解决方案并不是最佳选择,因为每次调用 getBarangay() 函数时都需要加载 Barangay.json,并且截至目前(2020 年)菲律宾有 42,046 个描笼涯。如果有一个 API 可以实现这一点,那就更好了,我们只需发送一个坐标,它就会返回它所属的描笼涯。

关于geojson - 确定某个位置的描笼涯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56546983/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com