验证 Google 地图中的某个点是陆地还是水域

2024-02-14

..然后谷歌地图“将水域与水域分开”

嗯,不是圣经意义上的,但是..

我想知道我有哪些选项来验证 [Lat, Lon] 的点是陆地还是水域。

谷歌地图显然有这些数据(水体是蓝色的)——但是 API 中有什么东西我可以用它来实现吗?如果没有——他们不提供服务是因为他们从来没有想过吗?还是因为太复杂?

我还没有找到有关此事的任何信息 - 除了这里的一些类似问题(例如查找地形类​​型或海拔 - 但这并不完全是我所需要的)。

有单独的层吗?一个选项?命令?或者我应该手动执行此操作?

我能想到如何解决这个问题的唯一方法(我是否需要手动执行此操作)是检查每个提供的图块的确切点 - 然后检查该 Google 地图色调的 RGB 值。 这只是理论上的 - 因为在实践中 - 我不知道如何实现这一点,第一个障碍是我不知道如何将图块上的像素位置转换为 [LatLon] 点

现成的解决方案会容易得多。

请注意,我不需要世界上所有的水(例如 - 我不关心溪流、小池塘、大多数河流或你邻居的游泳池。我需要一个人可以在没有浮动车辆帮助的情况下冒险的地方)

EDIT I

看完评论后: 高程方法并不可靠,有太多地方低于海平面(您可以在此处查看“最深”10 个地方的列表)http://geology.com/below-sea-level/ http://geology.com/below-sea-level/)并且海平面以上有太多内陆水体(湖泊)。 反向地理定位方法并不可靠,因为它会多次返回地缘政治实体,例如城市或州或零。 在提出问题之前,我已经研究过这些伪解决方案 - 但它们都没有真正回答问题 - 这些方法充其量只是糟糕的“猜测”。


这是两种不同的方法,你可以尝试:

  • 您可以使用谷歌地图反向地理编码 http://code.google.com/apis/maps/documentation/geocoding/#ReverseGeocoding。在结果集中,您可以通过检查来确定是否是水types。在水域情况下,类型是natural_feature。在此链接中查看更多内容http://code.google.com/apis/maps/documentation/geocoding/#Types http://code.google.com/apis/maps/documentation/geocoding/#Types.

    您还需要检查功能的名称,如果它们包含Sea, Lake, Ocean以及一些与水域相关的其他词语,以提高准确性。例如沙漠也是natural_features.

    Pros- 所有检测过程将在客户端机器上完成。无需创建自己的服务器端服务。

    Cons- 非常不准确,在水域得到“无”的机会非常高。

  • 您可以使用以下方法按像素检测水域/陆地谷歌静态地图 http://code.google.com/apis/maps/documentation/staticmaps/index.html。但为此您需要创建 http 服务。

    这些是您的服务必须执行的步骤:

    1. Receive latitude,longitude and current zoom来自客户。
    2. Send http://maps.googleapis.com/maps/api/staticmap?center={latitude,经度}&zoom={当前缩放`}size=1x1 maptype=roadmapsensor=false 向 Google 静态地图服务发出请求。
    3. 检测 1x1 静态图像的像素颜色。
    4. 回复有关检测的信息。

    您无法在客户端检测像素的颜色。是的,您可以在客户端计算机上加载静态图像并在其上绘制图像canvas元素。但你不能使用getImageData用于获取像素颜色的画布上下文。这是受跨域策略限制的。

    Prons- 高精度检测

    Cons- 使用自己的服务器资源进行检测

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

