小编use*_*919的帖子

如何使用gstat预测进行普通克里金法

我试图在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而不是普通克里金吗?它可以与我的坐标类型相关吗?例如,如果我的坐标彼此接近,或者感兴趣的区域太大?任何帮助都非常有用.

在此先感谢迪米特里斯

r automap spatial-interpolation gstat

4
推荐指数
1
解决办法
6351
查看次数

如何在django模板中迭代带有列表的字典?

我有一个带有列表的字典,我正在尝试迭代它,而在我的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 django templates loops view

4
推荐指数
1
解决办法
808
查看次数

使用 python 和 psycopg2 将 CSV 导入 postgres 时出错

我尝试使用 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.\n
Run 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)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我仍然收到上述错误。我尝试了 \\copy 命令,但这仅适用于 psql。为了能够通过我的 python …

python csv postgresql psycopg2

4
推荐指数
1
解决办法
7226
查看次数

使现有的SVG旋转(加载图标)

我有一个svg图标,我想使其旋转(加载)。这可能吗?我找到了可以创建旋转图标的在线站点,但没有找到可以使现有svg图标旋转的转换器。

svg

4
推荐指数
1
解决办法
2092
查看次数

在循环或if语句中实例化类是否在编程上是正确的?

根据以下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)

python oop class

3
推荐指数
1
解决办法
937
查看次数

如何在24小时内保持ExtJS时域的格式

我正在尝试使用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小时的格式.

我希望我很清楚我想说的是什么.

谢谢迪米特里斯

extjs timefield

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

如何使用python Rest api在neo4j中获取cypher查询的响应

我正在使用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)

谢谢迪米特里斯

python neo4j cypher

3
推荐指数
1
解决办法
1680
查看次数

Pythonic方法用空格替换字符串的每秒逗号

我有一个看起来像这样的字符串:

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函数创建一个列表,然后循环遍历列表.但这似乎并不简单.

python

3
推荐指数
1
解决办法
2119
查看次数

postgresql中的用户对等身份验证失败

我试图通过结构脚本运行一些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)

authentication postgresql

3
推荐指数
1
解决办法
9702
查看次数

如何访问neo4j节点的内部id?

我知道我应该避免在 neo4j 中使用内部 id,但是有没有办法访问 neo4j 中节点的内部 id 并根据此内部 id 返回所有节点?

我试过这个:

         match (n) where id(n)=123 return n;
Run Code Online (Sandbox Code Playgroud)

这将返回内部 id=123 的节点,但是如何根据内部 id 获取数据库中存在的所有节点?

neo4j

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