我试图连接和逗号删除(或空格)列表并投影它.我在下面有一些示例代码.
public class Friend
{
public string Name { get; set; }
}
public class Person
{
public int PersonID { get; set; }
public string FirstName { get; set; }
public string Surname { get; set; }
List<Friend> Friends { get; set; }
}
public class ProjectedPerson
{
public int PersonID { get; set; }
public string FirstName { get; set; }
public string Surname { get; set; }
public string FriendsList { get; set; }
}
public class …Run Code Online (Sandbox Code Playgroud) 我想解析一个SVG样式属性,它只是一个分隔的字符串,例如
"补:#e2b126;行程:#010101;笔划宽度:0.3177;卒中miterLimit分别:10"
进入一个,Dictionary<string,string>以便我可以对它进行一些处理.
这就是我所拥有的,它完成了这项工作,但我想使用linq投影使其更整洁,似乎无法获得语法.我尝试使用.Select().ToDictionary等,但没有快乐.谢谢:
string attributes = "fill:#e2b126;stroke:#010101;stroke-width:0.3177;stroke-miterlimit:10";
var pairs = attributes.Split(';').ToList();
var dic = new Dictionary<string, string>();
pairs.ForEach(p =>
{
var pair = p.Split(':');
dic.Add(pair[0], pair[1]);
});
foreach (var k in dic.Keys)
{
Console.WriteLine(k + " " + dic[k]);
}
Run Code Online (Sandbox Code Playgroud)
预期产量:
fill #e2b126
stroke #010101
stroke-width 0.3177
stroke-miterlimit 10
Run Code Online (Sandbox Code Playgroud) 我在 vertica DB 中有一个概念性问题。如果我在 vertica 中创建一个表“abc”,其中列 a、b、c 按 a、b 排序,它将自动为其创建一个超级投影。现在,如果我更改表“abc”并向其添加列“d”,它将创建一个新的超级投影。问题是,“a,b 的顺序”会在这个新的超级投影中受到影响吗?vertica 在新的超级投影中会保留这个顺序吗?另外,它还会包含此顺序的“d”列吗?默认行为是什么?
我正在尝试使用R和raster包更改光栅投影。输入栅格投影为兰伯特方位角;参数在这里:
Coordinate System:
Lambert_Azimuthal_Equal_Area
False_Easting: 4321000,000000
False_Northing: 3210000,000000
Central_Meridian: 10,000000
Latitude_Of_Origin: 52,000000
GCS_ETRS_1989
Datum: D_ETRS_1989
Prime Meridian: 0
PROJCS
["ETRS_1989_LAEA",
GEOGCS ["GCS_ETRS_1989",
DATUM ["D_ETRS_1989",
SPHEROID ["GRS_1980",6378137.0,298.257222101]],
PRIMEM["Greenwich",0.0],
UNIT["Degree",0.0174532925199433]],
PROJECTION["Lambert_Azimuthal_Equal_Area"],
PARAMETER["False_Easting",4321000.0],
PARAMETER["False_Northing",3210000.0],
PARAMETER["Central_Meridian",10.0],
PARAMETER["Latitude_Of_Origin",52.0],
UNIT["Meter",1.0]]
Run Code Online (Sandbox Code Playgroud)
我需要将它们转换为 ESRI ASCII 格式的简单栅格,使用经度和纬度坐标,使用墨卡托式投影,像元大小为 0.1 度(我希望我能很好地解释自己,因为我没有足够的 GIS技能,抱歉)。我需要的是格式.ASC中的栅格,其中栅格的每个值对应于 size 的单个单元格N x N,其中N以度为单位(例如 0.1 度),栅格坐标以经度/纬度为单位。
我尝试在 中使用raster库R,并遵循为该projectRaster函数找到的示例。但是经过多次尝试使用多个参数后,我无法正确制作。我想我没有使用正确的参数进行投影、数据或类似的东西。
这是我尝试过的。我在 R 中加载栅格,然后使用以下方法设置其投影:
>crs(r)<-"+proj=laea +lat_1=52 +lon_0=-10 +ellps=GRS80"
Run Code Online (Sandbox Code Playgroud)
然后我定义输出投影并尝试转换并保存:
>newproj <- "+proj=lonlat +lat_1=52 +lon_0=-10 +ellps=WGS84"
>pr2 …Run Code Online (Sandbox Code Playgroud) 在我的顶点着色器中,我很想修改attribute vec2 a_position在片段着色器中共享的变量。通过此修改,我应该将图像转换为圆柱投影。
这就是我在着色器中所做的:
<!-- vertex shader -->
<script id="2d-vertex-shader" type="x-shader/x-vertex">
attribute vec2 a_position;
uniform vec2 u_resolution;
uniform mat3 u_matrix;
varying vec2 v_texCoord;
void main() {
// modifying START
float angle = atan(a_position.y, a_position.x);
float r = sqrt(a_position.x*a_position.x + a_position.y*a_position.y);
a_position.x = r*cos(angle);
a_position.y = r*sin(angle);
// modifying STOP
gl_Position = vec4(u_matrix * vec3(a_position, 1), 1);
v_texCoord = a_position;
}
</script>
<!-- fragment shader -->
<script id="2d-fragment-shader" type="x-shader/x-fragment">
precision mediump float;
// our texture
uniform sampler2D u_image;
// …Run Code Online (Sandbox Code Playgroud) 我对我的实体有一个投影,我需要按内部类的字段对它进行排序.这是我的实体的一部分:
class Person {
UUID guid;
Set<DisabilityHistory> disabilityHistory;
}
class DisabilityHistory {
Date createdDate;
}
Run Code Online (Sandbox Code Playgroud)
我知道sortparam但是请求就像api/person/search?projection=myProjection&sort=disabilityHistory.createdDate,asc不起作用.我发现的唯一解决方案是@OrderBy在我的实体中使用注释,但在这种情况下,它将始终排序,我担心性能.
有没有办法转换该数据:
\n\n进入屏幕上的 2D 点(X,Y)?
\n\n我正在根据这组确切的数据寻找正确的数学计算。
\n从 Velodyne 的角度来看,如何获得每个相机的像素坐标?
使用pykitti
point_cam0 = data.calib.T_cam0_velo.dot(point_velo)
我们可以得到图像上的投影,这是Kitti Dataset 论文的方程 7 :
y = P rect (i) R rect (0) T速度凸轮x
但是从那里开始,如何获得每个图像上的实际像素坐标?
我正在试验 Cloud Firestore 安全规则。是否可以过滤文档字段?
例如,如果您有一个文档
{
name: "John Doe",
email: "doe@example.com"
}
Run Code Online (Sandbox Code Playgroud)
那么某些用户就不允许使用电子邮件地址获取文档。他们的申请要求文件
firebase.firestore.doc('users/doe-uid')
Run Code Online (Sandbox Code Playgroud)
并得到这个文件
{
name: "John Doe",
}
Run Code Online (Sandbox Code Playgroud)
如果是,如何?
我认为应该是可能的,因为Cloud Firestore 安全规则参考在第一句话中说(重点是我的):
Cloud Firestore 安全规则用于确定谁对存储在 Cloud Firestore 中的集合和文档具有读写访问权限,以及文档的结构方式以及它们包含哪些字段和值。
但是,我在参考资料中找不到任何告诉我如何过滤字段的内容。
我的情况如下:我有一个文档,里面有一个文档数组,表示用户加入的应用程序(如图所示).

我需要用户根据应用程序名称检索一个文档...我编写了以下代码并且它可以工作......但它检索所有应用程序.怎么做只返回一个?
public Application GetUserApplication(string username)
{
var query = Query.And(Query.EQ("UserName", username), Query.ElemMatch("Applications",
Query.EQ("Key", this.applicationKey)));
MongoCursor<BsonDocument> cursor = this.users.FindAs<BsonDocument>(query);
cursor.SetFields(new string[]{ "Applications" });
cursor.SetLimit(1);
var it = cursor.GetEnumerator();
var apps = it.MoveNext() ? it.Current["Applications"].AsBsonArray : null;
...
}
Run Code Online (Sandbox Code Playgroud)