小编Nic*_*son的帖子

确定球体上的纬线矩形和圆形是否重叠

假设我有以下内容:

  • 由最小和最大纬度和经度定义的区域(通常是"纬度 - 长度",但除了某些投影外,它实际上不是矩形).
  • 一个圆,由中心纬度/长度和半径定义

我该如何确定:

  1. 两个形状是否重叠?
  2. 圆圈是否完全包含在矩形内?

我正在寻找一个完整的公式/算法,而不是数学课程本身.

language-agnostic gis math geometry trigonometry

8
推荐指数
1
解决办法
3313
查看次数

Google App Engine:生产与开发设置

你如何设置设置文件?一个用于本地开发服务器,另一组用于上传到Google App Engine时的设置值?

例如,我想设置一个设置文件,我存储绝对根URL.

python google-app-engine

8
推荐指数
1
解决办法
2749
查看次数

谷歌应用引擎中的Fb好友选择器

<fb:serverFbml style="width: 240px;">
                        <form method="post" action="/friend-selector" id="friend-selector">

                                <script type="text/fbml">
                            <fb:fbml>
                                <fb:friend-selector uid="xxxxx" name="uid" idname="friendselector_s"/>
                            </fb:fbml>
                            </script>
                            <INPUT type="submit" value="submit" class="submit" />
                        </form>
                    </fb:serverFbml>
Run Code Online (Sandbox Code Playgroud)

在后端我正在尝试获取朋友ID:

def post(self):
  logging.info(self.request.POST)
  ss=self.request.POST[u'friendselector_s']
  logging.info(ss)`
Run Code Online (Sandbox Code Playgroud)

所以我是错误的.

Traceback (most recent call last):
  File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 702, in __call__
    handler.post(*groups)
  File "D:\Workspace\main.py", line 142, in post
    ss=self.request.POST[u'friendselector_s']
  File "C:\Program Files\Google\google_appengine\lib\webob\webob\multidict.py", line 302, in __getitem__
    return self._decode_value(self.multi.__getitem__(key))
  File "C:\Program Files\Google\google_appengine\lib\webob\webob\multidict.py", line 77, in __getitem__
    raise KeyError(key)
Run Code Online (Sandbox Code Playgroud)

我在Facebook上使用此代码与谷歌应用程序egine在后端.在后端收集数据时我没有得到idname.总的来说,我没有被选中的朋友.我还需要javscript方面的数据.

javascript jquery google-app-engine facebook-graph-api

8
推荐指数
1
解决办法
481
查看次数

广播信道的最佳重传算法

我有许多可以通过广播媒体(在这种情况下,IR)进行通信的微控制器.每个节点都希望定期向所有其他节点公布其存在,但由于它是广播媒体,同时发送的两个节点将产生冲突,并且两个消息都不会正确传输.

更复杂的是,当节点收到无效消息时,可靠地确定这是由于碰撞还是由于背景噪声或弱信号而导致似乎不切实际.此外,虽然节点可见性通常是自反的(看到B意味着B可以看到A),但通常情况是并非所有节点都能看到所有其他节点.

暂时不考虑外部干扰,似乎合理的方法是创建时隙,每个节点在每个时隙中以小的(并且在节点之间理想地相似)概率发送.如果有n个节点以概率p进行传输,则不会传输任何消息(1-p)n ; 正好一个消息将在n*p*(1-p)n-1的时间内发送,剩余的时间将发生冲突.当n个节点中的每个节点发送1/n次时,发生成功冲突的最大发生率,这导致相当稳定的38%成功传输和24%冲突; 随着节点数量的增加,此值仅略有变化.

鉴于此,似乎我们可以观察到成功传输和/或碰撞的速​​率,并调整我们自己的传输速率以试图迫使它们达到预期值.我不确定的是,实现这一目标的最佳反馈机制是,每个人都有类似的概率.这也没有考虑外部干扰,这将导致我们在注定的努力中不断降低传输速率以避免不存在的冲突.

什么是最优算法 - 无论是上述的改进还是完全不同的方法 - 最大化每个节点可以在没有冲突的情况下接收的通告消息的比例?

algorithm feedback channel broadcast

8
推荐指数
1
解决办法
138
查看次数

如何将大型文件(> 5 mb)从Blobstore发布到Google云端硬盘?

我有blob存储在我的Blobstore中,并希望将这些文件推送到Google云端硬盘.当我使用Google App Engine UrlFetchService时

URLFetchService fetcher = URLFetchServiceFactory.getURLFetchService();
URL url = new URL("https://www.googleapis.com/upload/drive/v1/files");
HTTPRequest httpRequest = new HTTPRequest(url, HTTPMethod.POST);
httpRequest.addHeader(new HTTPHeader("Content-Type", contentType));
httpRequest.addHeader(new HTTPHeader("Authorization", "OAuth " + accessToken));
httpRequest.setPayload(buffer.array());
Future<HTTPResponse> future = fetcher.fetchAsync(httpRequest);
try {
  HTTPResponse response = (HTTPResponse) future.get();
} catch (Exception e) {
  log.warning(e.getMessage());
}
Run Code Online (Sandbox Code Playgroud)

问题:当文件超过5 MB时,它超出了UrlFetchService请求大小的限制(链接:https://developers.google.com/appengine/docs/java/urlfetch/overview#Quotas_and_Limits)

替代方案:使用Google Drive API我有以下代码:

File body = new File();
body.setTitle(title);
body.setDescription(description);
body.setMimeType(mimeType);

// File's content.
java.io.File fileContent = new java.io.File(filename);
FileContent mediaContent = new FileContent(mimeType, fileContent); …
Run Code Online (Sandbox Code Playgroud)

java google-app-engine blobstore google-drive-api

7
推荐指数
1
解决办法
1546
查看次数

Django模板,如何选择预定义值的下拉框?

我正在尝试创建一个下拉列表框,其中所选值等于从模板值传递的值,但没有成功.任何人都可以看看,告诉我我做错了什么.

     <select name="movie">
       {% for movie in movies %}
    {% ifequal movie.id selected_movie.id %}
     <option value="{{movie.key}}" selected="true">Movie {{movie.id}}: {{movie.name}}</option>
     {% endifequal %}
     {% ifnotequal movie.id selected_movie.id %}
     <option value="{{movie.key}}">Movie {{movie.id}}: {{movie.name}}</option>
     {% endifnotequal %}
       {% endfor %}
     </select>
Run Code Online (Sandbox Code Playgroud)

在此示例中,电影和selected_movie从模板值传递.请指教!

python django django-templates

6
推荐指数
1
解决办法
2万
查看次数

app engine:string to datetime?

我有字符串

date = "11/28/2009"
hour = "23"
minutes = "59"
seconds = "00"
Run Code Online (Sandbox Code Playgroud)

我如何转换为datetime对象并将其存储在数据存储区?

python datetime

6
推荐指数
1
解决办法
1304
查看次数

在C#中使用谷歌"现在说话"

最近谷歌宣布了Chrome浏览器中的一项功能,可以使用麦克风搜索文本或翻译文本.

http://www.seroundtable.com/google-search-speak-now-13346.html

我想开发一个C#桌面应用程序来向谷歌发送语音并获得结果.怎么做到呢?

c# google-chrome google-voice

6
推荐指数
1
解决办法
3326
查看次数

编写特定于域的语言,用于从表中选择行

我正在写一个服务器,我希望由许多不同的人经营,而不是我将直接联系的所有人.服务器将在群集中相互通信.服务器功能的一部分涉及从可能非常大的表中选择一小部分行.选择哪些行的确切选择将需要一些调整,并且重要的是运行集群的人(例如,我自己)可以更新选择标准而不让每个服务器管理员部署新版本的服务器.

简单地用Python编写函数实际上并不是一个选项,因为没有人会想要安装一个在运行时下载并执行任意Python代码的服务器.

我需要的是关于实现域特定语言以实现此目标的最简单方法的建议.该语言需要能够进行简单的表达式评估,以及查询表索引和迭代返回的行.易于编写和阅读语言是易于实现的第二步.我也不想编写整个查询优化器,所以明确指定要查询的索引是理想的.

必须编译的接口与App Engine数据存储区导出的功能类似:您可以查询表上任何索引的顺序范围(例如,小于,大于,范围和相等的查询) ,然后通过任何布尔表达式过滤返回的行.您还可以将多个独立的结果集连接在一起.

我意识到这个问题听起来很像我要求SQL.但是,我不想要求支持此数据的数据存储区是关系数据库,并且我不希望尝试自己重新实现SQL的开销.我也只处理一个具有已知模式的表.最后,不需要加入.更简单的东西更可取.

编辑:扩展描述以消除一些误解.

python database algorithm dsl

5
推荐指数
1
解决办法
2451
查看次数

JITed LLVM 代码如何回调到 Go 函数?

我正在编写代码以使用LLVM Go 绑定从自定义 VM 字节码生成 LLVM 字节码;然后代码被即时编译并在进程中执行。

自定义VM字节码有几个不能直接在LLVM中实现的操作,因为它们需要改变外部状态;这些操作码的功能是作为 Go 函数实现的。

有一些关于如何开始从 Go 生成 LLVM 字节码的优秀指南,但没有一个指南解决回调或导出函数的问题。是否可以生成 LLVM 指令来回调 Go 函数?如果是这样,怎么办?

我已经尝试过@arrowd 下面描述的方法,但它似乎不起作用。源代码,改编自 Felix Angell 的博文:

package main

import (
    "C"
    "fmt"
    "llvm.org/llvm/final/bindings/go/llvm"
)

// export AddInts
func AddInts(arg1, arg2 int) int {
    return arg1 + arg2;
}

func main() {
    // setup our builder and module
    builder := llvm.NewBuilder()
    mod := llvm.NewModule("my_module")

    // create our function prologue
    main := llvm.FunctionType(llvm.Int32Type(), []llvm.Type{}, false)
    llvm.AddFunction(mod, "main", main)
    block := …
Run Code Online (Sandbox Code Playgroud)

jit llvm go

5
推荐指数
1
解决办法
878
查看次数