验证 Google 地图中的某个点是陆地还是水域 的相关文章

  • 使用普通的旧 JS 动态渲染 DOM 元素的好方法是什么?

    我面临的挑战是使用普通的旧 Javascript 构建一个单页应用程序 不允许使用任何库或框架 虽然在 React 和 Angular 中创建动态 DOM 元素相当简单 但我提出的普通 JS 解决方案似乎很笨重 我想知道是否有一种特别更简洁
  • 生成随机数背后的数学(崩溃游戏 BTC Casino)

    我正在开发一款基于网络的游戏 其中有多个迷你游戏 我们坚持还添加一个在赌博界非常流行的崩溃游戏 然而 我们一直在努力理解生成随机 几乎不可预测 数字的概念 大多数赌博网站都会提供哈希值等来证明数字未被篡改 我们真的不需要这个 因为我们的游戏
  • 单击传单形状时如何获取它的图层类型?

    我的 Leaflet 项目允许用户绘制形状 线条 矩形和多边形 用户可以单击形状来获取其统计数据 面积 周长等 我在我的FeatureGroup 上尝试了一个点击事件 其中添加了我绘制的所有形状 我不确定这是否是最好的方法 然后单击后 将调
  • 尝试制作Linux终端但失败

    这可能是一个愚蠢的问题 可能很容易找到 但我对这一切都很陌生 我似乎找不到我要找的东西 或者至少我不知道我需要寻找什么 所以我在这里 所以我想做的是创建一种 Linux 终端 这就是我到目前为止所得到的 我所坚持的是实际输入文本部分 我一直
  • 如何在 HTML 链接中使用 JavaScript 变量

    我正在开发的网站有一个标签指向与网站所具有的 URL 不同的 URL 我想做的是绕过使用下面的 trueURL 标记来查找网页的网址 因为我需要它来构造一些内部锚点 因为我需要网站的实际网址 以便内部锚点正常工作 我遇到的问题是我不知道应该
  • Javascript dispatchEvent click 在 IE9 和 IE10 中不起作用

    我正在尝试在 ExtJs 中构建应用程序时模拟鼠标事件 例如单击 鼠标悬停等 我使用下面的代码来模拟点击 function triggerEvent element eventName if document createEvent var
  • 停止 ASP.NET 按钮的页面重新加载

    NET 应用程序中 我插入了一个调用 Javascript 函数的按钮 OnClientClick事件 和 VB NET 函数 OnClick event
  • 如何通过两个输入文本字段组合表中的搜索?

    我的桌子看起来像这样 table tr td Apple td td Green td tr tr td Grapes td td Green td tr tr td Orange td td Orange td tr table 搜索的j
  • Javascript:一般访问函数参数

    这是我所拥有的 var log function arg1 arg2 console log inside arg1 arg2 var wrap function fn return function args console log be
  • 添加/更改 URL 参数并重定向到新 URL

    If the view allURL 中不存在参数 我需要将其与值一起添加到 URL 的末尾 如果它确实存在 那么我需要能够仅更改该值而不创建新的 URL 因为它之前可能有也可能没有其他参数 我找到了这个功能 但我无法让它工作 https
  • 浏览器中的javascript:异步任务执行模型

    我正在尝试集中注意力并了解 javascript 异步在单线程浏览器环境中的工作原理 作为异步 我们可以同时处理计时器和 xhr 请求 现在假设我有类似下面的东西 function doStuff for var i 0 i lt 1000
  • AngularJS:如何缓存从 $http 调用返回的 json 数据?

    如何缓存从 http 调用返回的 json 数据 我使用以下风格的 http 调用 http url SomeWebMethodUrl method POST data query somevalue headers Content Typ
  • 如何从 HTML 图表中删除网址 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在 HTML 中创建一个图表 我正在使用 API amCharts 但问题是它在图表中显示文本 amchart 我怎样才能删除该文本
  • 用角度js中的字母过滤列表

    我在表格中显示了一个列表 我需要使用名称的第一个字母来过滤结果 在列表上方我有一个字母 A B C D 等等 单击后 字母列表将按名字过滤 例如 列表详细信息是Apple Boy Bridge点击后A Apple将显示 我必须过滤国家名称以
  • Select2 触发器(“更改”)创建无限循环

    假设页面上有两个 select2 元素 都使用 onChange 为了以编程方式在一个 select2 元素中设置一个值 您可以使用 id1 val xyz trigger change 如果您在这两个元素之一中进行选择时想要将另一个元素重
  • Mapbox 关闭除一层之外的所有图层

    我是 Mapbox 和 javascript 的新手 我试图稍微修改一下 Mapbox GL 代码示例 发现here https www mapbox com mapbox gl js example toggle layers 允许打开
  • 如何使用 JavaScript 使 DIV 可见和不可见?

    你能做类似的事情吗 function showDiv DIV visible true or something 如果 DIV 是一个元素那么 DIV style visibility visible OR DIV style visibi
  • 静态资源和非静态资源有什么区别?

    我主要是一名前端开发人员 设计师 但最近我一直在探索端到端解决方案 昨天 我使用平均堆栈完成了一个 TODO 应用程序 并想开始探索我的 VPS 的部署选项 话虽这么说 有人建议我使用 nginx 作为反向代理来提供静态资源 不幸的是 我陷
  • 理解“窗口”对象[重复]

    这个问题在这里已经有答案了 可能的重复 JS 窗口全局对象 https stackoverflow com questions 10035771 js window global object 如何window对象工作 我知道它是顶级对象并
  • 未终止的字符串文字

    我有一个 php 脚本 可以在我的服务器上上传 mp3 文件 我使用 上传 有一个事件 onSelect 文档 http www uploadify com documentation events onselect 当文件上传时调用 使用

