小编Pra*_*pta的帖子

为特定国家生成随机坐标

我正在尝试为一个国家/地区生成随机坐标

我用过这个库Faker

def geo_point():
    """make random cordinates"""
    faker = factory.Faker('local_latlng', country_code = 'IN')
    coords = faker.generate()
    return (coords[1], coords[0])

Run Code Online (Sandbox Code Playgroud)

但问题是,它的坐标集非常有限,大约在 30-40 之间,我们至少需要 10,000 个坐标进行测试。

我尝试了一个简单的方法

def random_geo_cordinate():
    """make random geocordinates"""
    x, y = uniform(-180,180), uniform(-90, 90)
    return (y, x)

Run Code Online (Sandbox Code Playgroud)

但特定国家/地区只有 10-20 个坐标。

我发现通过 shape_files 我们可以生成很多参考文献,但在所有参考文献中,只有geom参数可用。

我找到了一种方法,可以通过 Geom 列检查这些坐标是否位于该国家/地区。

但在为一个国家生成随机坐标时我仍然缺少一些东西。

有没有什么简单直接的办法。

我正在使用

POST GIS Database
GeoDjango Server
Run Code Online (Sandbox Code Playgroud)

笔记:

  1. 我使用 GDAL 获取一个国家/地区的 shapefile

python gis geocoding postgis geodjango

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

Django ManytoManyfields 错误`AttributeError:'ManyRelatedManager'对象没有属性'dev_id'`

我想已经有很多可用的讨论几乎已经完成了所有讨论,但仍然面临这个错误。

\n
class Device(models.Model):\n    """Storing Device ids """\n    platform  = models.CharField(max_length=3, choices=PLATFORM, default = \'ANR\')\n    dev_id    = models.CharField(max_length = 255, null=True, blank=False)\n\xe2\x80\x8b\n    def __str__(self):\n        return str(self.id)\n\n
Run Code Online (Sandbox Code Playgroud)\n
class UserProfile(models.Model):\n    user             = models.OneToOneField(\'user.User\', \n                                         on_delete=models.CASCADE,\n                                         related_name=\'profile\',\n                                         primary_key=True,\n                                         unique=True)\n    device           = models.ManyToManyField(Device, related_name=\'devices\')\n\xe2\x80\x8b\n    def __str__(self):\n        return str(self.user)\n
Run Code Online (Sandbox Code Playgroud)\n
\n

错误1

\n
\n
username = UserProfile.objects.filter(\n                    phone_number=user_username).get()\nusername.device.dev_id\n*** AttributeError: \'ManyRelatedManager\' object has no attribute \'dev_id\'\n\n\n
Run Code Online (Sandbox Code Playgroud)\n
\n

错误 2\n经过一番研究

\n
\n
\nusername.device.values_list(\'dev_id\', flat=True)\n<QuerySet []>\n\xe2\x80\x8b```\n\nThere is no device found with this user but there …
Run Code Online (Sandbox Code Playgroud)

django django-models django-views django-rest-framework

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