我正在尝试为一个国家/地区生成随机坐标
我用过这个库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)
笔记:
我想已经有很多可用的讨论几乎已经完成了所有讨论,但仍然面临这个错误。
\nclass 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\nRun Code Online (Sandbox Code Playgroud)\nclass 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)\nRun Code Online (Sandbox Code Playgroud)\n\n\n错误1
\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\nRun Code Online (Sandbox Code Playgroud)\n\n\n错误 2\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)