小编Rom*_*dgz的帖子

使用Python构建GeoJSON

我想生成具有可变数量多边形的geoJSON.2个多边形的示例:

{
    "type": "FeatureCollection", 
    "features": [
      {"geometry": {
          "type": "GeometryCollection", 
          "geometries": [
              {
                  "type": "Polygon", 
                  "coordinates": 
                      [[11.0878902207, 45.1602390564],
                       [0.8251953125, 41.0986328125], 
                       [7.63671875, 48.96484375], 
                       [15.01953125, 48.1298828125]]
              }, 
              {
                  "type": "Polygon", 
                  "coordinates": 
                      [[11.0878902207, 45.1602390564], 
                       [14.931640625, 40.9228515625], 
                       [11.0878902207, 45.1602390564]]
              }
          ]
      }, 
      "type": "Feature", 
      "properties": {}}
    ]
}
Run Code Online (Sandbox Code Playgroud)

我有一个函数,它给我每个多边形的坐标列表,所以我可以创建一个多边形列表,所以我能够构建geoJSON用for循环迭代它.

问题是我没有看到如何轻松地做到这一点(我想例如将列表作为字符串返回,但将geoJSON构建为字符串看起来是个坏主意).

我被建议这个非常pythonic的想法:

geo_json = [ {"type": "Feature",,
              "geometry": {
                  "type": "Point",
                  "coordinates": [lon, lat] }}
              for lon, lat in zip(ListOfLong,ListOfLat) ] 
Run Code Online (Sandbox Code Playgroud)

但由于我添加了可变数量的多边形而不是点列表,因此这种解决方案似乎不合适.或者至少我不知道如何适应它.

我可以把它建成一个字符串,但我想以更聪明的方式做到这一点.任何的想法?

python json dictionary geojson

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

从文本文件中解析数据

我有一个文本文件,其内容如下:

******** ENTRY 01 ********
ID:                  01
Data1:               0.1834869385E-002
Data2:              10.9598489301
Data3:              -0.1091356549E+001
Data4:                715
Run Code Online (Sandbox Code Playgroud)

然后是一个空行,并重复更多类似的块,所有这些块都具有相同的数据字段.

我正在向Python移植一个​​C++代码,某个部分逐行获取文件,检测文本标题,然后检测每个字段文本以提取数据.这根本不像一个智能代码,我认为Python必须有一些库来轻松地解析这样的数据.毕竟,它几乎看起来像一个CSV!

对此有何看法?

python parsing file

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

将double数组转换为float数组

我有一个double [] []数组,我希望将一行放入float []数组中.铸造最初没有起作用,所以我寻找不同的东西.

在stackoverflow中找到一个优雅的解决方案,将Object []转换为String [],如果我将Object []转换为float [],它也可以工作.

所以:有没有优雅的方法将double []转换为float [],或者将double []转换为Object [],以便我可以在其他帖子中使用代码?

我将提供一个我正在做的示例代码,即使我认为它不是必要的:

double[][] datos = serie.toArray();
double[][] testArray = {{1.0, 2.0, 3.0}, {4.0, 5.0, 6.0}, {7.0, 8.0, 9.0}};
double[] doubleArray = Arrays.copyOf(testArray[1], testArray[1].length);
// This would be great but doesn't exist:
//float[] floatArray = Arrays.copyOf(doubleArray, doubleArray.length, float[].class);
Run Code Online (Sandbox Code Playgroud)

java arrays floating-point double

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

C++ 11 std :: thread给出错误:没有匹配函数来调用std :: thread :: thread

我正在用这段代码测试c ++ 11线程,但是在创建线程时,我遇到错误没有匹配函数来调用'std :: thread :: thread()'.

这就像我给std :: thread ctr的函数有问题,但我不知道它是怎么回事.它没有完成,但看起来对我来说:

标题:

#ifndef CONNECTION_H
#define CONNECTION_H

#include <thread>
#include <mysql++.h>

class Connection
{
public:
    Connection(std::string mysqlUser, std::string mysqlPassword);
    ~Connection();

private:
    std::string mysqlUser;
    std::string mysqlPassword;
    std::string mysqlIP;
    int mysqlPort;

    mysqlpp::Connection mysqlConnection;
    std::thread connectionThread;

    void threadLoop();
};

#endif // CONNECTION_H
Run Code Online (Sandbox Code Playgroud)

资源:

#include "connection.h"

Connection::Connection(std::string mysqlUser, std::string mysqlPassword)
{
    this->mysqlUser     = mysqlUser;
    this->mysqlPassword = mysqlPassword;
    this->mysqlIP       = "localhost";    //default
    this->mysqlPort     = 3306;           //default

    //Launch thread
    std::thread connectionThread(threadLoop);

}

Connection::~Connection(){
    mysqlConnection.disconnect();
} …
Run Code Online (Sandbox Code Playgroud)

c++ c++11 stdthread

6
推荐指数
2
解决办法
2万
查看次数

Django的数据库表名

我已经有一个名为"mydb"的数据库,我有一个名为"AERODROME"的表.

我的models.py看起来像这样:

from django.db import models

class Aerodrome(models.Model):
    Name = models.CharField(max_length=48)
    Latitude = models.DecimalField(decimal_places=4, max_digits=7)
    Longitude = models.DecimalField(decimal_places=4, max_digits=7)
Run Code Online (Sandbox Code Playgroud)

我在views.py上有这个方法:

from django.shortcuts import render
from helloworld.models import Aerodrome

def aerodromes(request):
    return render(request, 'aerodromes.html', {'aerodromes': Aerodrome.objects.all()})
