Qualcuno può fornire qualsiasi codice di esempio per Flask con GeoAlchemy?Flask con codice di esempio GeoAlchemy
risposta
Utilizzando SQLAlchemy 0,8, Flask-SQLAlchemy e Geoalchemy 2: query
from app import db
from geoalchemy2.types import Geometry
class Point(db.Model):
"""represents an x/y coordinate location."""
__tablename__ = 'point'
id = db.Column(db.Integer, primary_key=True)
geom = db.Column(Geometry(geometry_type='POINT', srid=4326))
Esempio:
from geoalchemy2.elements import WKTElement
from app import models
def get_nearest(lat, lon):
# find the nearest point to the input coordinates
# convert the input coordinates to a WKT point and query for nearest point
pt = WKTElement('POINT({0} {1})'.format(lon, lat), srid=4326)
return models.Point.query.order_by(models.Point.geom.distance_box(pt)).first()
Un modo di convertire il risultato a coordinate xey (convertire GeoJSON ed estrae le coordinate):
import geoalchemy2.functions as func
import json
from app import db
def point_geom_to_xy(pt):
# extract x and y coordinates from a point geometry
geom_json = json.loads(db.session.scalar(func.ST_AsGeoJSON(pt.geom)))
return geom_json['coordinates']
Se non si è limitati all'utilizzo di Flask, si può provare a provare MapFish, che si basa su Pylon e utilizza GeoAlchemy.
È possibile utilizzarlo con Flask-SQLAlchemy, ma è possibile utilizzarlo anche con SQLAlchemy. Basta tradurre lo sample models from GeoAlchemy in Flask-SQLAlchemy. Qualcosa del genere:
class Spot(db.Model):
__tablename__ = 'spots'
id = db.Column(Integer, primary_key=True)
name = db.Column(Unicode, nullable=False)
height = db.Column(Integer)
created = db.Column(DateTime, default=datetime.now())
geom = db.GeometryColumn(Point(2))
Non ho testato il codice, ma dovrebbe essere una buona trascrizione.
Questo codice non funziona: ti dà l'attributo 'AttributeError: 'L'oggetto SQLAlchemy' non ha alcun attributo 'GeometryColumn'' – jsalonen
from myapp import db
from geoalchemy import GeometryColumn, Point
class FixXX(db.Model):
__tablename__ = 'fixXX'
fix_pk = db.Column(db.Integer, primary_key=True)
fix = db.Column(db.String)
geometry = GeometryColumn(Point(2, srid=4326))
GeometryDDL(FixXX.__table__)
- 1. Flask esempio con POST
- 2. Basic Flask OpenID Connect esempio
- 3. esempio di codice onFocusChange?
- 4. Codice di esempio SSH Android
- 5. libgps Esempio di codice C
- 6. Cancellazione Esempio di codice token
- 7. DatePickerWidget con Flask, Flask-Admin e WTforms
- 8. Codice concreto Esempio di MVP
- 9. Pagina capovolgimento codice di esempio
- 10. Esempio di codice per ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering?
- 11. Codice esempio NUnit?
- 12. Codice di esempio di Facebook per iPhone con oauth
- 13. Esempio di codice per l'elencazione di un FixedPriceItem con ebay
- 14. HDF5 Esempio codice
- 15. Flask - Come creare codice abort() personalizzato?
- 16. Un esempio completo di molti con Flask, WTForm, SQLAlchemy e Jinja2
- 17. Distribuzione Flask con Heroku
- 18. Flask confusione con app
- 19. Il codice concurrent.futures di esempio non funziona con "BrokenProcessPool"
- 20. Android: esempio di codice per il test con ProviderTestCase2
- 21. Quando vengono rimossi @SessionAttributes in SpringMVC? (Con esempio di codice)
- 22. Esempio di codice SWIFT campione o demo con FLAnimatedImage
- 23. Auto ricarica l'app di Python Flask su modifiche al codice
- 24. using flask-login con postgresql
- 25. Loopy Belief Esempio di codice di propagazione
- 26. Codice di esempio di integrazione C++ \ IronPython?
- 27. Cerco codice di esempio forzato: continuazioni!
- 28. Esempio di codice per creare pdf a livello di codice
- 29. d3.js & json - codice di esempio semplice?
- 30. Esecuzione Flask con PyCharm
Fare ciò che in particolare? –