小编gwa*_*dze的帖子

根据纬度/经度获取两点之间的距离

我尝试实现这个公式:http ://andrew.hedges.name/experiments/haversine/ aplet对我测试的两个点有好处:

在此输入图像描述

但我的代码不起作用.

from math import sin, cos, sqrt, atan2

R = 6373.0

lat1 = 52.2296756
lon1 = 21.0122287
lat2 = 52.406374
lon2 = 16.9251681

dlon = lon2 - lon1
dlat = lat2 - lat1
a = (sin(dlat/2))**2 + cos(lat1) * cos(lat2) * (sin(dlon/2))**2
c = 2 * atan2(sqrt(a), sqrt(1-a))
distance = R * c

print "Result", distance
print "Should be", 278.546
Run Code Online (Sandbox Code Playgroud)

它返回的距离是5447.05546147.为什么?

python geocoding geography geo

121
推荐指数
7
解决办法
17万
查看次数

Django查询集可以获得精确的多任务查找

比方说,我有一个标签模型的pk列表

pk_list = [10, 6, 3]
Run Code Online (Sandbox Code Playgroud)

我有另一个模型,m2m字段的标签和一个实例,其中包含3个标签(上面的pks).

class Node(models.Model):
    ...
    tags = models.ManyToManyField(Tag, related_name='nodes')
Run Code Online (Sandbox Code Playgroud)

我想检索一个包含我的pk_list中指定的精确标记集的节点.当我做

Node.objects.filter(tags__in=pk_list)
Run Code Online (Sandbox Code Playgroud)

它返回三个相同实例的列表

[<Node: My node title>, <Node: My node title>, <Node: My node title>]
Run Code Online (Sandbox Code Playgroud)

调用.get()不起作用,因为它显然必须返回单个实例.

那么,我该如何检索单个实例?我必须注意,如果我的pk_list不同,例如.[10,6]或[10,6,3,7]然后我必须得到任何东西.我需要一个完全匹配.

谢谢

django django-orm django-queryset

17
推荐指数
1
解决办法
4267
查看次数

Bootstrap 3 - 在文本输入下的下拉搜索结果

我在bootstrap 3框架中的导航栏中有一个文本输入.

<div class="navbar navbar-default navbar-static-top">
  <div class="container">
    <div class="navbar-header">
      <a class="navbar-brand" href="#">Title</a>
    </div>
    <div class="navbar-collapse collapse">
      <div class="navbar-form navbar-right">
        <div class="form-group">
          <input type="text" placeholder="Search..." id="search" class="form-control" />
        </div>
        <a href="#" class="btn btn-success">Contact</a>
      </div>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是jsfiddle:http://jsfiddle.net/KKm3M/1/

我的文本输入所做的是点击数据库以获取按键上的搜索结果.它工作正常,我测试它将结果抛给其他地方的临时div.

现在,我希望将这些结果显示在文本输入下的下拉菜单中.一旦从后端返回第一个结果,就会显示下拉列表.试图寻找片段,但悲惨地失败了.我怎样才能做到这一点?

javascript css jquery twitter-bootstrap twitter-bootstrap-3

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

如何在MongoDB聚合框架中处理除零

我有一系列可以投票或投票的项目.

{"_id" : 1, "name": "foo", "upvotes" : 30, "downvotes" : 10}
{"_id" : 2, "name": "bar", "upvotes" : 20, "downvotes" : 0}
{"_id" : 3, "name": "baz", "upvotes" : 0,  "downvotes" : 0}
Run Code Online (Sandbox Code Playgroud)

我想用聚合来计算质量

db.items.aggregate([
    {"$project":
        {
            "name": "$name",
            "upvotes": "$upvotes"
            "downvotes": "$downvotes",
            "quality": {"$divide":["$upvotes", "$downvotes"]}
        }
    },
    {"$sort": {"quality":-1}}
]);
Run Code Online (Sandbox Code Playgroud)

显然这不起作用,因为除以零.我需要实施适当的调节:

如果upvotes!= 0并且downvotes == 0那么质量= upvotes如果upvotes和downvotes都是0那么质量是0

我尝试使用三元成语将downvotes调整为1.但无济于事.