Run Code Online (Sandbox Code Playgroud)

在我的模板文件夹中,我有aerodromes.html,这也很简单:

<!doctype html>
<html>
    <head>
    </head>
    <body>
        <table>
        {% for aerodrome in aerodromes %}
            <tr>
                <td>{{ aerodrome.Name }}</td>
                <td>{{ aerodrome.Longitude }}</td>
                <td>{{ aerodrome.Latitude }}</td>
            </tr>
            {% endfor %}
        </table>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我通过我的浏览器测试时,我收到一个错误,因为它看起来像是用错误的名称访问该表.我的应用程序被称为"helloworld",因为它是一个测试,而不是访问mydb.AERODROMES,它访问mydb.helloworld_aerodrome(还要注意区分大小写的问题).

由于我已经填充了数据库,我没有运行syncdb(我知道这不是必要的,但也许这就是问题).

所以,问题是我不知道为什么它会在表名中添加"helloworld_",而且我仍然不确定我在哪里修正表名(并且从那里开始出现区分大小写)有"机场"而不是"AERODROMES"的问题.

这里有什么帮助?

python mysql django

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

使用MySQLdb模块和Pypy编译器

我正在尝试Pypy编译器,看看我是否可以加速我的代码.然而,我遇到麻烦的MySQLdb模块,Pypy无法找到.

我已经读过MySQLdb 1.2.4应该可以正常使用Pypy,所以我升级了模块,我测试它是CPython编译器的正确版本:

import MySQLdb
MySQLdb.__version__
>> '1.2.4'
Run Code Online (Sandbox Code Playgroud)

但是当使用Pypy时,我得到:

Python 2.7.2 (1.9+dfsg-1, Jun 19 2012, 23:23:45)
[PyPy 1.9.0 with GCC 4.7.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
And now for something completely different: ``-FIRST they ignore you, then they
laugh at you, then they fight you, then you win.-''
>>>> import MySQLdb
Traceback (most recent call last):
  File "<console>", line 1, in <module>
ImportError: No module named MySQLdb
Run Code Online (Sandbox Code Playgroud)

有帮助吗?我正在使用Ubuntu 13.04并使用进入Canonical存储库的Pypy.

python pypy mysql-python

6
推荐指数
1
解决办法
3487
查看次数

是否可以将PhantomJS用作客户端库?

我目前正在评估HTML到PDF导出的不同库.其中一些确实实现了HTML到PDF转换,但它被标记为实验性的.

PhantomJS听起来像是一个可靠的选项,但我不确定是否可以在客户端生成PDF,所以......有可能吗?怎么样?

pdf phantomjs

6
推荐指数
1
解决办法
2693
查看次数

从Pyspark中的RDD中提取字典

这是一个功课问题:

我有RDD一个集合os元组.我还有从每个输入元组返回字典的函数.不知何故,与减少功能相反.

通过地图,我可以很容易地从一个RDD元组到一个RDD字典.但是,由于字典是(键,值)对的集合,我想将RDD字典转换为RDD每个字典内容的(键,值)元组.

这样,如果我RDD包含10个元组,那么我得到一个RDD包含5个元素的10个字典(例如),最后我得到RDD50个元组.

我认为这必须是可能的但是,怎么样?(也许问题是我不知道这个操作是如何用英语调用的)

python apache-spark pyspark

6
推荐指数
2
解决办法
2万
查看次数

获取Google Maps API密钥

我正在使用Windows 7.

我已经尝试了几次debug.keystore,使用以下命令出现在c:\ users\YOURUSER.android \中:

keytool -list -alias androiddebugkey -keystore c:\Users\YOURUSER\.android\debug.keystore -storepass android -keypass android
Run Code Online (Sandbox Code Playgroud)

它给了我一个MD5,但后来我去了谷歌MD5注册页面,它说它不是一个有效的指纹.

我搜索了更多信息,最后我在c:\ users\YOURUSER \中创建了一个新的debug.keystore,以避免重写原始的.我使用了这个命令:

keytool -genkey -keypass android -keystore c:\users\YOURUSER\debug.keystore -alias androiddebugkey -storepass android -validity 10000 -dname "CN=Android Debug,O=Android,C=US"
Run Code Online (Sandbox Code Playgroud)

它有效,所以我使用上一个命令来获取MD5,它给了我一个新的MD5.然后我再次去谷歌和同样的问题:"不是一个有效的指纹".

我做了第二次尝试.这就是我所做的:1)打开一个Windows7终端,转到c:\ program files\java\jdk1.7.0\bin\2)写了命令:

 keytool -genkey -v -keystore c:\eclipse\my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Run Code Online (Sandbox Code Playgroud)

3)然后我尝试使用comand从我的密钥库中获取MD5代码:

keytool -list -alias alias_name -keystore c:\eclipse\my-release-key.keystore
Run Code Online (Sandbox Code Playgroud)

并写了我被问到的密码.它给了我一个MD5.

4)我去映射api密钥注册并写入MD5."FINGERPRINT无效"

我不知道问题是什么.我应该为我编程的每个应用程序执行此操作?太头疼了!

有人能帮帮我吗?

android google-maps md5

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

我可以为附加到TextView的每个文本行选择一种颜色吗?

我有一个TextView用作蓝牙连接控制台.当我发送命令时,我希望它以彩色(例如青色)书写,并且答案以不同的颜色(例如红色)收到.

有可能这样做,如果是这样,怎么样?

我读过可能会使用HTML,但我不确定这是最好的方法,甚至不知道怎么做.

android colors textview

5
推荐指数
2
解决办法
5887
查看次数