在我的iOS 5应用程序中,我有一个NSString包含JSON字符串的应用程序.我想将JSON字符串表示反序列化为本机NSDictionary对象.
"{\"password\" : \"1234\", \"user\" : \"andreas\"}"
Run Code Online (Sandbox Code Playgroud)
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:@"{\"2\":\"3\"}"
options:NSJSONReadingMutableContainers
error:&e];
Run Code Online (Sandbox Code Playgroud)
-[__NSCFConstantString bytes]: unrecognized selector sent to instance 0x1372c
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '-[__NSCFConstantString bytes]: unrecognized selector sent to instance 0x1372c'
Run Code Online (Sandbox Code Playgroud) 我无法在模拟器中运行我的项目,因为我收到此错误:
找不到名为'MainStoryboard_iPad'的故事板
但故事板就在那里.谢谢
有没有办法过滤掉那些不属于主路径的部分?正如您在图片中看到的,我想在保留主要路径的同时删除划掉的部分。我已经尝试使用动物园/滚动中位数但没有成功。我以为我可以使用某种内核来完成这项任务,但我不确定。我还尝试了不同的平滑方法/功能,但这些并没有提供理想的结果,而是让事情变得更糟。数据中的 dist 值可以忽略。
一种方法可能是:
所以我的寻路算法所犯的错误是“前进”然后以同样的方式返回。这种情况我试图识别和过滤掉。
path<-structure(list(counter = 1:100, lon = c(11.83000844, 11.82986091,
11.82975536, 11.82968137, 11.82966589, 11.83364579, 11.83346388,
11.83479848, 11.83630055, 11.84026754, 11.84215965, 11.84530872,
11.85369492, 11.85449806, 11.85479096, 11.85888555, 11.85908087,
11.86262424, 11.86715538, 11.86814045, 11.86844252, 11.87138302,
11.87579809, 11.87736704, 11.87819829, 11.88358436, 11.88923677,
11.89024638, 11.89091832, 11.90027148, 11.9027736, 11.90408114,
11.9063466, 11.9068819, 11.90833199, 11.91121547, 11.91204623,
11.91386018, 11.91657306, 11.91708085, 11.91761264, 11.91204623,
11.90833199, 11.90739525, 11.90583785, 11.904688, 11.90191917,
11.90143671, 11.90027148, 11.89806126, 11.89694917, 11.89249712,
11.88750445, 11.88720159, 11.88532786, 11.87757307, 11.87681905,
11.86930751, 11.86872102, 11.8676844, 11.86696599, 11.86569006,
11.85307297, 11.85078596, …Run Code Online (Sandbox Code Playgroud) 我有一个二进制<<"a,b,c">>,我想从这个二进制文件中提取信息.
所以我希望有类似A = a,B = b等的东西.我需要一个通用的方法,因为二进制字符串总是会改变.所以它可能是<<"aaa","bbb","ccc">> ......
我试着生成一个列表
二郎:binary_to_list(<< "一", "B", "C" >>)
但结果却得到了字符串.
"ABC"
谢谢.
get_osm(muc_bbox, src)从大 osm 文件加载时,调用需要相当长的时间(46.151 秒)。我想知道是否可以从 center_bbox 创建一个 center_bbox 以便按需说?将一个大文件加载到内存中并根据要求从中创建小“盒子”?或者对这个问题有不同的方法吗?也许可以将大文件以不同的结构加载到内存中并根据需要从中创建 bbox,这样总体上会更快?我在这里上传了一个更大的 osm 文件OSM 文件
先感谢您!BR。
library(osmar)
library(igraph)
### Get data ----
src <- osmsource_osmosis(file = "~/streets_bayern.osm")
muc_bbox <- center_bbox(11.575278, 48.137222, 41242.57, 41242.57)
muc <- get_osm(muc_bbox, src)
### Reduce to highways: ----
hways <- subset(muc, way_ids = find(muc, way(tags(k == "highway"))))
hways <- find(hways, way(tags(k == "name")))
hways <- find_down(muc, way(hways))
hways <- subset(muc, ids = hways)
#### Plot data ----
## Plot complete data and highways on top:
plot(muc) …Run Code Online (Sandbox Code Playgroud) 是否可以减少以下代码的运行时间?
我的目标是从框边界指定的开放街道数据区域获取加权 igraph 对象。
目前我正在尝试使用立交桥 api 来卸载内存负载,这样我就不必在内存中保留大的 osm 文件。
首先,我获取由 bbox(仅街道)指定的 osm 数据作为 xml 结构
library(osmdata)
library(osmar)
install.packages("remotes")
remotes::install_github("hypertidy/scgraph")
library(scgraph)
dat <- opq(bbox = c(11.68771, 47.75233, 12.35058, 48.19743 )) %>%
add_osm_feature(key = 'highway',value = c("trunk", "trunk_link", "primary","primary_link", "secondary", "secondary_link", "tertiary","tertiary_link", "residential", "unclassified" ))%>%
osmdata_xml ()
Run Code Online (Sandbox Code Playgroud)
然后我将生成的 xml 对象dat转换为 osmar 对象dat_osmar,最后转换为igraph对象:
dat_osmar <-as_osmar(xmlParse(dat))
dat_graoh <- as_igraph(dat_osmar)
Run Code Online (Sandbox Code Playgroud)
我如何优化这些例程?
也许可以将dat (XML) 对象分成块并并行解析它?
我经历了几个步骤才最终得到加权无向图。
目前,整个过程在我的机器上需要 89.555 秒。
如果我可以缩短这两个步骤的运行时间:
dat_osmar <-as_osmar(xmlParse(dat))
dat_graoh <- as_igraph(dat_osmar)
Run Code Online (Sandbox Code Playgroud)
那已经有帮助了。
我尝试的方法之一是使用osmdata_sc()而不是 …
我正在从 osmar 对象构建的 igraph 中搜索一组边,并希望更改这些边的权重。由于我的图很大,所以这个任务需要很长时间。由于我在循环中运行此函数,因此运行时会变得更大。
有没有办法优化这个?
这是代码:
library(osmar)
library(igraph)
library(tidyr)
library(dplyr)
### Get data ----
src <- osmsource_api(url = "https://api.openstreetmap.org/api/0.6/")
muc_bbox <- center_bbox(11.575278, 48.137222, 1000, 1000)
muc <- get_osm(muc_bbox, src)
### Reduce to highways: ----
hways <- subset(muc, way_ids = find(muc, way(tags(k == "highway"))))
hways <- find(hways, way(tags(k == "name")))
hways <- find_down(muc, way(hways))
hways <- subset(muc, ids = hways)
#### Plot data ----
## Plot complete data and highways on top:
plot(muc)
plot_ways(muc, col = "lightgrey")
plot_ways(hways, col = …Run Code Online (Sandbox Code Playgroud) 如何使用队列中的值更新GUI元素?如果我使用异步队列构造,textlable不会更新.这是我使用的代码示例:
- (IBAction)dbSizeButton:(id)sender {
dispatch_queue_t getDbSize = dispatch_queue_create("getDbSize", NULL);
dispatch_async(getDbSize, ^(void)
{
[_dbsizeLable setText:[dbmanager getDbSize]];
});
dispatch_release(getDbSize);
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
我有这个数据结构:
{
"artistlist " : [
{
"performer" : "Gate Zero"
},
{
"performer" : "nightech"
},
{
"performer" : "Marko Fuerstenberg"
},
]
}
Run Code Online (Sandbox Code Playgroud)
我用这行代码从NSString读取这个结构到NSDictionary:
JSON = [NSJSONSerialization JSONObjectWithData:
[[chunks objectAtIndex:1]
dataUsingEncoding:NSUTF8StringEncoding] options:
NSJSONReadingMutableContainers error: &e];
Run Code Online (Sandbox Code Playgroud)
with: [JSON objectForKey:@"artistlist "]我得到这个结构:
(
{
performer = "Gate Zero";
},
{
performer = nightech;
},
{
performer = "Marko Fuerstenberg";
}
)
Run Code Online (Sandbox Code Playgroud)
有没有办法去"更深层次"?
我将如何解析生成的结构?
我想直接获取值列表或访问执行者名称.如果我在tupel中有多个值,例如表演者姓名,专辑,年份,该怎么办?我将如何访问这些值?
谢谢.
我有以下 data.frame:
b<-structure(list(b = c("47.83006,11.71699 47.83004,11.71691 47.83002,11.7168 47.83001,11.71662",
"47.83001,11.71662 47.82993,11.71628 47.82991,11.7162 47.82988,11.71614 47.82983,11.71609 47.8295,11.71588 47.82919,11.71566 47.82898,11.71549 47.82845,11.71504 47.82832,11.715 47.82821,11.715 47.82712,11.71531 47.82639,11.71549 47.82606,11.71561 47.8257,11.71567 47.82548,11.71574 47.82433,11.71613",
"47.82433,11.71613 47.82436,11.7165 47.8244,11.71715 47.82442,11.71742 47.82453,11.71823 47.82459,11.71856 47.82492,11.7199",
"47.82492,11.7199 47.82495,11.72005 47.82503,11.72034 47.82515,11.72066 47.82526,11.72093 47.82556,11.72172 47.82559,11.72182 47.82561,11.72191 47.82562,11.72201",
"47.85051,12.11965 47.85092,12.11997", "48.10034,11.75948 48.10021,11.75938"
)), row.names = c(NA, 6L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)
它由由空格分隔的坐标 lat,lon 对组成。
我怎样才能从这个结构中尽可能高效地创建一个 data.frame 或 data.table,将 lat 和 lon 值放在不同的行中?
Lat lon
47.83006 11.71699
47.83004 11.71691
47.83002 11.7168
…
Run Code Online (Sandbox Code Playgroud)
更新 感谢您的解决方案。我会选择@Gki 提案,因为它更快:
Unit: milliseconds
expr
c …Run Code Online (Sandbox Code Playgroud) 我有以下代码:
J = fun()->mnesia:clear_table(names) end.
mnesia:activity(transaction, J, [], mnesia_frag).
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
** exception exit: {aborted,{aborted,nested_transaction}}
Run Code Online (Sandbox Code Playgroud)
我可以跑了
mnesia:clear_table(names)
Run Code Online (Sandbox Code Playgroud)
但由于表名在几个节点上分散,我认为我必须使用mnesia_frag模块.
我究竟做错了什么 ?它怎么会是正确的?谢谢.