def state_polygon(request): state_fips = request.GET.get("id") if not state_fips: return bad_request(["MISSING: id"]) return render(request, "polygons/state/%s.json" % (state_fips), content_type="application/json")
def country_polygon(request): country = request.GET.get("id") if not country: return bad_request(["MISSING: id"]) country = country.lower() return render(request, "polygons/country/%s.json" % (country), content_type="application/json")
def county_polygon(request): fips = request.GET.get("id") if not fips: return bad_request(["MISSING: id"]) state_fips = fips[:2] county_fips = fips[2:] return render(request, "polygons/county/%s/%s.json" % (state_fips, county_fips), content_type="application/json")
def municipality_polygon(request): m_id = request.GET.get("id") if not m_id: return bad_request(["MISSING: id"]) (fips, identifier) = m_id.split("-") return render(request, "polygons/municipality/%s/%s/%s.json" % (fips[:2], fips[2:], identifier), content_type="application/json")
def counties_for_state(request): state_fips = request.GET.get("id") if not state_fips: return bad_request(["MISSING: id"]) counties = [{ "name": c.name, "id": c.identifier, "next_entries": c.municipalities.count() } for c in County.objects.filter(state_fips=state_fips).order_by("name")] return completed_request(counties)
def bbox_polygon(request): gazetteer_id = request.GET.get("id") if not gazetteer_id: return bad_request(["MISSING: id"]) with connections["default"].cursor() as cursor: cursor.execute( "SELECT ST_AsGeoJSON(Box2d(gazetteer_generatedgeometry_test.geometry)) from gazetteer_generatedgeometry_test where gazetteer_id=%s", [gazetteer_id]) geojson = cursor.fetchone()[0] return HttpResponse(geojson, content_type="application/json")
def municipalities_for_county(request): fips = request.GET.get("id") if not fips: return bad_request(["MISSING: id"]) municipalities = [{ "name": m.name, "id": "%s%s-%s" % (m.state_fips, m.county_fips, m.identifier), "next_entries": 0, } for m in Municipality.objects.filter( state_fips=fips[:2], county_fips=fips[2:]).order_by("name")] return completed_request(municipalities)