如标题中所述,目标是有一种方法来检测给定的GPS坐标是否落在多边形内.
多边形本身可以是凸面或凹面.它被定义为一组边矢量和该多边形内的已知点.每个边缘矢量进一步由四个坐标定义,这四个坐标是各个尖端点的纬度和经度以及相对于起始点的方位.
StackOverflow上有一些与此类似的问题,但是它们仅以一般术语和2D平面描述解决方案,而我正在寻找支持WGS 84中纬度/经度对定义的多边形的现有实现.
进行此类碰撞测试的API或服务是什么?
我无法绕过JSON数据格式的特殊功能.
情况如下:我有一个包含Windows(叹息)目录路径的字符串,反斜杠转义.出于某种原因,jQuery JSON解析器认为单个转义是不够的.
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
var success = jQuery.parseJSON('{"a":"b:\\\\c"}');
var failure = jQuery.parseJSON('{"a":"b:\\c"}');
</script>
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释是什么让这种双重逃避变得必要吗?
出于某种原因,当从UTF-8文件中读取unicode字符串时,Python似乎遇到了BOM问题.考虑以下:
with open('test.py') as f:
for line in f:
print unicode(line, 'utf-8')
Run Code Online (Sandbox Code Playgroud)
看起来很直白,不是吗?
这是我的想法,直到我从命令行运行它并获得:
UnicodeEncodeError:'charmap'编解码器无法对位置0中的字符u'\ ufeff'进行编码:字符映射到
<undefined>
对Google的简短访问显示,必须手动清除 BOM :
import codecs
with open('test.py') as f:
for line in f:
print unicode(line.replace(codecs.BOM_UTF8, ''), 'utf-8')
Run Code Online (Sandbox Code Playgroud)
这个运行正常.但是我很难看到这方面的任何优点.
上述行为背后有理由吗?相比之下,UTF-16无缝工作.
今天我偶然发现了一个关于Stack Overflow的问题 - 如何从javascript关联数组中删除对象?.让我感到震惊的是,接受的答案既误导又反对,所以我强调了可能的陷阱.
然而,在纠正错误答案的同时,我意识到我不知道为什么delete保持元素分配 undefined而不是删除是有意义的.
var elements = new Array()
elements.push(NaN)
elements.push(NaN)
elements.push(NaN)
delete elements[1]
console.log("number of elements: ", elements.length) // returns 3
Run Code Online (Sandbox Code Playgroud)
它背后有理由吗?
我正在编写一个Red5应用程序,它通过RTMP向Flash客户端提供一对一的视频聊天.
遗憾的是,我能够找到的大多数教程都是粗略的,而且当涉及API概念和预期用法时,Red5本身的文档往往含糊不清.
简而言之,我有点卡住并寻找关于Red5 ApplicationAdapter实现的提示.Gnarly细节如下:
首先,这些联系有两种:访客和顾问.访问者应该能够指出它希望与哪个顾问沟通.只要顾问不忙于为另一个顾问服务,顾问就会直接与请求的访问者建立联系.
显然,每个RTMP连接都有双向流量:发送和接收视频.从服务器的角度来看,连接带来了一堆视频流,这些视频流可以通过请求分配接收端点.
由于几个视频对话可以同时进行,因此应用程序的主要任务是处理访客流到顾问的映射,并提供一个列表,通过AMF指示每个顾问的状态(忙/可用).
所以,总而言之,我非常清楚我的目标是什么,但如何用Red5实现它仍然有点神秘.
希望有人可以在以下任何或所有方面启发我:
建立连接类型(访客/顾问)的最简单方法是什么?
应该使用哪些API类来实现持久的,全局可访问的活动连接列表,以报告每个顾问的状态?
当目标是将特定访问者连接到选定的顾问时,如何动态切换接收端点?
我确信以下有一个合理的解释,但我有点困惑.
问题在于创建a _TCHAR[CONSTANT],a _TCHAR*,连接它们并返回结果的函数.
由于某种原因,whatTheHeck()来自_tmain()回归的胡言乱语.
_TCHAR* whatTheHeck(_TCHAR* name) {
_TCHAR Buffer[BUFSIZE];
DWORD dwRet;
dwRet = GetCurrentDirectory(BUFSIZE, Buffer);
_TCHAR* what = new _TCHAR[BUFSIZE];
what = _tcscat(Buffer, TEXT("\\"));
what = _tcscat(what, name);
return what;
}
int _tmain(int argc, _TCHAR* argv[]) {
_TCHAR* failure = whatTheHeck(TEXT("gibberish);")); // not again ..
_tprintf(TEXT("|--> %s\n"), failure);
_TCHAR* success = createFileName(TEXT("readme.txt")); // much better
_tprintf(TEXT("|--> %s\n"), success);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
相反,当与堆一起工作时,按预期工作.
_TCHAR* createFileName(_TCHAR* name) {
_TCHAR* Buffer = new _TCHAR[BUFSIZE];
DWORD …Run Code Online (Sandbox Code Playgroud) 这里似乎是共同的认识之间的不匹配==,它实际上做什么.为此问题提供一些背景知识:
typeof new Number(1); // returns object
typeof new String(1); // returns object
typeof 1; // returns number
Run Code Online (Sandbox Code Playgroud)
看似,这两个Number和String是的object类型.这并不奇怪.然而==,true当操作数相等而不管它们的类型时,事情会变得有趣.
根据一个有点权威的说明:
运算符尝试使用对象的valueOf和toString方法将对象转换为原始值,String或Number值.如果此转换对象的尝试失败,则会生成运行时错误.
简而言之,==应该按原始值比较对象.出奇:
var numa = new Number(1);
var numb = new Number(1);
var stri = new String(1);
numa.toString() == stri.toString(); // returns true, as expected
numa.valueOf() == stri.valueOf(); // returns true, as expected
numa == stri; // returns …Run Code Online (Sandbox Code Playgroud) 当修补程序调整大量的JPG,PNG和GIF文件时,PHP会出现意外丢失,并显示以下错误消息:
imagecolorsforindex()[function.imagecolorsforindex]:颜色索引226超出范围
相关的代码片段是:
protected function preserveTransparency($img, $resized, $ftype) {
if (($ftype == IMAGETYPE_PNG) || ($ftype == IMAGETYPE_GIF)) {
$tidx = imagecolortransparent($img);
if ($tidx >= 0) {
$transColor = imagecolorsforindex($img, $tidx);
$tidx = imagecolorallocate($resized, $transColor['red'], $transColor['green'], $transColor['blue']);
imagefill($resized, 0, 0, $tidx);
imagecolortransparent($resized, $tidx);
} elseif ($ftype == IMAGETYPE_PNG) {
imagealphablending($resized, false);
imagesavealpha($resized, true);
$transparent = imagecolorallocatealpha($resized, 255, 255, 255, 127);
imagefill($resized, 0, 0, $transparent);
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果已经返回颜色索引怎么可能不存在imagecolortransparent?
我正在研究可以在消费者硬件上运行的专用I/O软件.从本质上讲,它归结为保存大量数据流以供以后处理.现在我正在寻找一个模型来估计x86上的性能因素.
以新款Macbook Pro为例:
高速Thunderbolt I/O(输入/输出)技术可在两个方向上提供惊人的每秒10千兆位的传输速度
1.25 GB/s听起来不错,但当天的大多数处理器都是时钟2 Ghz.只要每个网络通道只能分配一个核心,多个核心就没什么区别.
因此,即使软件充当微型操作系统并且仅限于网络/磁盘操作,流入存储的数据量也不能超过每秒[1]块.虽然这暗示了粗略的性能限制,但我觉得它远远不够.P / (2 * N)
在处理器频率和其他硬件细节方面,应该考虑哪些其他因素来估算I/O性能?为简单起见,假设存储在所有情况下都能立即执行.
[1] P - 处理器频率; N - 算法开销
language-agnostic io performance network-programming low-level
javascript ×3
io ×2
operators ×2
bitbucket ×1
c++ ×1
coordinates ×1
dvcs ×1
flash ×1
gd ×1
geolocation ×1
geospatial ×1
git ×1
github ×1
gps ×1
imagemagick ×1
java ×1
jquery ×1
json ×1
low-level ×1
math ×1
performance ×1
php ×1
python ×1
red5 ×1
rtmp ×1
string ×1
tchar ×1
types ×1
unicode ×1
utf-8 ×1
video ×1
windows ×1