当前位置: 首页>>代码示例>>Python>>正文


Python City.point方法代码示例

本文整理汇总了Python中models.City.point方法的典型用法代码示例。如果您正苦于以下问题:Python City.point方法的具体用法?Python City.point怎么用?Python City.point使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在models.City的用法示例。


在下文中一共展示了City.point方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: run_city

# 需要导入模块: from models import City [as 别名]
# 或者: from models.City import point [as 别名]
def run_city(verbose=True, step=10, begin=0, end=0):
    import csv
    filename = os.path.join(settings.BASE_PATH, 'apps', 'world', 'data', 'cities.csv')
    reader = csv.reader(open(filename, 'rb'), delimiter=',', quotechar="'")
    for row in reader:
        c = City()
        c.name = row[4]
        c.capital = bool(int(row[9]))
        c.world_city = bool(int(row[12]))
        c.mega_city = bool(int(row[13]))
        c.point = Point(float(row[22]), float(row[21]))
        #don't save the city if a country can't be found for it
        try:
            c.country = CountryBorder.objects.get(iso3=row[17])
        except :
            continue
        
        try:
            c.state = StateBorder.objects.get(name=row[18])
        except :
            try:
                c.state = StateBorder.objects.get(mpoly__contains=c.point)
            except :
                pass
        c.sqkm = int(row[40])
        topleft = Point(float(row[48]), float(row[55]))
        topright = Point(float(row[51]), float(row[55]))
        bottomleft = Point(float(row[48]), float(row[52]))
        bottomright = Point(float(row[51]), float(row[52]))
        c.mpoly = MultiPolygon(Polygon(LinearRing(topleft, topright, bottomright, bottomleft, topleft)))
        c.save()
        print c.name
开发者ID:dustinmm80,项目名称:zedtrip,代码行数:34,代码来源:load.py

示例2: test02_proxy

# 需要导入模块: from models import City [as 别名]
# 或者: from models.City import point [as 别名]
    def test02_proxy(self):
        "Testing Lazy-Geometry support (using the GeometryProxy)."
        #### Testing on a Point
        pnt = Point(0, 0)
        nullcity = City(name='NullCity', point=pnt)
        nullcity.save()

        # Making sure TypeError is thrown when trying to set with an
        #  incompatible type.
        for bad in [5, 2.0, LineString((0, 0), (1, 1))]:
            try:
                nullcity.point = bad
            except TypeError:
                pass
            else:
                self.fail('Should throw a TypeError')

        # Now setting with a compatible GEOS Geometry, saving, and ensuring
        #  the save took, notice no SRID is explicitly set.
        new = Point(5, 23)
        nullcity.point = new

        # Ensuring that the SRID is automatically set to that of the 
        #  field after assignment, but before saving.
        self.assertEqual(4326, nullcity.point.srid)
        nullcity.save()

        # Ensuring the point was saved correctly after saving
        self.assertEqual(new, City.objects.get(name='NullCity').point)

        # Setting the X and Y of the Point
        nullcity.point.x = 23
        nullcity.point.y = 5
        # Checking assignments pre & post-save.
        self.assertNotEqual(Point(23, 5), City.objects.get(name='NullCity').point)
        nullcity.save()
        self.assertEqual(Point(23, 5), City.objects.get(name='NullCity').point)
        nullcity.delete()

        #### Testing on a Polygon
        shell = LinearRing((0, 0), (0, 100), (100, 100), (100, 0), (0, 0))
        inner = LinearRing((40, 40), (40, 60), (60, 60), (60, 40), (40, 40))

        # Creating a State object using a built Polygon
        ply = Polygon(shell, inner)
        nullstate = State(name='NullState', poly=ply)
        self.assertEqual(4326, nullstate.poly.srid) # SRID auto-set from None
        nullstate.save()

        ns = State.objects.get(name='NullState')
        self.assertEqual(ply, ns.poly)
        
        # Testing the `ogr` and `srs` lazy-geometry properties.
        if gdal.HAS_GDAL:
            self.assertEqual(True, isinstance(ns.poly.ogr, gdal.OGRGeometry))
            self.assertEqual(ns.poly.wkb, ns.poly.ogr.wkb)
            self.assertEqual(True, isinstance(ns.poly.srs, gdal.SpatialReference))
            self.assertEqual('WGS 84', ns.poly.srs.name)

        # Changing the interior ring on the poly attribute.
        new_inner = LinearRing((30, 30), (30, 70), (70, 70), (70, 30), (30, 30))
        ns.poly[1] = new_inner
        ply[1] = new_inner
        self.assertEqual(4326, ns.poly.srid)
        ns.save()
        self.assertEqual(ply, State.objects.get(name='NullState').poly)
        ns.delete()
开发者ID:hugs,项目名称:django,代码行数:69,代码来源:tests_mysql.py


注:本文中的models.City.point方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。