iPhone硬计算和缓存

2024-04-16

我有问题。我有数据库500k记录。每个记录存储纬度、经度、动物种类、观察日期。我必须在 Mapkit 视图上方绘制网格(15x10),以显示该网格单元中物质的浓度。每个单元格都是 32x32 的盒子。

如果我在运行时计算它是非常slow。 有人知道如何缓存它吗?在内存或数据库中。

数据结构:

观察:

  • Latitude
  • 经度
  • Date
  • Specie
  • 其他一些不重要的数据

屏幕示例:

替代文本http://img6.imageshack.us/img6/7562/20091204201332.png http://img6.imageshack.us/img6/7562/20091204201332.png

每个红色框的不透明度显示该区域的物种数量。

我现在使用的代码: data -> 从数据库中选择,这是地图区域中的所有观察

for (int row = 0; row < rows; row++)
 { 
  for (int column = 0; column < columns; column++)
  {
   speciesPerBox=0;
   minG=boxes[row][column].longitude;
   if (column!=columns-1) {
    maxG=boxes[row][column+1].longitude;
   } else {
    maxG=buttomRight.longitude;
   }

   maxL=boxes[row][column].latitude;
   if (row!=rows-1) {
    minL=boxes[row+1][column].latitude;
   } else {
    minL=buttomRight.latitude;
   }

   for (int i=0; i<sightingCount; i++) {
    l=data[i].latitude;
    g=data[i].longitude;

    if (l>=minL&&l<maxL&&g>=minG&&g<maxG) {
     for (int j=0; j<speciesPerBox; j++) {
       if (speciesCountArray[j]==data[i].specie) {
        hasSpecie=YES;
       }
      }

      if (hasSpecie==NO) {
       speciesCountArray[speciesPerBox]=data[i].specie;
       speciesPerBox++;
      }

      hasSpecie=NO;


     }
    }
   }


   mapData[row][column].count = speciesPerBox;
  }
 }

由于数据是静态的,因此您可以预先计算每个网格的每个物种并将其存储在数据库中,而不是所有位置坐标。

由于您有 15 x 10 = 150 个单元格,因此您最终会在数据库中获得 150 * [物种数量] 条记录,这应该是一个小得多的数字。

另外,请确保您在正确的列上有索引。否则,您的查询将不得不一遍又一遍地扫描每条记录。

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

