我试图在R中编写一个使用gstat库的代码来创建插值.我已经阅读了gstat手册,基于互联网上的一些例子,我设法编写了这段代码(这只是一部分):
g <- gstat(id="tec", formula=TEC ~ 1, data=data) ##I create an object
v <- variogram(g) # plot the empirical variogram
plot(v)
mod<-vgm(sill=var(data$TEC),model="Sph",range=200,nugget=200) #create the variogram model
v.fit <- fit.variogram(v, model=mod,fit.method=1) #fit the empirical variogram
Theor_variogram=plot(variogram(g),v.fit,main="WLS Model") #plot the theoretical variogram
plot(Theor_variogram)
## Kriging interpolation
p <- predict.gstat(g, model=v.fit, newdata=predGrid)
Run Code Online (Sandbox Code Playgroud)
我的问题是,当我运行最后一个命令(预测)而不是通过普通克里金插值得到结果时,我得到一个反距离加权(IDW).我在gstat手册中读到:"当没有指定变异函数时,反距离加权插值是默认操作.当指定变异函数时,默认预测方法是普通克里金法."
但是,正如您在我的代码中所看到的,我指定了经验和理论变差函数.你知道我为什么一直得到IDW而不是普通克里金吗?它可以与我的坐标类型相关吗?例如,如果我的坐标彼此接近,或者感兴趣的区域太大?任何帮助都非常有用.
在此先感谢迪米特里斯
我有一个带有列表的字典,我正在尝试迭代它,而在我的Django模板中.
这就是我的字典:
{u'Canada': [u'Saskatchewan', u'Nunavut', u'Nova Scotia / Nouvelle-\xc9cosse', u'Prince Edward Island / \xcele-du-Prince-\xc9douard', u'Northwest Territories / Territoires du Nord-Ouest', u'Ontario', u'Alberta', u'New Brunswick / Nouveau-Brunswick', u'Newfoundland and Labrador / Terre-Neuve-et-Labrador', u'British Columbia / Colombie-Britannique', u'Manitoba', u'Yukon', u'Quebec / Qu\xe9bec'], u'Sao Tome and Principe': [u'Principe', u'Sao Tome'],
Run Code Online (Sandbox Code Playgroud)
问题是如何将这个字典传递给我的模板,而不必让django转义字符并迭代每个国家的所有值.
现在我在上下文字典中传递它:
ctx['regions'] = cntr_rgns
Run Code Online (Sandbox Code Playgroud)
然后我尝试在模板中迭代它:
{% if regions %}
{% for cntr, rgn in regions.items %}
<option value={{ region }}>{{ rgn }}</option>
{% endfor %}
{% endif %}
Run Code Online (Sandbox Code Playgroud)
但是这样我只得到整个数组而不是每一个元素.
我尝试使用 python 和 psycopg2 将 CSV 文件从文件夹复制到 postgres 表,但出现以下错误:
\n\n Traceback (most recent call last):\n File "<stdin>", line 1, in <module>\n psycopg2.ProgrammingError: must be superuser to COPY to or from a file\nHINT: Anyone can COPY to stdout or from stdin. psql\'s \\copy command also works for anyone.\nRun Code Online (Sandbox Code Playgroud)\n\n我还尝试通过 python 环境运行它:
\n\n constr = "dbname=\'db_name\' user=\'user\' host=\'localhost\' password=\'pass\'"\n conn = psycopg2.connect(constr)\n cur = conn.cursor()\n sqlstr = "COPY test_2 FROM \'/tmp/tmpJopiUG/downloaded_xls.csv\' DELIMITER \',\' CSV;"\n cur.execute(sqlstr)\nRun Code Online (Sandbox Code Playgroud)\n\n我仍然收到上述错误。我尝试了 \\copy 命令,但这仅适用于 psql。为了能够通过我的 python …
我有一个svg图标,我想使其旋转(加载)。这可能吗?我找到了可以创建旋转图标的在线站点,但没有找到可以使现有svg图标旋转的转换器。
根据以下Python代码段,我想问一下在循环或if语句中创建类的实例是否是一个好策略.我是OOP概念的新手,尽管我在很大程度上理解它,但我不知道这样的东西是否是以编程方式接受和正确的.
一些程序员告诉我,我不应该在循环中实例化一个类.这样的事情会影响我的程序的效率和记忆吗?你有什么意见?
station = ['one','two'...]
for station in stations_names:
f = open('respond.txt','r')
## Instantiate class: ClassXmlString
xmlStr = ClassXML.XML(f,station)
stations_arr = xmlStr.xmlToString()
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用extJS创建一个时域组合框.我已经成功完成了这个,但是当我得到我在组合框中选择的值时,我遇到了问题.首先是制作时间段的代码:
items :[{
fieldLabel: 'Start Time',
name: 'startTime',
xtype: 'timefield',
id: 'startTime',
format: 'H:i',
altFormats:'H:i',
increment: 30
}]
Run Code Online (Sandbox Code Playgroud)
我想要的是以24小时格式获取值.为了从时间字段中获取值,我使用以下代码:
var startTime = Ext.getCmp('startTime').getSubmitValue();
Run Code Online (Sandbox Code Playgroud)
问题是,不是以24小时格式获取时间,而是将值转换为12小时格式.例如,当我从组合中选择时间:00:00,当我使用getSubmitValue()时,该值被转换为12:00 AM,这在我的情况下不是很有用.
我的问题是:有没有办法保持时间格式与组合框中的格式完全一致?这将是一个24小时的格式.
我希望我很清楚我想说的是什么.
谢谢迪米特里斯
我正在使用Python访问neo4j并创建节点.在创建节点之前,我想检查它是否存在.我运行这个查询:
"query" : "match (PPnode:Node) return PPnode"
Run Code Online (Sandbox Code Playgroud)
并使用请求库的方法:
r.text
Run Code Online (Sandbox Code Playgroud)
我得到一个字符串,带有我的POST请求的响应.我的问题是,是否有一种更"优雅"的方法来检查是否存在使用python和rest api的特定名称的现有节点.
这是我的代码:
import requests
import json
import csv
headers = {'content-type': 'application/json'}
url = "http://localhost:7474/db/data/cypher"
fparts = open('FOC.csv')
csv_pseudo = csv.reader(fparts)
for row in csv_pseudo:
# query to check if node exists
checkNode = {"query" : "match (PPnode:Node) return PPnode"}
mkr =requests.post(url, data=json.dumps(checkNode), headers=headers)
Run Code Online (Sandbox Code Playgroud)
谢谢迪米特里斯
我有一个看起来像这样的字符串:
coords = "86.2646484375,23.039297747769726,87.34130859375,22.59372606392931,88.13232421875,24.066528197726857"
Run Code Online (Sandbox Code Playgroud)
我想要的是将它带到这种格式:
coords = "86.2646484375,23.039297747769726 87.34130859375,22.59372606392931 88.13232421875,24.066528197726857"
Run Code Online (Sandbox Code Playgroud)
所以在每个第二个数字中用空格替换逗号.是否有简单的pythonic方法来做到这一点.
现在我尝试使用split函数创建一个列表,然后循环遍历列表.但这似乎并不简单.
我试图通过结构脚本运行一些postgresql命令.当我执行脚本时,我得到:
out: psql: FATAL: Peer authentication failed for user "sparc2"
Run Code Online (Sandbox Code Playgroud)
这就是我的pg_hba.conf文件的样子:
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5
# added
local sparc2 sparc2 md5
host sparc2 sparc2 127.0.0.1/32 …Run Code Online (Sandbox Code Playgroud) 我知道我应该避免在 neo4j 中使用内部 id,但是有没有办法访问 neo4j 中节点的内部 id 并根据此内部 id 返回所有节点?
我试过这个:
match (n) where id(n)=123 return n;
Run Code Online (Sandbox Code Playgroud)
这将返回内部 id=123 的节点,但是如何根据内部 id 获取数据库中存在的所有节点?