db.items.aggregate([
    {"$project":
        {
            "name": "$name",
            "upvotes": "$upvotes",
            "downvotes": "$downvotes" ? "$downvotes": 1
        }
    },
    {"$project":
        {
            "name": "$name",
            "upvotes": "$upvotes"
            "downvotes": …
Run Code Online (Sandbox Code Playgroud)

mongodb

13
推荐指数
2
解决办法
5038
查看次数

Python - 如何加快城市之间距离的计算

我的数据库中有55249个城市.每一个都有纬度经度值.对于每个城市,我想计算到每个其他城市的距离,并存储不超过30公里的城市.这是我的算法:

# distance function
from math import sin, cos, sqrt, atan2, radians

def distance(obj1, obj2):
    lat1 = radians(obj1.latitude)
    lon1 = radians(obj1.longitude)
    lat2 = radians(obj2.latitude)
    lon2 = radians(obj2.longitude)
    dlon = lon2 - lon1
    dlat = lat2 - lat1
    a = (sin(dlat/2))**2 + cos(lat1) * cos(lat2) * (sin(dlon/2))**2
    c = 2 * atan2(sqrt(a), sqrt(1-a))
    return round(6373.0 * c, 2)

def distances():
    cities = City.objects.all()  # I am using Django ORM
    for city in cities:
        closest = list()
        for tested_city in cities:
            distance …
Run Code Online (Sandbox Code Playgroud)

python django algorithm distance

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

Falcon-如何根据Swagger规范验证传入请求?

针对json编写的Swagger 2.0规范,在Falcon视图中验证传入请求的最便捷,最全面的方法是什么?

我曾经使用称为pyramid_swagger的出色工具对Pyramid应用程序执行相同的操作。它可以在应用程序级别无缝地插入,并将validated字典附加到request对象上。它包含了所有内容,包括路径参数,查询字符串参数,当然还有主体参数。

我尝试了Flexfalcon-json-io,但无法使其满足我的需要。另外serve_swagger是完全不同的故事,我不需要自动生成的API。

此时,我正在考虑编写自己的工具或扩展Flex或falcon-json-io。有什么我想念的吗?

python validation json falcon swagger

5
推荐指数
0
解决办法
1249
查看次数

Django灯具.加载初始数据流程正在被杀死

我一直致力于将两个遗留数据库中的57k +记录精炼和重构为一个与Django兼容的实体.现在,当我完成后,我将其作为夹具倾倒,我试图在生产环境中加载它.

我的问题是这个过程在一段时间后被"杀死".我的过程是:

./manage.py syncdb --noinput
./manage.py loaddata core/fixtures/auth.json  # just a default user
./manage.py migrate
Run Code Online (Sandbox Code Playgroud)

结果:

Running migrations for django_extensions:  # custom apps migrate just fine
 - Migrating forwards to 0001_empty.
 > django_extensions:0001_empty
 - Loading initial data for django_extensions.
Installed 0 object(s) from 0 fixture(s)
Running migrations for myotherapp:
 - Migrating forwards to 0001_initial.
 > myotherapp:0001_initial
 - Loading initial data for myotherapp.
Installed 4 object(s) from 1 fixture(s)  # my other app with a fixture migrates ok
Running migrations …
Run Code Online (Sandbox Code Playgroud)

django django-south django-fixtures

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

姜戈。如何从 contenttypes 框架获取字段的 related_name

如何使用内容类型框架检索已知字段的 related_name?

我已经达到了获得实际领域的程度。但我不知道如何掌握它的论点。

field = content_type.model_class()._meta.get_field_by_name('field_name')
related_name = ?
Run Code Online (Sandbox Code Playgroud)

django django-models django-contenttypes

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

Scrapy spider产生了几个项目,但是只有每个请求首先调用管道

即使我每个请求有几个项目,但只有第一个(每个请求)正在进入管道,实际上保存为Django模型实例.

这是我的代码,我错过了什么?

# my_spider.py
class MySpider(CrawlSpider):
    name = 'my_spider'
    ...

    def parse(self, response):
        x = HtmlXPathSelector(response)
        item = MyDjangoItem()
        headings = x.select('//h2/text()').extract()
        for h in headings:
            item['name'] = h
            yield item

        url = 'http://example.com/next'  # I have custom rules for constructing (not extracting) next url
        yield Request(url, callback=self.parse)

# pipelines.py
class MyPipeline(object):
    def process_item(self, item, spider):
        if spider.name == 'my_spider':
            if item['name']:
                item.save()
        return item
Run Code Online (Sandbox Code Playgroud)

python scrapy

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

Django - 更新主键字段重复实例

我有一个charfield作为主键的模型.在创建实例时(通过管理面板)一切都很好,我的干净方法也可以.但是,如果我回来更新myfield,不仅清理方法无法捕获非数字字符,而且整个实例都是重复的.一个具有旧的myfield值,另一个具有改变的myfield.

# models.py
class Mymodel(models.Model):
    myfield = models.CharField(primary_key=True, max_length=10)
    ...
    def clean(self):
        if not re.match(r'[0-9]+', self.pesel):
            raise ValidationError('Digits only.', code='invalid')
        super(Mymodel, self).clean()
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?我需要它作为主键,我需要它是可编辑的.这个干净的额外问题不能很好地运作,我认为它可能是连接的.我是Django 1.5.5

python django django-models django-admin

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