iPhone硬计算和缓存 的相关文章

  • 与 Objective-C 的 VPN 连接

    有没有办法在 iPhone 的 Objective C 中以编程方式建立 VPN 连接 有这方面的好教程吗 有人知道吗 多谢 我认为第三方应用程序无法访问这些 API
  • SQL 按计数排序

    如果我有一个表和这样的数据 ID Name Group 1 Apple A 2 Boy A 3 Cat B 4 Dog C 5 Elep C 6 Fish C 我希望根据 Group 的总和从小到大进行排序 例如 A 2条记录 B 1条记录
  • 计算两点之间的最短路线

    过去几周我一直在开发一款多人 HTML5 游戏 使用nodejs and websockets 我已经被这个问题困扰了一段时间 想象一下 我用数组实现了这个平铺地图 如下所示 1 or 棕色瓷砖 路上有障碍物 玩家无法通过 0 or 绿色瓷
  • 为 java 项目创建安装

    我创建了一个 java 项目 它使用数据库来检索 编辑和保存数据 我使用 Netbeans 完成了该项目 现在我想在该项目之外创建一个安装 为此 我想包含与项目一起安装的数据库 我用来连接数据库的代码是 Class forName com
  • 使用转义换行符和回车符取消转义字符串

    我正在尝试编写一个 PLPGSQL 函数来混淆 审查 编辑文本 Obfuscate a body of text by replacing lowercase letters and numbers with symbols CREATE
  • 默认情况下在 MPMovies PlayerViewController 中显示字幕

    有什么方法可以在默认情况下由 MPMovies PlayerViewController 加载的电影上显示字幕吗 这部电影在视频中嵌入了字幕 谢谢你 不幸的是 这个功能在MPMoviePlayer播放类 这显然相当烦人 您应该考虑向 App
  • 使用 ZBarSDK 时 iPhone 相机失去自动对焦功能

    我正在开发一个应用程序 用户可以选择是否要扫描条形码或拍摄某物的照片 为了拍照 我正在使用UIImagePickerController照常 为了扫描条形码 我使用 ZbarSDK 1 2ZBarReaderViewController 拍
  • VBScript:从 Scripting.Dictionary 中对项目进行排序

    我有下面的代码 它获取这样的数据 姓名 1 姓名 4 姓名 2 姓名 3 并像这样列出 是一个复选框 姓名 1 姓名 4 姓名 2 姓名 3
  • Riak 在 MapReduce 查询中失败。使用哪种配置?

    我正在与 riak riak js 结合开发一个 nodejs 应用程序 并遇到以下问题 运行此请求 db mapreduce add logs run 正确返回存储在存储桶日志中的所有 155 000 个项目及其 ID logs 1GXt
  • 游戏中心邀请处理程序,它属于哪里?

    我已经搜索了该网站并发现了这个 GameCenter 邀请处理程序 https stackoverflow com questions 4639284 gamecenter invitation handler He says 正如文档中所
  • 在成为FirstResponder或resignFirstResponder的情况下将对象保持在键盘顶部?

    我目前在键盘顶部有一个 UITextField 当您点击它时 它应该粘在键盘顶部并平滑地向上移动 我不知道键盘的具体时长和动画类型 所以确实很坎坷 这是我所拥有的 theTextView resignFirstResponder UIVie
  • 从 IOS 应用程序注销的完美方法是什么?

    下面的代码可以工作 但有一个错误 场景是 我首先登录进入应用程序系统 登录成功后 应用程序将设置 UserDefaults UserId 之后 我可以使用存储的 UserId 导航应用程序视图 一旦我进入设置和选项卡注销 这将清除 User
  • 重新启动应用程序时出现异常 SIGKILL

    我在 iPhone 模拟器中构建并运行一个项目 我通过按主页按钮将其发送到后台 然后我双击主页按钮在后台找到我的应用程序并点击它 它变得活跃并且应用程序继续运行 在这里 无论我重复多少次 我都没有问题 然后我通过点击应用程序图标上的红色小减
  • 在 Xcode5 中使用 XCTest 时 AFNetworking 导致错误

    我正在使用 Xcode 5 现在刚刚开始对现有项目进行单元测试 为此我添加了CocoaTouch Unit Testing Bundle作为我的项目的目标 目标名称是 MyAppTests 我之前使用添加了 AFNetworking 库Co
  • django AuditTrail 与还原

    我正在开发一个新的网络应用程序 我需要将数据库中的任何更改存储到审核表中 此类审计表的目的是 稍后在真正的物理审计中 我们可以确定在某种情况下发生了什么 谁编辑了什么以及数据库当时的状态是什么 复杂的计算 所以大多数审计表将被写入而不是读取
  • Android中不同线程的数据库访问

    我有一个在 AsyncTasks 中从互联网下载数据的服务 它解析数据并将其存储在数据库中 该服务持续运行 当服务写入数据库时 活动会尝试从数据库中读取更改 我有一个数据库助手 有多种写入和读取方法 这会导致问题吗 可能尝试从两个不同的线程
  • 从一种数字系统转换为另一种数字系统后会有多少位数字

    主要问题 有多少位数字 让我解释 我有一个二进制数 11000000 十进制数是192 转换为十进制后 它有多少位 以十进制表示 在我的示例中 它是 3 位数字 但是 这不是问题 我在互联网上搜索并找到了一种用于整数部分的算法和一种用于小数
  • Android:打开和关闭SQLite数据库

    我正在开发Android应用程序 我经常在其中访问本地数据库 该数据库可以从不同的主题访问 因此我遇到了数据库的协调问题 我使用以下open and close method public void open mDb mDbHelper g
  • 两组点之间的最佳匹配

    I ve got two lists of points let s call them L1 P1 x1 y1 Pn xn yn and L2 P 1 x 1 y 1 P n x n y n 我的任务是找到它们点之间的最佳匹配 以最小化它
  • sqlite3从打印数据中删除括号

    我创建了一个脚本 用于查找数据库第一行中的最后一个值 import sqlite3 global SerialNum conn sqlite3 connect MyFirstDB db conn text factory str c con