随机推荐

  • 函数模板实例化和友元声明

    我刚刚开始学习 C 模板 出于练习目的 编写了这个简单的代码 include
  • heroku -- npm 安装后脚本根据环境运行 grunt 任务

    我有两个 Heroku Node js 应用程序 一个用于产品 一个用于开发 我还有一个包含开发和产品特定任务的 Gruntfile 我知道您可以设置 package json 来运行 grunt 作为 npm 的安装后挂钩 但是您可以根据
  • 通俗地描述.NET程序集循环依赖问题

    请通俗地描述一下 NET程序集编译循环依赖问题 以及其他技术是否有类似的限制 注意 我知道 这似乎是一个简单的问题 但我见过许多真实的 重要的项目 它们完全破坏了依赖关系图 与任何其他循环依赖相同 考虑三个组件 A B 和 C A 需要 B
  • 优化容量利用率的算法

    我为自己设定了一个 简单 的 C 编程挑战 以优化容量 我第一次尝试时表现不佳 如下文所述 因此我想看看是否有一个标准化算法可以做到这一点 而不使用人工智能 启发式技术 因为我根本不知道它们 我相信有一种已知的方法可以做到这一点 因为该问题
  • Rails 4 中 before_action 返回 false 有何作用?

    我正在阅读 使用Rails 4进行敏捷Web开发 第1页 338 它说 回调可以是被动的 监视控制器执行的活动 他们还可以更积极地参与请求处理 如果之前操作回调返回 false 则回调链的处理将终止 并且不会运行该操作 现在我的疑问如下 这
  • SQL Server 在一次调用中返回两次结果?

    我已将 SQL Server 数据库连接到简单的 Node js 服务器 当我运行代码时 我得到了记录集和返回给我的记录集 它们本质上都包含相同的数据 我可以使用这个 但它似乎多余 而且直接调用我需要的记录会更整洁 我希望得到一个清晰的 E
  • 初始化列表无法在 Visual Studio 2012 中使用矢量? [复制]

    这个问题在这里已经有答案了 可能的重复 Visual Studio 2012 中的 C 11 功能 https stackoverflow com questions 7421825 c11 features in visual studi
  • 如何向 bash 提示符添加图标

    我知道你可以通过编辑 bashrc 文件中的 PS1 变量来永久编辑 bash 提示符 我的如下所示 PS1 e 0 31m
  • Snakeyaml 似乎不必要地将简单值包装在列表中

    我正在尝试使用 Groovy 和 Snakeyaml 解析以下 YAML 文件 显然我已经清理了数据 但这足以证明问题 info summary Snakeyaml Issue examples 1st example name Examp
  • oracle SQL 如何从日期中删除时间

    我有一个名为StartDate包含以下格式的日期 03 03 2012 15 22 我需要的是将其转换为日期 它应该看起来像这样 DD MM YYYY 我尝试过但没有成功的是 select p1 PA VALUE as StartDate
  • 自定义流利验证器

    我对使用 fluidvalidator 非常陌生 我所知道的只是基本的rulefor 但说到习惯我就完全无能为力了 有人可以指导我吗 我需要验证可为空的布尔属性 我需要比较 5 个 bool 属性 如果至少选择了其中之一 则它应该返回 tr
  • IntelliJ 不理解 Java9-ea 上的 java 库

    我在用jdk9 ea 149并创建了一个样本javafx应用程序 IntelliJ不理解java库 它显示了所有导入语句红色他们都是变灰 即使是java util List java util ArrayList它有同样的问题 我可以在外部
  • 如何在 SwiftUI 中创建此视图?

    I am trying to create a view like this in SwiftUI sorry it s so huge 具体来说 我试图在屏幕的顶部四分之一处构建滚动的标签 条形图栏行 对我来说 它看起来像一个水平滚动的
  • Keras 中的 CNN 模型条件层

    我正在尝试建立一个conditional CNN模型 模型是 At the first stage我的模型 我将数据提供给Model 1 then based on the prediction of Model 1 我想要train th
  • 如何使用 InteractionManager.runAfterInteractions 使导航器转换更快

    由于逻辑复杂 我必须渲染很多组件this props navigator push 缓慢的导航器转换使应用程序不可用 然后我注意到here http facebook github io react native docs performa
  • 将行添加到 Word 文档中的现有表(打开 XML)

    我需要打开包含现有表 例如 3 列 的现有 Word 文档 docx 并向该表添加新行 有什么办法可以做到这一点吗 我正在使用 Open XML 我正在创建这样的表 第一次 Table tbl new Table Set the style
  • 在等待挂起操作取消时处置 SemaphoreSlim 是否安全?

    我必须使用 SemaphoreSlim 来确保对代码某些部分的单线程访问 并且希望确保我正确处理所有内容 假设我有以下课程 public class Foo private readonly CancellationTokenSource
  • 如何在多种类型上使用 GraphQL 片段

    我有一个 Gatsby 项目 它对两种不同类型的内容有非常相似的 GraphQL 查询 常规页面和 wiki 文章 按块分页 export const query graphql query slug String page content
  • 使用 fft 和 ifft 更改频率而不使用整数

    我知道我可以通过改变变量来改变整数频率shift但我怎样才能改变频率使用带小数位的数字 例如 754 或 1 2345 or 67 456 如果我改变变量 shift 到一个非整数类似的数字5 1 我收到错误下标索引必须是小于 2 31 的
  • 验证 Google 地图中的某个点是陆地还是水域

    然后谷歌地图 将水域与水域分开 嗯 不是圣经意义上的 但是 我想知道我有哪些选项来验证 Lat Lon 的点是陆地还是水域 谷歌地图显然有这些数据 水体是蓝色的 但是 API 中有什么东西我可以用它来实现吗 如果没有 他们不提供服务是因为他