随机推荐

  • 根据匹配条件对 SQL 记录进行排序

    我有这样的疑问 SELECT FROM table WHERE key LIKE 1 2 3 OR key LIKE 1 2 OR key LIKE 1 是否可以根据首先匹配的条件对该查询返回的记录进行排序 我想获取所有匹配的记录key L
  • 是否可以“提示”字典键?

    In PyCharm 代码完成 https www jetbrains com help pycharm auto completing code html gt 基本完成 gt 调用基本完成 gt 字典 我发现 如果您将字典硬编码为某些值
  • 如何在 AngularJS 中使用按键事件?

    我想捕获下面文本框中的回车键按下事件 为了更清楚地说明我正在使用ng repeat填充 tbody 这是 HTML td td
  • decltype(some_vector)::size_type 不能用作模板参数

    以下类无法编译 template
  • 是否可以配置 Eclipse 以突出显示 XML 中的 Java 语法?

    我正在为一个产品进行编程 该产品包含嵌入较大 XML 文件中的 Java 实际上是 BeanShell 代码片段 这些是在运行时动态执行的 整个文档的各个级别可以有多个这些代码标签
  • 基于 C# .NET 文档的应用程序操作图

    我想开发一个新的应用程序 用户可以在其中创建描述流程的图表 我认为在这种情况下 基于文档的应用程序是我唯一的选择 我熟悉C net C MFC 和J2EE 根据您的经验 实现这一目标的最佳方法是什么 我应该关注哪个平台 图表必须由方框和箭头
  • java 文件名中带有美元符号和数字 .class (name$1.class) 是什么意思? [复制]

    这个问题在这里已经有答案了 当我编译我的java Enum Day时 它生成他的Day class文件和8个Day class文件 所以我想知道为什么编译器生成8个 class而不是7个 因为我有7个枚举常量 但是8 个覆盖注释 我知道 D
  • Google Play 定时发布

    在 Google Play 上使用 定时发布 更新应用程序时 上传 APK 后 是否应该选择 立即发布到生产环境 选项 这会将新的 APK 提交到生产环境吗 还是 Google Play 会直接处理它并等待我点击 上线 Google 或其他
  • Laravel 5 - 如何在视图中访问存储中上传的图像?

    我已将用户的头像上传到 Laravel 存储中 我如何访问它们并将它们呈现在视图中 服务器将所有请求指向 public 那么如果他们在的话我该如何向他们展示 storage folder The best方法是创建一个符号链接就像 Slat
  • bin目录和PATH

    我是编程初学者 有人可以解释一下 用简单的话 程序的 bin 目录中有什么吗 这是什么PATHwindows的环境变量 它是如何工作的 请不要以为我不会使用Google 我只是想更清楚地理解它 通常将程序的所有二进制文件放在 bin 目录中
  • CakePHP 总是让我退出

    最近我制作了三个蛋糕应用程序 这三个应用程序都有这个问题 配置大部分是库存的 我使用它作为会话选项 Configure write Session array defaults gt php cookie gt test 经过大量谷歌搜索后
  • 通过在 datagridviewcolum 中指定 DefaultCellStyle.Format 值来显示百分比

    With datagridview Columns PricePerUnit ValueType Type GetType System Decimal DefaultCellStyle Format C End With 数据表绑定到 d
  • 从数据库中检索图像

    我正在开发一个显示员工列表的项目 此处将显示该员工的信息和照片 我的项目现在可以在列表框中显示员工列表 当我双击员工时 他 她的个人资料将显示在文本框中 我的问题是我无法让他们的照片显示在picturebox 我已经将他们的照片以及他们的
  • 绘制 dr4pl 剂量反应曲线,以及如何将它们与 ggplot2 集成?

    我正在尝试建立一种高通量方法来绘制大型筛选实验的剂量反应曲线 Prism 显然有最简单的方法可以很好地绘制剂量反应曲线 但我无法复制和粘贴这么多数据 自从 CRAN 被移除后drc 包dr4pl似乎是可行的方法 但目前可用的指导还很少 ma
  • 在python中解压嵌套的zip文件

    我正在寻找一种在 python 中解压缩嵌套 zip 文件的方法 例如 考虑以下结构 为方便起见 使用假设名称 Folder ZipfileA zip 压缩文件A1 zip 压缩文件A2 zip ZipfileB zip 压缩文件B1 zi
  • 在 C 中将整数转换为二进制

    我正在尝试将整数 10 转换为二进制数 1010 此代码尝试执行此操作 但我在 strcat 上遇到段错误 int int to bin int k char bin bin char malloc sizeof char while k
  • 为多面图中的单个面板添加几何图层

    从以下链接中获取提示使用 ggplot2 对齐两个图 http rwiki sciviews org doku php id tips graphics ggplot2 aligntwoplots 我能够根据共同的 x 轴绘制 2 个 y
  • 流明:启用 CORS

    我使用 Lumen 构建了一个 API 并希望使用 JavaScript 和 XMLHttpRequest 对象访问它 但每次我的 PUT GET POST 和 DELETE 请求都会转化为选项 请求 我看了很多网站都有CORS的信息 我构
  • 点击按钮后 Python Tkinter 销毁标签

    我有一个在单击按钮后出现的标签 但是每次单击按钮后 前一个标签仍保留在其位置并创建一个新标签 我希望将新标签代替旧标签 代码如下 browser webdriver PhantomJS browser get http www ipvoid
  • iPhone硬计算和缓存

    我有问题 我有数据库500k记录 每个记录存储纬度 经度 动物种类 观察日期 我必须在 Mapkit 视图上方绘制网格 15x10 以显示该网格单元中物质的浓度 每个单元格都是 32x32 的盒子 如果我在运行时计算它是非常slow 有人知