up stuff
This commit is contained in:
parent
656c3fd414
commit
1c17b57d8a
37 changed files with 2818 additions and 469 deletions
2
.env.example
Normal file
2
.env.example
Normal file
|
@ -0,0 +1,2 @@
|
|||
DB_USER=cipherbliss
|
||||
POSTGRES_PASSWORD=tralalahihou
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -3,3 +3,4 @@ __pycache__/
|
|||
*.py[cod]
|
||||
*$py.class
|
||||
.DS_Store
|
||||
.env
|
8
.idea/.gitignore
generated
vendored
Normal file
8
.idea/.gitignore
generated
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
8
.idea/backend.iml
generated
Normal file
8
.idea/backend.iml
generated
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="WEB_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
21
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
21
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
|
@ -0,0 +1,21 @@
|
|||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="HtmlUnknownTag" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="myValues">
|
||||
<value>
|
||||
<list size="7">
|
||||
<item index="0" class="java.lang.String" itemvalue="nobr" />
|
||||
<item index="1" class="java.lang.String" itemvalue="noembed" />
|
||||
<item index="2" class="java.lang.String" itemvalue="comment" />
|
||||
<item index="3" class="java.lang.String" itemvalue="noscript" />
|
||||
<item index="4" class="java.lang.String" itemvalue="embed" />
|
||||
<item index="5" class="java.lang.String" itemvalue="script" />
|
||||
<item index="6" class="java.lang.String" itemvalue="Placeholder" />
|
||||
</list>
|
||||
</value>
|
||||
</option>
|
||||
<option name="myCustomValuesEnabled" value="true" />
|
||||
</inspection_tool>
|
||||
</profile>
|
||||
</component>
|
8
.idea/modules.xml
generated
Normal file
8
.idea/modules.xml
generated
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/backend.iml" filepath="$PROJECT_DIR$/.idea/backend.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
19
.idea/php.xml
generated
Normal file
19
.idea/php.xml
generated
Normal file
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="MessDetectorOptionsConfiguration">
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
<component name="PHPCSFixerOptionsConfiguration">
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
<component name="PHPCodeSnifferOptionsConfiguration">
|
||||
<option name="highlightLevel" value="WARNING" />
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
<component name="PhpStanOptionsConfiguration">
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
<component name="PsalmOptionsConfiguration">
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
</project>
|
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
196
API_QUERY_PARAMS.md
Normal file
196
API_QUERY_PARAMS.md
Normal file
|
@ -0,0 +1,196 @@
|
|||
# OpenEventDatabase API Query Parameters
|
||||
|
||||
This document describes the query parameters that can be used to search for events in the OpenEventDatabase API.
|
||||
|
||||
## Base URL
|
||||
|
||||
The base URL for the API is:
|
||||
|
||||
```
|
||||
http://api.openeventdatabase.org
|
||||
```
|
||||
|
||||
## Endpoints
|
||||
|
||||
### GET /event
|
||||
|
||||
Returns events that match the specified criteria. By default, it returns the last events which are active "now".
|
||||
|
||||
## Query Parameters
|
||||
|
||||
The following query parameters can be used to filter events:
|
||||
|
||||
### `what`
|
||||
|
||||
Filters events by their category or type.
|
||||
|
||||
- **Format**: String
|
||||
- **Example**: `what=weather.warning`
|
||||
- **Description**: Returns events with a "what" value that starts with the provided string.
|
||||
|
||||
### `when`
|
||||
|
||||
Filters events by a specific timestamp.
|
||||
|
||||
- **Format**: ISO8601 date or keyword
|
||||
- **Default**: "now"
|
||||
- **Keywords**:
|
||||
- `now`: Current time
|
||||
- `today`: Today (00:00 to 23:59)
|
||||
- `yesterday`: Yesterday (00:00 to 23:59)
|
||||
- `tomorrow`: Tomorrow (00:00 to 23:59)
|
||||
- `lasthour`: Last hour
|
||||
- `nexthour`: Next hour
|
||||
- `lastXdays`, `lastXhours`, `lastXminutes`: X days/hours/minutes ago to now
|
||||
- `nextXdays`, `nextXhours`, `nextXminutes`: Now to X days/hours/minutes in the future
|
||||
- **Example**: `when=2025-09-15T12:00:00Z` or `when=yesterday`
|
||||
- **Description**: Returns events that are active at the specified time.
|
||||
|
||||
### `start` and `stop`
|
||||
|
||||
Filters events by a time range.
|
||||
|
||||
- **Format**: ISO8601 date or keyword (same as `when`)
|
||||
- **Default**: "now" for both
|
||||
- **Example**: `start=2025-09-10T00:00:00Z&stop=2025-09-15T23:59:59Z`
|
||||
- **Description**: Returns events that overlap with the specified time range.
|
||||
|
||||
### `bbox`
|
||||
|
||||
Filters events by a geographic bounding box.
|
||||
|
||||
- **Format**: Four comma-separated values representing East, South, West, North coordinates
|
||||
- **Example**: `bbox=-5.0,41.0,10.0,52.0`
|
||||
- **Description**: Returns events located within the specified bounding box.
|
||||
|
||||
### `near`
|
||||
|
||||
Filters events by proximity to a location.
|
||||
|
||||
- **Format**: Two or three comma-separated values representing longitude, latitude, and optionally a maximum distance in meters
|
||||
- **Default distance**: 1 meter if not specified
|
||||
- **Example**: `near=2.3522,48.8566,50000` (events within 50km of Paris)
|
||||
- **Description**: Returns events located within the specified distance from the given coordinates.
|
||||
|
||||
### `polyline`
|
||||
|
||||
Filters events by proximity to a polyline.
|
||||
|
||||
- **Format**: Encoded polyline string (as returned by routing engines like OSRM, GraphHopper, etc.)
|
||||
- **Additional parameters**:
|
||||
- `buffer`: Distance in meters around the polyline (default: 1000)
|
||||
- `polyline_precision`: Precision of the encoded polyline (default: 5)
|
||||
- **Example**: `polyline=_p~iF~ps|U_ulLnnqC_mqNvxq`A&buffer=5000`
|
||||
- **Description**: Returns events located within the specified buffer distance around the encoded polyline.
|
||||
|
||||
### `geom`
|
||||
|
||||
Controls how geometry is returned in the response.
|
||||
|
||||
- **Format**: String or number
|
||||
- **Values**:
|
||||
- `full`: Returns the full geometry
|
||||
- `only`: Returns only the geometry and event ID
|
||||
- Numeric value: Simplifies the geometry to the specified precision (e.g., `geom=0.01`)
|
||||
- **Default**: Returns the centroid of the geometry
|
||||
- **Example**: `geom=full` or `geom=0.01`
|
||||
- **Description**: Controls the level of detail in the geometry portion of the response.
|
||||
|
||||
### `limit`
|
||||
|
||||
Limits the number of results returned.
|
||||
|
||||
- **Format**: Integer
|
||||
- **Default**: 200
|
||||
- **Example**: `limit=50`
|
||||
- **Description**: Limits the number of events returned in the response.
|
||||
|
||||
### `type`
|
||||
|
||||
Filters events by their type.
|
||||
|
||||
- **Format**: String
|
||||
- **Values**: "scheduled", "forecast", "unscheduled"
|
||||
- **Example**: `type=scheduled`
|
||||
- **Description**: Returns events of the specified type.
|
||||
|
||||
## Examples
|
||||
|
||||
### Weather alerts active on a specific date
|
||||
|
||||
```
|
||||
GET /event?when=2025-09-15T12:00:00Z&what=weather.alert
|
||||
```
|
||||
|
||||
Returns weather alerts that were active on September 15, 2025 at 12:00 UTC.
|
||||
|
||||
### Events near a location during a time range
|
||||
|
||||
```
|
||||
GET /event?start=2025-09-15T12:00:00Z&stop=2025-09-15T14:00:00Z&near=2.3522,48.8566,10000
|
||||
```
|
||||
|
||||
Returns events taking place within 10km of Paris on September 15, 2025 from 12:00 to 14:00 UTC.
|
||||
|
||||
### Traffic accidents near a location within the last 10 minutes
|
||||
|
||||
```
|
||||
GET /event?what=traffic.accident&near=2.3522,48.8566,5000&when=last10minutes
|
||||
```
|
||||
|
||||
Returns traffic accidents within 5km of Paris that occurred within the last 10 minutes.
|
||||
|
||||
### Events in a specific region with full geometry
|
||||
|
||||
```
|
||||
GET /event?bbox=-5.0,41.0,10.0,52.0&geom=full
|
||||
```
|
||||
|
||||
Returns events in France with their full geometry.
|
||||
|
||||
### Combining multiple parameters
|
||||
|
||||
```
|
||||
GET /event?what=conference&start=2025-09-01T00:00:00Z&stop=2025-12-31T23:59:59Z&near=2.3522,48.8566,50000&limit=50
|
||||
```
|
||||
|
||||
Returns up to 50 conference events within 50km of Paris between September 1 and December 31, 2025.
|
||||
|
||||
## Response Format
|
||||
|
||||
The API returns a GeoJSON FeatureCollection containing the events that match the query parameters. By default, the geometry portion is replaced by the event geometry centroid, unless you ask for full geometries using the `geom=full` parameter or `geom={snaptogrid}` to simplify the geometry.
|
||||
|
||||
Example response:
|
||||
|
||||
```json
|
||||
{
|
||||
"type": "FeatureCollection",
|
||||
"features": [
|
||||
{
|
||||
"type": "Feature",
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [2.3522, 48.8566]
|
||||
},
|
||||
"properties": {
|
||||
"id": "123e4567-e89b-12d3-a456-426614174000",
|
||||
"name": "Conference event in Paris",
|
||||
"description": "Mock conference event for testing",
|
||||
"location": "Paris",
|
||||
"start": "2025-09-10T23:00:00",
|
||||
"stop": "2026-05-10T23:00:00",
|
||||
"createdate": "2025-09-15T23:00:00",
|
||||
"lastupdate": "2025-09-15T23:00:00",
|
||||
"lon": 2.3522,
|
||||
"lat": 48.8566
|
||||
}
|
||||
}
|
||||
],
|
||||
"count": 1
|
||||
}
|
||||
```
|
||||
|
||||
## Limitations
|
||||
|
||||
- Only the first 200 events are returned by default. Use the `limit` parameter to adjust this.
|
||||
- The API may return a 500 Internal Server Error if there are issues with the database connection or if the query is malformed.
|
|
@ -1,11 +1,17 @@
|
|||
FROM ubuntu:16.04
|
||||
FROM ubuntu:25.04
|
||||
RUN apt-get update && \
|
||||
apt-get install -y postgresql-server-dev-all && \
|
||||
apt-get install -y python3-dev && \
|
||||
apt-get install -y python3-pip && \
|
||||
apt-get install -y libgeos-dev
|
||||
RUN pip3 install uwsgi
|
||||
ADD /requirements.txt /app/
|
||||
apt-get install -y postgresql-server-dev-all \
|
||||
python3-dev \
|
||||
python3-pip \
|
||||
libgeos-dev \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /app
|
||||
RUN pip3 install -r requirements.txt
|
||||
CMD uwsgi --http :8080 --wsgi-file backend.py --callable app
|
||||
COPY requirements.txt /app/
|
||||
RUN pip3 install --no-cache-dir -r requirements.txt
|
||||
|
||||
COPY . /app/
|
||||
RUN chmod +x /app/setup_db.sh
|
||||
|
||||
CMD ./setup_db.sh && uwsgi --http :8080 --wsgi-file backend.py --callable app
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
FROM postgres:9.5
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y postgis postgresql-9.5-postgis-scripts
|
||||
ADD /setup.sql /docker-entrypoint-initdb.d/
|
||||
FROM postgres:17.0
|
||||
RUN apt-get update && \
|
||||
apt-get install -y postgis postgresql-9.5-postgis-scripts && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY setup.sql /docker-entrypoint-initdb.d/
|
||||
|
|
136
README.md
Normal file
136
README.md
Normal file
|
@ -0,0 +1,136 @@
|
|||
# OpenEventDatabase Backend
|
||||
|
||||
OpenEventDatabase (OEDB) is a database for events with geographic information.
|
||||
It is a collaborative way to share things that have no space in OpenStreetMap.
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Docker and Docker Compose
|
||||
- PostgreSQL (if running locally without Docker)
|
||||
- Python 3.x (if running locally without Docker)
|
||||
|
||||
### Installation
|
||||
Copiez le fichier d'environnement pour accéder à la base de données.
|
||||
```shell
|
||||
cp .env.example .env
|
||||
```
|
||||
installez la base de données.
|
||||
|
||||
```shell
|
||||
py -m venv venv
|
||||
source venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
bash setup_db.sh
|
||||
```
|
||||
vous pouvez ajouter des données d'exemple:
|
||||
|
||||
```shell
|
||||
cd data
|
||||
py import_example_from_csv.co2db.py
|
||||
```
|
||||
|
||||
|
||||
#### Using Docker (Recommended)
|
||||
|
||||
1. Clone the repository:
|
||||
```
|
||||
git clone https://github.com/yourusername/openeventdatabase.git
|
||||
cd openeventdatabase/backend
|
||||
```
|
||||
|
||||
2. Start the services using Docker Compose:
|
||||
```
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
This will start both the PostgreSQL database and the backend API server.
|
||||
|
||||
3. Access the API at `http://localhost:8080`
|
||||
|
||||
#### Running Locally
|
||||
|
||||
1. Install dependencies:
|
||||
```
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
2. Set up the database:
|
||||
```
|
||||
./setup_db.sh
|
||||
```
|
||||
|
||||
3. Verify database tables are properly created:
|
||||
```
|
||||
./check_tables.sh
|
||||
```
|
||||
|
||||
4. Start the server with uwsgi:
|
||||
```
|
||||
uwsgi --http :8080 --wsgi-file backend.py --callable app
|
||||
```
|
||||
|
||||
Or with gunicorn:
|
||||
```
|
||||
gunicorn backend:app
|
||||
```
|
||||
|
||||
Note: The server will automatically check database connectivity at startup and will exit if the PostgreSQL database is not responding.
|
||||
|
||||
If you encounter permission errors when accessing the API (such as "permission denied for table events"), run the setup script again to ensure proper permissions:
|
||||
```
|
||||
./setup_db.sh
|
||||
```
|
||||
|
||||
You can also test database permissions with:
|
||||
```
|
||||
./test_permissions.sh
|
||||
```
|
||||
|
||||
Or specifically test permissions on the events table:
|
||||
```
|
||||
./test_table_permissions.sh
|
||||
```
|
||||
|
||||
### Environment Variables
|
||||
|
||||
- `DB_NAME`: Database name (default: "oedb")
|
||||
- `DB_HOST`: Database host (default: localhost)
|
||||
- `DB_USER`: Database user (default: postgres)
|
||||
- `POSTGRES_PASSWORD`: Database password
|
||||
- `NEW_USER`: New PostgreSQL user to create with full permissions (default: "oedb_user")
|
||||
- `NEW_PASSWORD`: Password for the new PostgreSQL user (default: "oedb_password")
|
||||
|
||||
### Mock Data
|
||||
|
||||
The repository includes scripts to create and check mock events in the database:
|
||||
|
||||
1. Create mock events:
|
||||
```
|
||||
./create_mock_events.py
|
||||
```
|
||||
This script creates 18 mock events (3 for each category: traffic, nature, weather, sport, conference, party) with start dates slightly before the current date and end dates far in the future.
|
||||
|
||||
2. Check mock events:
|
||||
```
|
||||
./check_mock_events.py
|
||||
```
|
||||
This script checks the mock events in the database, showing counts by category and date ranges for each event.
|
||||
|
||||
### API Documentation
|
||||
|
||||
The OpenEventDatabase API allows you to search for events using various query parameters. You can filter events by:
|
||||
|
||||
- Event type or category (`what`)
|
||||
- Time period (`when`, `start`, `stop`)
|
||||
- Geographic location (`bbox`, `near`, `polyline`)
|
||||
- And more...
|
||||
|
||||
For detailed information about the available query parameters, examples, and response format, see the [API Query Parameters Documentation](API_QUERY_PARAMS.md).
|
||||
Have a look at the swagger file.
|
||||
`swagger.json`
|
||||
|
||||
## License
|
||||
|
||||
See the LICENSE file for details.
|
497
backend.py
497
backend.py
|
@ -1,465 +1,62 @@
|
|||
# backend.py
|
||||
# openeventdatabase
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
OpenEventDatabase Backend
|
||||
|
||||
from datetime import datetime
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import subprocess
|
||||
This is the main entry point for the OpenEventDatabase backend.
|
||||
It initializes the Falcon application and sets up the routes.
|
||||
"""
|
||||
|
||||
import sys
|
||||
import falcon
|
||||
import psycopg2
|
||||
import psycopg2.extras
|
||||
import geojson
|
||||
|
||||
def db_connect():
|
||||
return psycopg2.connect(
|
||||
dbname=os.getenv("DB_NAME", "oedb"),
|
||||
host=os.getenv("DB_HOST", ""),
|
||||
password=os.getenv("POSTGRES_PASSWORD", None),
|
||||
user=os.getenv("DB_USER", ""))
|
||||
# Import utility modules
|
||||
from oedb.utils.logging import logger
|
||||
from oedb.utils.db import check_db_connection
|
||||
|
||||
# Import middleware
|
||||
from oedb.middleware.headers import HeaderMiddleware
|
||||
|
||||
class EventEncoder(json.JSONEncoder):
|
||||
def default(self, o):
|
||||
if isinstance(o, datetime):
|
||||
return o.isoformat()
|
||||
try:
|
||||
return super().default(o)
|
||||
except TypeError:
|
||||
return str(o)
|
||||
# Import resources
|
||||
from oedb.resources.event import event
|
||||
from oedb.resources.stats import StatsResource
|
||||
from oedb.resources.search import EventSearch
|
||||
|
||||
def create_app():
|
||||
"""
|
||||
Create and configure the Falcon application.
|
||||
|
||||
def dumps(data):
|
||||
return json.dumps(data, cls=EventEncoder, sort_keys=True, ensure_ascii=False)
|
||||
Returns:
|
||||
falcon.App: The configured Falcon application.
|
||||
"""
|
||||
# Create the Falcon application with middleware
|
||||
logger.info("Initializing Falcon application")
|
||||
app = falcon.App(middleware=[HeaderMiddleware()])
|
||||
|
||||
# Check database connection before continuing
|
||||
if not check_db_connection():
|
||||
logger.error("Cannot start server - PostgreSQL database is not responding")
|
||||
sys.exit(1)
|
||||
|
||||
class HeaderMiddleware:
|
||||
# Create resource instances
|
||||
stats = StatsResource()
|
||||
event_search = EventSearch()
|
||||
|
||||
def process_response(self, req, resp, resource, params):
|
||||
resp.set_header('X-Powered-By', 'OpenEventDatabase')
|
||||
resp.set_header('Access-Control-Allow-Origin', '*')
|
||||
resp.set_header('Access-Control-Allow-Headers', 'X-Requested-With')
|
||||
resp.set_header('Access-Control-Allow-Headers', 'Content-Type')
|
||||
resp.set_header('Access-Control-Allow-Methods','GET, POST, PUT, DELETE, OPTIONS')
|
||||
# Add routes
|
||||
logger.info("Setting up API routes")
|
||||
app.add_route('/event/{id}', event) # Handle single event requests
|
||||
app.add_route('/event', event) # Handle event collection requests
|
||||
app.add_route('/stats', stats) # Handle stats requests
|
||||
app.add_route('/event/search', event_search) # Handle event search requests
|
||||
|
||||
logger.success("Application initialized successfully")
|
||||
return app
|
||||
|
||||
class StatsResource(object):
|
||||
def on_get(self, req, resp):
|
||||
db = db_connect()
|
||||
cur = db.cursor(cursor_factory=psycopg2.extras.DictCursor)
|
||||
# estimated row count, way faster then count(*)
|
||||
cur.execute("SELECT reltuples::bigint FROM pg_class r WHERE relname = 'events';")
|
||||
count = cur.fetchone()[0]
|
||||
# global info
|
||||
cur.execute("SELECT max(lastupdate) as last_updated, current_timestamp-pg_postmaster_start_time() from events;")
|
||||
pg_stats = cur.fetchone()
|
||||
last = pg_stats[0]
|
||||
pg_uptime = pg_stats[1]
|
||||
uptime = subprocess.check_output(["uptime","-p"]).decode('utf-8')[0:-1]
|
||||
# summary about last 10000 events (what, last, count, sources)
|
||||
cur.execute("SELECT row_to_json(stat) from (SELECT events_what as what, left(max(upper(events_when))::text,19) as last, count(*) as count, array_agg(distinct(regexp_replace(regexp_replace(events_tags ->> 'source','^(http://|https://)',''),'/.*',''))) as source from (select * from events order by lastupdate desc limit 10000) as last group by 1 order by 2 desc) as stat;")
|
||||
recent = cur.fetchall()
|
||||
cur.close()
|
||||
db.close()
|
||||
resp.body = dumps(dict(events_count=count, last_updated=last, uptime=uptime, db_uptime=pg_uptime, recent=recent))
|
||||
resp.status = falcon.HTTP_200
|
||||
# Create the WSGI application
|
||||
app = create_app()
|
||||
|
||||
if __name__ == '__main__':
|
||||
# This block is executed when the script is run directly
|
||||
import waitress
|
||||
|
||||
class BaseEvent:
|
||||
|
||||
def row_to_feature(self, row, geom_only = False):
|
||||
# only return geometry and event id
|
||||
if geom_only:
|
||||
return {
|
||||
"type": "Feature",
|
||||
"geometry": json.loads(row['geometry']),
|
||||
"properties": { "id" : row['events_id'] }
|
||||
}
|
||||
|
||||
properties = dict(row['events_tags'])
|
||||
properties.update({
|
||||
'createdate': row['createdate'],
|
||||
'lastupdate': row['lastupdate'],
|
||||
'lon': row['lon'],
|
||||
'lat': row['lat'],
|
||||
"id": row['events_id']
|
||||
})
|
||||
if 'secret' in properties: # hide secret in results
|
||||
del properties['secret']
|
||||
if "distance" in row:
|
||||
properties['distance'] = row['distance']
|
||||
return {
|
||||
"type": "Feature",
|
||||
"geometry": json.loads(row['geometry']),
|
||||
"properties": properties
|
||||
}
|
||||
|
||||
def rows_to_collection(self, rows, geom_only = False):
|
||||
return {
|
||||
"type": "FeatureCollection",
|
||||
"features": [self.row_to_feature(r, geom_only) for r in rows],
|
||||
"count": len(rows)
|
||||
}
|
||||
|
||||
|
||||
class EventResource(BaseEvent):
|
||||
def maybe_insert_geometry(self, geometry, cur):
|
||||
# insert into geo table if not existing
|
||||
cur.execute("""INSERT INTO geo
|
||||
SELECT geom, md5(st_astext(geom)) as hash, st_centroid(geom) as geom_center FROM
|
||||
(SELECT st_setsrid(st_geomfromgeojson( %s ),4326) as geom) as g
|
||||
WHERE ST_IsValid(geom)
|
||||
ON CONFLICT DO NOTHING RETURNING hash;""",
|
||||
(geometry,))
|
||||
# get its id (md5 hash)
|
||||
h = cur.fetchone()
|
||||
if h is None:
|
||||
cur.execute("""SELECT md5(st_asewkt(geom)),
|
||||
ST_IsValid(geom),
|
||||
ST_IsValidReason(geom) from (SELECT st_geomfromgeojson( %s ) as geom) as g ;""", (geometry,))
|
||||
h = cur.fetchone()
|
||||
return h
|
||||
|
||||
|
||||
def relative_time(self, when, cur):
|
||||
when = when.upper().replace(' ','+')
|
||||
event_start = cur.mogrify("%s",(when,)).decode("utf-8")
|
||||
event_stop = cur.mogrify("%s",(when,)).decode("utf-8")
|
||||
|
||||
if when == 'NOW':
|
||||
event_start = "now()"
|
||||
event_stop = "now()"
|
||||
if when == 'TODAY':
|
||||
event_start = "CURRENT_DATE"
|
||||
event_stop = "CURRENT_DATE + INTERVAL '1 DAY'"
|
||||
if when == 'TOMORROW':
|
||||
event_start = "CURRENT_DATE + INTERVAL '1 DAY'"
|
||||
event_stop = "CURRENT_DATE + INTERVAL '2 DAY'"
|
||||
if when == 'YESTERDAY':
|
||||
event_start = "CURRENT_DATE - INTERVAL '1 DAY'"
|
||||
event_stop = "CURRENT_DATE"
|
||||
m = re.match('(LAST|NEXT)(YEAR|MONTH|WEEK|DAY|HOUR|MINUTE)',when)
|
||||
if m is not None:
|
||||
when = m.group(1)+'1'+m.group(2)+'S'
|
||||
m = re.match('(LAST|NEXT)([0-9]*)(YEAR|MONTH|WEEK|MINUTE|HOUR|DAY)S',when)
|
||||
if m is not None:
|
||||
if m.group(1) == 'LAST':
|
||||
event_start = "now() - INTERVAL '%s %s'" % m.group(2,3)
|
||||
event_stop = "now()"
|
||||
else:
|
||||
event_start = "now()"
|
||||
event_stop = "now() + INTERVAL '%s %s'" % m.group(2,3)
|
||||
|
||||
return event_start, event_stop
|
||||
|
||||
|
||||
def on_get(self, req, resp, id=None, geom=None):
|
||||
db = db_connect()
|
||||
cur = db.cursor(cursor_factory=psycopg2.extras.DictCursor)
|
||||
if id is None:
|
||||
event_sort = "createdate DESC"
|
||||
# get query search parameters
|
||||
if geom is not None:
|
||||
# convert our geojson geom to WKT
|
||||
geoj = json.dumps(geom)
|
||||
# buffer around geom ?
|
||||
if 'buffer' in req.params:
|
||||
buffer = float(req.params['buffer'])
|
||||
elif geom['type'] == 'Linestring':
|
||||
buffer = 1000 # 1km buffer by default around Linestrings
|
||||
else:
|
||||
buffer = 0
|
||||
if buffer == 0:
|
||||
event_bbox = cur.mogrify(" AND ST_Intersects(geom, ST_SetSRID(ST_GeomFromGeoJSON(%s),4326)) ",(geoj,)).decode("utf-8")
|
||||
else:
|
||||
event_bbox = cur.mogrify(" AND ST_Intersects(geom, ST_Buffer(ST_SetSRID(ST_GeomFromGeoJSON(%s),4326)::geography, %s)::geometry) ",(geoj, buffer)).decode("utf-8")
|
||||
event_dist = cur.mogrify("ST_Length(ST_ShortestLine(geom, ST_SetSRID(ST_GeomFromGeoJSON(%s),4326))::geography)::integer as distance, ",(geoj,)).decode("utf-8")
|
||||
event_sort = cur.mogrify("ST_Length(ST_ShortestLine(geom, ST_SetSRID(ST_GeomFromGeoJSON(%s),4326))::geography)::integer, ", (geoj,)).decode("utf-8")+event_sort
|
||||
elif 'bbox' in req.params:
|
||||
# limit search with bbox (E,S,W,N)
|
||||
event_bbox = cur.mogrify(" AND geom && ST_SetSRID(ST_MakeBox2D(ST_Point(%s,%s),ST_Point(%s,%s)),4326) ",tuple(req.params['bbox'])).decode("utf-8")
|
||||
event_dist = ""
|
||||
elif 'near' in req.params:
|
||||
# Limit search with location+distance
|
||||
# (long, lat, distance in meters)
|
||||
if len(req.params['near']) < 3:
|
||||
dist = 1
|
||||
else:
|
||||
dist = req.params['near'][2]
|
||||
event_bbox = cur.mogrify(" AND ST_Intersects(geom, ST_Buffer(st_setsrid(st_makepoint(%s,%s),4326)::geography,%s)::geometry) ", (req.params['near'][0], req.params['near'][1], dist)).decode("utf-8")
|
||||
event_dist = cur.mogrify("ST_Length(ST_ShortestLine(geom, st_setsrid(st_makepoint(%s,%s),4326))::geography)::integer as distance,", (req.params['near'][0], req.params['near'][1])).decode("utf-8")
|
||||
event_sort = cur.mogrify("ST_Length(ST_ShortestLine(geom, st_setsrid(st_makepoint(%s,%s),4326))::geography)::integer, ", (req.params['near'][0], req.params['near'][1])).decode("utf-8")+event_sort
|
||||
elif 'polyline' in req.params:
|
||||
# use encoded polyline as search geometry
|
||||
if 'buffer' in req.params:
|
||||
buffer = float(req.params['buffer'])
|
||||
else:
|
||||
buffer = 1000
|
||||
if 'polyline_precision' in req.params:
|
||||
precision = int(req.params['polyline_precision'])
|
||||
else:
|
||||
precision = 5
|
||||
# ST_Scale is a workaround to postgis bug not taking precision into account in ST_LineFromEncodedPolyline
|
||||
event_bbox = cur.mogrify(" AND ST_Intersects(geom, ST_Buffer(ST_Scale(ST_LineFromEncodedPolyline(%s),1/10^(%s-5),1/10^(%s-5))::geography, %s)::geometry) ",(req.params['polyline'], precision, precision, buffer)).decode("utf-8")
|
||||
event_dist = cur.mogrify("ST_Length(ST_ShortestLine(geom, ST_Scale(ST_LineFromEncodedPolyline(%s),1/10^(%s-5),1/10^(%s-5)))::geography)::integer as distance, ",(req.params['polyline'], precision, precision)).decode("utf-8")
|
||||
elif 'where:osm' in req.params:
|
||||
event_bbox = cur.mogrify(" AND events_tags ? 'where:osm' AND events_tags->>'where:osm'=%s ", (req.params['where:osm'],)).decode("utf-8")
|
||||
event_dist = ""
|
||||
elif 'where:wikidata' in req.params:
|
||||
event_bbox = cur.mogrify(" AND events_tags ? 'where:wikidata' AND events_tags->>'where:wikidata'=%s ", (req.params['where:wikidata'],)).decode("utf-8")
|
||||
event_dist = ""
|
||||
else:
|
||||
event_bbox = ""
|
||||
event_dist = ""
|
||||
|
||||
if 'when' in req.params:
|
||||
# limit search with fixed time
|
||||
when = req.params['when'].upper()
|
||||
event_when = "tstzrange(%s,%s,'[]')" % (self.relative_time(when,cur))
|
||||
elif 'start' in req.params and 'stop' in req.params:
|
||||
# limit search with fixed time (start to stop)
|
||||
event_start, unused = self.relative_time(req.params['start'],cur)
|
||||
unused, event_stop = self.relative_time(req.params['stop'],cur)
|
||||
event_when = "tstzrange(%s,%s,'[]')" % (event_start, event_stop)
|
||||
elif 'start' in req.params and 'stop' not in req.params:
|
||||
# limit search with fixed time (start to now)
|
||||
event_start, unused = self.relative_time(req.params['start'],cur)
|
||||
event_when = "tstzrange(%s,now(),'[]')" % event_start
|
||||
elif 'start' not in req.params and 'stop' in req.params:
|
||||
# limit search with fixed time (now to stop)
|
||||
unused, event_stop = self.relative_time(req.params['stop'],cur)
|
||||
event_when = "tstzrange(now(),%s,'[]')" % event_stop
|
||||
else:
|
||||
event_when = "tstzrange(now(),now(),'[]')"
|
||||
|
||||
if 'what' in req.params:
|
||||
# limit search based on "what"
|
||||
event_what = cur.mogrify(" AND events_what LIKE %s AND events_what LIKE %s ", (req.params['what'][:4]+"%",req.params['what']+"%")).decode("utf-8")
|
||||
else:
|
||||
event_what = ""
|
||||
|
||||
if 'type' in req.params:
|
||||
# limit search based on type (scheduled, forecast, unscheduled)
|
||||
event_type = cur.mogrify(" AND events_type = %s ", (req.params['type'],)).decode("utf-8")
|
||||
else:
|
||||
event_type = ""
|
||||
|
||||
if 'limit' in req.params:
|
||||
limit = cur.mogrify("LIMIT %s", (req.params['limit'],)).decode("utf-8")
|
||||
else:
|
||||
limit = "LIMIT 200"
|
||||
|
||||
event_geom = "geom_center"
|
||||
geom_only = False
|
||||
if 'geom' in req.params:
|
||||
if req.params['geom'] == 'full':
|
||||
event_geom = "geom"
|
||||
elif req.params['geom'] == 'only':
|
||||
geom_only = True
|
||||
else:
|
||||
event_geom = cur.mogrify("ST_SnapToGrid(geom,%s)",(req.params['geom'],)).decode("utf-8")
|
||||
|
||||
# Search recent active events.
|
||||
sql = """SELECT events_id, events_tags, createdate, lastupdate, {event_dist} st_asgeojson({event_geom}) as geometry, st_x(geom_center) as lon, st_y(geom_center) as lat
|
||||
FROM events JOIN geo ON (hash=events_geo)
|
||||
WHERE events_when && {event_when} {event_what} {event_type} {event_bbox}
|
||||
ORDER BY {event_sort} {limit}"""
|
||||
# No user generated content here, so format is safe.
|
||||
sql = sql.format(event_dist=event_dist, event_geom=event_geom,
|
||||
event_bbox=event_bbox, event_what=event_what,
|
||||
event_when=event_when, event_type=event_type,
|
||||
event_sort=event_sort, limit=limit)
|
||||
#print(sql)
|
||||
cur.execute(sql)
|
||||
resp.body = dumps(self.rows_to_collection(cur.fetchall(), geom_only))
|
||||
resp.status = falcon.HTTP_200
|
||||
else:
|
||||
# Get single event geojson Feature by id.
|
||||
cur.execute("SELECT events_id, events_tags, createdate, lastupdate, st_asgeojson(geom) as geometry, st_x(geom_center) as lon, st_y(geom_center) as lat FROM events JOIN geo ON (hash=events_geo) WHERE events_id=%s", [id])
|
||||
|
||||
e = cur.fetchone()
|
||||
if e is not None:
|
||||
resp.body = dumps(self.row_to_feature(e))
|
||||
resp.status = falcon.HTTP_200
|
||||
else:
|
||||
resp.status = falcon.HTTP_404
|
||||
db.close()
|
||||
|
||||
def insert_or_update(self, req, resp, id, query):
|
||||
|
||||
# get request body payload (geojson Feature)
|
||||
try:
|
||||
body = req.stream.read().decode('utf-8')
|
||||
j = json.loads(body)
|
||||
except:
|
||||
resp.body = 'invalid json or bad encoding'
|
||||
resp.status = falcon.HTTP_400
|
||||
return
|
||||
|
||||
resp.body = ''
|
||||
if "properties" not in j:
|
||||
resp.body = resp.body + "missing 'properties' elements\n"
|
||||
j['properties'] = dict()
|
||||
if "geometry" not in j:
|
||||
resp.body = resp.body + "missing 'geometry' elements\n"
|
||||
j['geometry'] = None
|
||||
if "when" not in j['properties'] and ("start" not in j['properties'] or "stop" not in j['properties']) :
|
||||
resp.body = resp.body + "missing 'when' or 'start/stop' in properties\n"
|
||||
j['properties']['when'] = None
|
||||
if "type" not in j['properties']:
|
||||
resp.body = resp.body + "missing 'type' of event in properties\n"
|
||||
j['properties']['type'] = None
|
||||
if "what" not in j['properties']:
|
||||
resp.body = resp.body + "missing 'what' in properties\n"
|
||||
j['properties']['what'] = None
|
||||
if "type" in j and j['type'] != 'Feature':
|
||||
resp.body = resp.body + 'geojson must be "type":"Feature" only\n'
|
||||
if id is None and resp.body != '':
|
||||
resp.status = falcon.HTTP_400
|
||||
resp.set_header('Content-type', 'text/plain')
|
||||
return
|
||||
|
||||
if 'when' in j['properties']:
|
||||
event_when = j['properties']['when']
|
||||
if "start" not in j['properties']:
|
||||
event_start = j['properties']['when']
|
||||
else:
|
||||
event_start = j['properties']['start']
|
||||
if "stop" not in j['properties']:
|
||||
event_stop = j['properties']['when']
|
||||
else:
|
||||
event_stop = j['properties']['stop']
|
||||
if event_start == event_stop:
|
||||
bounds = '[]'
|
||||
else:
|
||||
bounds = '[)'
|
||||
|
||||
# connect to db and insert
|
||||
db = db_connect()
|
||||
cur = db.cursor()
|
||||
|
||||
# 'secret' based authentication
|
||||
if 'secret' in j['properties']:
|
||||
secret = cur.mogrify(" AND (events_tags->>'secret' = %s OR events_tags->>'secret' IS NULL) ",(j['properties']['secret'],)).decode("utf-8")
|
||||
elif 'secret' in req.params:
|
||||
secret = cur.mogrify(" AND (events_tags->>'secret' = %s OR events_tags->>'secret' IS NULL) ",(req.params['secret'],)).decode("utf-8")
|
||||
else:
|
||||
secret = " AND events_tags->>'secret' IS NULL "
|
||||
|
||||
# get the geometry part
|
||||
if j['geometry'] is not None:
|
||||
geometry=dumps(j['geometry'])
|
||||
h = self.maybe_insert_geometry(geometry,cur)
|
||||
if len(h)>1 and h[1] is False:
|
||||
resp.body = "invalid geometry: %s\n" % h[2]
|
||||
resp.status = falcon.HTTP_400
|
||||
resp.set_header('Content-type', 'text/plain')
|
||||
return
|
||||
else:
|
||||
h = [None]
|
||||
params = (j['properties']['type'], j['properties']['what'], event_start, event_stop, bounds, dumps(j['properties']), h[0])
|
||||
if id:
|
||||
params = params + (id,)
|
||||
e = None
|
||||
rows = None
|
||||
try:
|
||||
sql = cur.mogrify(query,params)
|
||||
cur.execute(query.format(secret=secret), params)
|
||||
rows = cur.rowcount
|
||||
# get newly created event id
|
||||
e = cur.fetchone()
|
||||
db.commit()
|
||||
except psycopg2.Error as err:
|
||||
print(err, sql, err.pgerror)
|
||||
db.rollback()
|
||||
pass
|
||||
|
||||
# send back to client
|
||||
if e is None:
|
||||
if id is None:
|
||||
cur.execute("""SELECT events_id FROM events WHERE events_what=%s
|
||||
AND events_when=tstzrange(%s,%s,%s) AND events_geo=%s;""",
|
||||
(j['properties']['what'], event_start, event_stop, bounds, h[0]))
|
||||
else:
|
||||
if rows==0:
|
||||
if 'secret' in req.params or 'secret' in j['properties']:
|
||||
resp.status = '403 Unauthorized, secret does not match'
|
||||
else:
|
||||
resp.status = '403 Unauthorized, secret required'
|
||||
return
|
||||
else:
|
||||
cur.execute("""END; WITH s AS (SELECT * FROM events WHERE events_id = %s) SELECT e.events_id FROM events e, s WHERE e.events_what=coalesce(%s, s.events_what)
|
||||
AND e.events_when=tstzrange(coalesce(%s, lower(s.events_when)),coalesce(%s,upper(s.events_when)),%s) AND e.events_geo=coalesce(%s, s.events_geo);""",
|
||||
(id, j['properties']['what'], event_start, event_stop, bounds, h[0]))
|
||||
dupe = cur.fetchone()
|
||||
resp.body = """{"duplicate":"%s"}""" % (dupe[0])
|
||||
resp.status = '409 Conflict with event %s' % dupe[0]
|
||||
else:
|
||||
resp.body = """{"id":"%s"}""" % (e[0])
|
||||
if id is None:
|
||||
resp.status = falcon.HTTP_201
|
||||
else:
|
||||
resp.status = falcon.HTTP_200
|
||||
|
||||
cur.close()
|
||||
db.close()
|
||||
|
||||
def on_post(self, req, resp):
|
||||
self.insert_or_update(req, resp, None, """INSERT INTO events ( events_type, events_what, events_when, events_tags, events_geo) VALUES (%s, %s, tstzrange(%s,%s,%s) , %s, %s) ON CONFLICT DO NOTHING RETURNING events_id;""")
|
||||
|
||||
def on_put(self, req, resp, id):
|
||||
# PUT is acting like PATCH
|
||||
event.on_patch(req, resp, id)
|
||||
|
||||
def on_patch(self, req, resp, id):
|
||||
# coalesce are used to PATCH the data (new value may be NULL to keep the old one)
|
||||
self.insert_or_update(req, resp, id, """UPDATE events SET ( events_type, events_what, events_when, events_tags, events_geo) = (coalesce(%s, events_type), coalesce(%s, events_what), tstzrange(coalesce(%s, lower(events_when)),coalesce(%s, upper(events_when)),%s) , events_tags::jsonb || (%s::jsonb -'secret') , coalesce(%s, events_geo))
|
||||
WHERE events_id = %s {secret} RETURNING events_id;""")
|
||||
|
||||
def on_delete(self, req, resp, id):
|
||||
db = db_connect()
|
||||
cur = db.cursor()
|
||||
cur.execute("""INSERT INTO events_deleted SELECT events_id, createdate, lastupdate, events_type, events_what, events_when, events_geo, events_tags FROM events WHERE events_id = %s """, (id,));
|
||||
rows_insert = cur.rowcount
|
||||
|
||||
# 'secret' based authentication, must be null or same as during POST
|
||||
if 'secret' in req.params:
|
||||
cur.execute("""DELETE FROM events WHERE events_id = %s AND (events_tags->>'secret' = %s OR events_tags->>'secret' IS NULL)""", (id,req.params['secret']));
|
||||
else:
|
||||
cur.execute("""DELETE FROM events WHERE events_id = %s AND events_tags->>'secret' IS NULL;""",(id,))
|
||||
if cur.rowcount==1:
|
||||
resp.status = "204 event deleted"
|
||||
db.commit()
|
||||
elif rows_insert==1: # INSERT ok but DELETE fails due to missing secret...
|
||||
resp.status = "403 Unauthorized, secret needed to delete this event"
|
||||
db.rollback()
|
||||
else:
|
||||
resp.status = "404 event not found"
|
||||
cur.close()
|
||||
db.close()
|
||||
|
||||
|
||||
class EventSearch(BaseEvent):
|
||||
|
||||
def on_post(self, req, resp):
|
||||
# body should contain a geojson Feature
|
||||
body = req.stream.read().decode('utf-8')
|
||||
j = json.loads(body)
|
||||
# pass the query with the geometry to event.on_get
|
||||
event.on_get(req, resp, None, j['geometry'])
|
||||
|
||||
|
||||
# Falcon.API instances are callable WSGI apps.
|
||||
app = falcon.API(middleware=[HeaderMiddleware()])
|
||||
|
||||
# Resources are represented by long-lived class instances
|
||||
event = EventResource()
|
||||
stats = StatsResource()
|
||||
event_search = EventSearch()
|
||||
|
||||
# things will handle all requests to the matching URL path
|
||||
app.add_route('/event/{id}', event) # handle single event requests
|
||||
app.add_route('/event', event) # handle single event requests
|
||||
app.add_route('/stats', stats)
|
||||
app.add_route('/event/search', event_search)
|
||||
logger.info("Starting server on http://127.0.0.1:8080")
|
||||
waitress.serve(app, host='127.0.0.1', port=8080)
|
||||
|
|
104
check_mock_events.py
Executable file
104
check_mock_events.py
Executable file
|
@ -0,0 +1,104 @@
|
|||
#!/usr/bin/env python3
|
||||
# Script to check mock events in the database
|
||||
|
||||
import os
|
||||
import sys
|
||||
import psycopg2
|
||||
import psycopg2.extras
|
||||
from datetime import datetime
|
||||
import pytz
|
||||
|
||||
# Function to load environment variables from .env file
|
||||
def load_env_from_file():
|
||||
if os.path.exists('.env'):
|
||||
print("Loading environment variables from .env file...")
|
||||
with open('.env', 'r') as f:
|
||||
for line in f:
|
||||
line = line.strip()
|
||||
if line and not line.startswith('#'):
|
||||
key, value = line.split('=', 1)
|
||||
os.environ[key] = value
|
||||
|
||||
# Load environment variables from .env file
|
||||
load_env_from_file()
|
||||
|
||||
# Database connection parameters
|
||||
DB_NAME = os.getenv("DB_NAME", "oedb")
|
||||
DB_HOST = os.getenv("DB_HOST", "localhost")
|
||||
DB_USER = os.getenv("DB_USER", "postgres")
|
||||
DB_PASSWORD = os.getenv("POSTGRES_PASSWORD", "")
|
||||
|
||||
# Current date (2025-09-15 as specified in the issue)
|
||||
CURRENT_DATE = datetime(2025, 9, 15, 23, 0, tzinfo=pytz.UTC)
|
||||
|
||||
# Connect to the database
|
||||
def db_connect():
|
||||
return psycopg2.connect(
|
||||
dbname=DB_NAME,
|
||||
host=DB_HOST,
|
||||
user=DB_USER,
|
||||
password=DB_PASSWORD
|
||||
)
|
||||
|
||||
def main():
|
||||
print("Checking mock events in the database...")
|
||||
|
||||
try:
|
||||
# Connect to the database
|
||||
conn = db_connect()
|
||||
cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
|
||||
|
||||
# Get count of events by category
|
||||
cur.execute("""
|
||||
SELECT events_what, COUNT(*)
|
||||
FROM events
|
||||
GROUP BY events_what
|
||||
ORDER BY events_what;
|
||||
""")
|
||||
|
||||
categories = cur.fetchall()
|
||||
print("\nEvent counts by category:")
|
||||
for category in categories:
|
||||
print(f" {category[0]}: {category[1]} events")
|
||||
|
||||
# Check event date ranges
|
||||
cur.execute("""
|
||||
SELECT
|
||||
events_what,
|
||||
events_type,
|
||||
lower(events_when) as start_date,
|
||||
upper(events_when) as end_date
|
||||
FROM events
|
||||
ORDER BY events_what, lower(events_when);
|
||||
""")
|
||||
|
||||
events = cur.fetchall()
|
||||
print("\nEvent date ranges:")
|
||||
for event in events:
|
||||
category = event['events_what']
|
||||
event_type = event['events_type']
|
||||
start_date = event['start_date']
|
||||
end_date = event['end_date']
|
||||
|
||||
# Check if start date is before current date
|
||||
start_before_current = start_date < CURRENT_DATE
|
||||
|
||||
# Check if end date is far in the future
|
||||
days_in_future = (end_date - CURRENT_DATE).days
|
||||
|
||||
print(f" {category} ({event_type}):")
|
||||
print(f" Start: {start_date} ({'before current date' if start_before_current else 'after current date'})")
|
||||
print(f" End: {end_date} ({days_in_future} days in the future)")
|
||||
print()
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error: {e}")
|
||||
sys.exit(1)
|
||||
finally:
|
||||
if 'cur' in locals():
|
||||
cur.close()
|
||||
if 'conn' in locals():
|
||||
conn.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
91
check_tables.sh
Executable file
91
check_tables.sh
Executable file
|
@ -0,0 +1,91 @@
|
|||
#!/bin/bash
|
||||
# Script to check if database tables are properly created
|
||||
# Uses environment variables from .env file
|
||||
|
||||
# Load environment variables from .env file
|
||||
if [ -f .env ]; then
|
||||
echo "Loading environment variables from .env file..."
|
||||
export $(grep -v '^#' .env | xargs)
|
||||
fi
|
||||
|
||||
# Default values if not set in .env
|
||||
DB_NAME=${DB_NAME:-"oedb"}
|
||||
DB_USER=${DB_USER:-"postgres"}
|
||||
DB_HOST=${DB_HOST:-"localhost"}
|
||||
|
||||
# Function to check if a table exists
|
||||
check_table() {
|
||||
local table_name=$1
|
||||
echo "Checking if table '$table_name' exists..."
|
||||
|
||||
# Query to check if table exists
|
||||
result=$(PGPASSWORD="$POSTGRES_PASSWORD" psql -h $DB_HOST -U $DB_USER -d $DB_NAME -t -c "SELECT EXISTS (SELECT FROM information_schema.tables WHERE table_schema = 'public' AND table_name = '$table_name');")
|
||||
|
||||
# Trim whitespace
|
||||
result=$(echo $result | xargs)
|
||||
|
||||
if [ "$result" = "t" ]; then
|
||||
echo "✅ Table '$table_name' exists."
|
||||
return 0
|
||||
else
|
||||
echo "❌ Table '$table_name' does not exist!"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to check table structure
|
||||
check_table_columns() {
|
||||
local table_name=$1
|
||||
echo "Checking structure of table '$table_name'..."
|
||||
|
||||
# Get column information
|
||||
PGPASSWORD="$POSTGRES_PASSWORD" psql -h $DB_HOST -U $DB_USER -d $DB_NAME -c "SELECT column_name, data_type FROM information_schema.columns WHERE table_schema = 'public' AND table_name = '$table_name';"
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Successfully retrieved structure for table '$table_name'."
|
||||
return 0
|
||||
else
|
||||
echo "❌ Failed to retrieve structure for table '$table_name'!"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Check database connection
|
||||
echo "Connecting to PostgreSQL database '$DB_NAME' as user '$DB_USER'..."
|
||||
export PGPASSWORD="$POSTGRES_PASSWORD"
|
||||
if ! psql -h $DB_HOST -U $DB_USER -d $DB_NAME -c "SELECT 1" > /dev/null 2>&1; then
|
||||
echo "❌ Failed to connect to database. Please check your credentials and database status."
|
||||
exit 1
|
||||
fi
|
||||
echo "✅ Successfully connected to database."
|
||||
|
||||
# Check required tables
|
||||
tables=("events" "events_deleted" "geo")
|
||||
all_tables_exist=true
|
||||
|
||||
for table in "${tables[@]}"; do
|
||||
if ! check_table "$table"; then
|
||||
all_tables_exist=false
|
||||
fi
|
||||
done
|
||||
|
||||
# If all tables exist, check their structure
|
||||
if [ "$all_tables_exist" = true ]; then
|
||||
echo -e "\n--- Detailed Table Structure ---"
|
||||
for table in "${tables[@]}"; do
|
||||
echo -e "\n"
|
||||
check_table_columns "$table"
|
||||
done
|
||||
|
||||
echo -e "\n✅ All required tables exist in the database."
|
||||
else
|
||||
echo -e "\n❌ Some required tables are missing. Please run setup_db.sh to initialize the database."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check for indexes (optional but recommended)
|
||||
echo -e "\n--- Checking Indexes ---"
|
||||
PGPASSWORD="$POSTGRES_PASSWORD" psql -h $DB_HOST -U $DB_USER -d $DB_NAME -c "SELECT tablename, indexname FROM pg_indexes WHERE schemaname = 'public' AND tablename IN ('events', 'events_deleted', 'geo');"
|
||||
|
||||
echo -e "\n✅ Database tables check completed successfully."
|
||||
exit 0
|
201
create_mock_events.py
Executable file
201
create_mock_events.py
Executable file
|
@ -0,0 +1,201 @@
|
|||
#!/usr/bin/env python3
|
||||
# Script to create mock events in the database
|
||||
# Events will start slightly before the current date and end far in the future
|
||||
# Events will be of various types: traffic, nature, weather, sport, conference, party
|
||||
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import psycopg2
|
||||
import psycopg2.extras
|
||||
from datetime import datetime, timedelta
|
||||
import random
|
||||
|
||||
# Function to load environment variables from .env file
|
||||
def load_env_from_file():
|
||||
if os.path.exists('.env'):
|
||||
print("Loading environment variables from .env file...")
|
||||
with open('.env', 'r') as f:
|
||||
for line in f:
|
||||
line = line.strip()
|
||||
if line and not line.startswith('#'):
|
||||
key, value = line.split('=', 1)
|
||||
os.environ[key] = value
|
||||
|
||||
# Load environment variables from .env file
|
||||
load_env_from_file()
|
||||
|
||||
# Database connection parameters
|
||||
DB_NAME = os.getenv("DB_NAME", "oedb")
|
||||
DB_HOST = os.getenv("DB_HOST", "localhost")
|
||||
DB_USER = os.getenv("DB_USER", "postgres")
|
||||
DB_PASSWORD = os.getenv("POSTGRES_PASSWORD", "")
|
||||
|
||||
# Current date (2025-09-15 as specified in the issue)
|
||||
CURRENT_DATE = datetime(2025, 9, 15, 23, 0)
|
||||
|
||||
# Event types
|
||||
EVENT_TYPES = ["scheduled", "forecast", "unscheduled"]
|
||||
|
||||
# Event categories (what)
|
||||
EVENT_CATEGORIES = ["traffic", "nature", "weather", "sport", "conference", "party"]
|
||||
|
||||
# Sample locations (Paris, Lyon, Marseille, Toulouse, Bordeaux, Lille)
|
||||
SAMPLE_LOCATIONS = [
|
||||
{"name": "Paris", "lon": 2.3522, "lat": 48.8566},
|
||||
{"name": "Lyon", "lon": 4.8357, "lat": 45.7640},
|
||||
{"name": "Marseille", "lon": 5.3698, "lat": 43.2965},
|
||||
{"name": "Toulouse", "lon": 1.4442, "lat": 43.6047},
|
||||
{"name": "Bordeaux", "lon": -0.5792, "lat": 44.8378},
|
||||
{"name": "Lille", "lon": 3.0573, "lat": 50.6292}
|
||||
]
|
||||
|
||||
# Connect to the database
|
||||
def db_connect():
|
||||
return psycopg2.connect(
|
||||
dbname=DB_NAME,
|
||||
host=DB_HOST,
|
||||
user=DB_USER,
|
||||
password=DB_PASSWORD
|
||||
)
|
||||
|
||||
# Create a point geometry
|
||||
def create_point_geometry(lon, lat):
|
||||
return {
|
||||
"type": "Point",
|
||||
"coordinates": [lon, lat]
|
||||
}
|
||||
|
||||
# Insert geometry into geo table and return its hash
|
||||
def insert_geometry(cur, geometry):
|
||||
geometry_json = json.dumps(geometry)
|
||||
|
||||
# First, calculate the hash
|
||||
cur.execute("""
|
||||
SELECT md5(st_astext(geom)), st_astext(geom)
|
||||
FROM (SELECT st_setsrid(st_geomfromgeojson(%s),4326) as geom) as g;
|
||||
""", (geometry_json,))
|
||||
|
||||
hash_result = cur.fetchone()
|
||||
if not hash_result:
|
||||
raise Exception("Failed to calculate geometry hash")
|
||||
|
||||
geo_hash = hash_result[0]
|
||||
geo_text = hash_result[1]
|
||||
|
||||
# Check if this hash already exists in the geo table
|
||||
cur.execute("SELECT 1 FROM geo WHERE hash = %s", (geo_hash,))
|
||||
exists = cur.fetchone()
|
||||
|
||||
if not exists:
|
||||
# Insert the geometry if it doesn't exist
|
||||
cur.execute("""
|
||||
INSERT INTO geo (geom, hash, geom_center)
|
||||
VALUES (
|
||||
ST_SetSRID(ST_GeomFromText(%s), 4326),
|
||||
%s,
|
||||
ST_Centroid(ST_SetSRID(ST_GeomFromText(%s), 4326))
|
||||
);
|
||||
""", (geo_text, geo_hash, geo_text))
|
||||
|
||||
return geo_hash
|
||||
|
||||
# Create a mock event
|
||||
def create_mock_event(cur, category, location, event_type):
|
||||
# Generate random start date slightly before current date (0-7 days)
|
||||
days_before = random.randint(0, 7)
|
||||
start_date = CURRENT_DATE - timedelta(days=days_before)
|
||||
|
||||
# Generate random end date far in the future (30-365 days from now)
|
||||
days_after = random.randint(30, 365)
|
||||
end_date = CURRENT_DATE + timedelta(days=days_after)
|
||||
|
||||
# Format dates as ISO strings
|
||||
start_date_str = start_date.isoformat()
|
||||
end_date_str = end_date.isoformat()
|
||||
|
||||
# Create geometry
|
||||
geometry = create_point_geometry(location["lon"], location["lat"])
|
||||
|
||||
# Insert geometry and get hash
|
||||
geo_hash = insert_geometry(cur, geometry)
|
||||
|
||||
# Create event tags (properties)
|
||||
tags = {
|
||||
"name": f"{category.capitalize()} event in {location['name']}",
|
||||
"description": f"Mock {category} event for testing",
|
||||
"location": location["name"],
|
||||
"start": start_date_str,
|
||||
"stop": end_date_str
|
||||
}
|
||||
|
||||
# Insert event
|
||||
cur.execute("""
|
||||
INSERT INTO events (
|
||||
events_type, events_what, events_when, events_tags, events_geo
|
||||
) VALUES (
|
||||
%s, %s, tstzrange(%s, %s, '[)'), %s, %s
|
||||
) ON CONFLICT DO NOTHING RETURNING events_id;
|
||||
""", (
|
||||
event_type,
|
||||
category,
|
||||
start_date_str,
|
||||
end_date_str,
|
||||
json.dumps(tags),
|
||||
geo_hash
|
||||
))
|
||||
|
||||
result = cur.fetchone()
|
||||
return result[0] if result else None
|
||||
|
||||
def main():
|
||||
print("Creating mock events...")
|
||||
|
||||
try:
|
||||
# Connect to the database
|
||||
conn = db_connect()
|
||||
cur = conn.cursor()
|
||||
|
||||
# Create events for each category
|
||||
created_events = []
|
||||
|
||||
for category in EVENT_CATEGORIES:
|
||||
print(f"Creating events for category: {category}")
|
||||
|
||||
# Create 3 events for each category (one in each city)
|
||||
for i in range(3):
|
||||
location = random.choice(SAMPLE_LOCATIONS)
|
||||
event_type = random.choice(EVENT_TYPES)
|
||||
|
||||
event_id = create_mock_event(cur, category, location, event_type)
|
||||
if event_id:
|
||||
created_events.append({
|
||||
"id": event_id,
|
||||
"category": category,
|
||||
"location": location["name"],
|
||||
"type": event_type
|
||||
})
|
||||
print(f" Created {category} event in {location['name']} with ID: {event_id}")
|
||||
else:
|
||||
print(f" Failed to create {category} event in {location['name']}")
|
||||
|
||||
# Commit the transaction
|
||||
conn.commit()
|
||||
|
||||
print(f"\nSuccessfully created {len(created_events)} mock events:")
|
||||
for event in created_events:
|
||||
print(f" - {event['category']} event in {event['location']} (ID: {event['id']})")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error: {e}")
|
||||
if 'conn' in locals():
|
||||
conn.rollback()
|
||||
sys.exit(1)
|
||||
finally:
|
||||
if 'cur' in locals():
|
||||
cur.close()
|
||||
if 'conn' in locals():
|
||||
conn.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
489
data/calendrierv3.csv
Normal file
489
data/calendrierv3.csv
Normal file
|
@ -0,0 +1,489 @@
|
|||
Date,Validation,CN,Nom,Lieu,Département,Manifestation,Groupe,Spécialité,Epreuve,Code Organisateur,Nom Organisateur,Arbitre,Arbitre stagiaire,Contrôleur,Délégué,Contact,Tel,E-mail,Site web,Observations,latitude,longitude,result_label,result_score,result_type,result_id,result_housenumber,result_name,result_street,result_postcode,result_city,result_context,result_citycode
|
||||
22/04/2019,OK,Non,Etape du challenge Ardeche de course d'orientation,Plateau des Gras (commune de balazuc),7,Départementale Moyenne Distance,Départemental,Pédestre,MD,7,Ardèche,,,,,pardoen Toma,607966486,evenements@cdco07.fr,http://cdco07.fr/,,,,,,,,,,,,,,
|
||||
22/04/2019,Course annulée,Oui,Régionale Moyenne Distance,Les Portes-en-Ré,17,Régionale Moyenne Distance,Régional,Pédestre,MD,1705,CHARENTE-MARITIME ORIENTATION,,,,,Annulation Courses,07.81.02.90.23,patrick.robin1@free.fr,http://www.club-co17.com/,Annulation Courses sur Ré interdiction ONF,46.249937,-1.498715,Les Portes-en-Ré,0.92,municipality,17286,,Les Portes-en-Ré,,17880,Les Portes-en-Ré,"17, Charente-Maritime, Nouvelle-Aquitaine (Poitou-Charentes)",17286
|
||||
22/04/2019,OK,Oui,"3 Jours de Pâques en Alsace - Etape 3, Longue Distance",Malsaucy,90,Manifestation Internationale Longue Distance,National,Pédestre,LD,6803,CLUB D'ORIENTATION DE MULHOUSE,DODIN Yves (4391),,HABERKORN Bruno (2715),LEMERCIER Bernard (1178),Mathieu Harnist,06 99 69 21 31,mathieu@harnist.com,http://3j2019.comulhouse.fr/,En partenariat avec le RAMBO,47.682174,6.79744,Rue du Malsaucy 90350 Évette-Salbert,0.46,street,90042_0035_a5c1d6,,Rue du Malsaucy,,90350,Évette-Salbert,"90, Territoire de Belfort, Bourgogne-Franche-Comté (Franche-Comté)",90042
|
||||
22/04/2019,OK,Non,Départementale Longue Distance,Pays Grassois,6,Départementale Longue Distance,Départemental,Pédestre,LD,615,VALBONNE SOPHIA ANTIPOLIS ORIENTATION,,,,,,,contact@vsaorientation.com,http://vsaorientation.com/,,44.044789,1.331334,Bas Pays 82000 Montauban,0.34,street,82121_B033_eb61ca,,Bas Pays,,82000,Montauban,"82, Tarn-et-Garonne, Occitanie (Midi-Pyrénées)",82121
|
||||
27/04/2019,OK,Non,INFERNOU,BRUNIQUEL,82,Raid Orientation (hors CF),Départemental,Raid Orientation,Raid,8105,BALISE ORIENTATION ALBIGEOISE,,,,,Christian ESCUDIE,670069289,escudie.c81@gmail.com,http://infernou2013.wixsite.com/infernou2015,"Les samedi 27 et dimanche 28 avril.
|
||||
Course au score avec plusieurs formats.
|
||||
Maximum 100 balises en 24h. (DUO ou SOLO)
|
||||
les autres formats : en duo ou SOLO 12h,
|
||||
en SOLO 6h, 3h, 1h30
|
||||
",44.055459,1.664576,Bruniquel,0.92,municipality,82026,,Bruniquel,,82800,Bruniquel,"82, Tarn-et-Garonne, Occitanie (Midi-Pyrénées)",82026
|
||||
27/04/2019,OK,Non,ESPAD O'tour,,28,Départementale Sprint,Départemental,Pédestre,Sprint,2801,ENTENTE SPORTIVE DES POMPIERS DE L'AGGLOMERATION DROUAISE,,,,,,,,http://www.espad.info/,,,,,,,,,,,,,,
|
||||
27/04/2019,OK,Non,ESPAD O'tour,,28,Départementale de Nuit,Départemental,Pédestre,Nuit,2801,ENTENTE SPORTIVE DES POMPIERS DE L'AGGLOMERATION DROUAISE,,,,,Hugo HEULINE,681006477,heuline.h@club-internet.fr,http://www.espad.info/,,,,,,,,,,,,,,
|
||||
27/04/2019,OK,Oui,Vulcan'O - MD,Cheires de Côme,63,Régionale Moyenne Distance,Régional,Pédestre,MD,6307,BALISE 63,JAGLE Jean-Marc (3512),,DEROBERT-MAZURE Jean-Charles (11719),JAGLE Jean-Marc (3512),Guillaume Roche,06.62.84.53.43,balise63.co@gmail.com,http://balise63.fr/,,45.806207,2.91844,Cheire de Come 63230 Saint-Ours,0.73,street,63381_B144_1e708a,,Cheire de Come,,63230,Saint-Ours,"63, Puy-de-Dôme, Auvergne-Rhône-Alpes (Auvergne)",63381
|
||||
27/04/2019,Course annulée,Oui,Régionale CO à VTT Moyenne Distance,Cestas,33,Régionale CO à VTT Moyenne Distance,Régional,VTT,MD,3308,SPORT ATHLETIQUE DE GAZINET-CESTAS,PARZYCH Mickael (955),,,PARZYCH Mickael (955),Pierrick PETIT,641678980,pierrick.petit@bbox.fr,http://www.sagc-orientation.fr/,COURSE ANNULÉE,44.744167,-0.682523,Cestas,0.92,municipality,33122,,Cestas,,33610,Cestas,"33, Gironde, Nouvelle-Aquitaine (Aquitaine)",33122
|
||||
27/04/2019,Course annulée,Non,Manche de la Coupe de France de Raid Orientation - Raid Azur en Pays de Fayence,Montauroux (83),83,Championnat de France de Raid Orientation,National,Raid Orientation,Raid,83,Var,SAVORNIN Mireille (2905),,,,Georges DELI - Raphael PHAM,04 94 36 13 14,raphael.pham@cdco83.fr,http://www.raidazur.paca-co.fr/,"Ce raid azur, organisé sur deux jours avec un bivouac imposé sera couru sous format course aux scores. On a tenu compte de vos observations du raid 2018 et cela sera en grande partie sur une carte de course d'orientation.",43.617729,6.765166,Montauroux,0.69,municipality,83081,,Montauroux,,83440,Montauroux,"83, Var, Provence-Alpes-Côte d'Azur",83081
|
||||
28/04/2019,OK,Non,raid bol d'air ex fragles rocs ,venerieu,38,Raid Multisport Long,Départemental,Raid Multisport,Raid,3812,BOL D'AIR,,,,,,,,https://boldairappn.wixsite.com/boldair,,45.65844,5.277091,Vénérieu,0.92,municipality,38532,,Vénérieu,,38460,Vénérieu,"38, Isère, Auvergne-Rhône-Alpes (Rhône-Alpes)",38532
|
||||
28/04/2019,OK,Oui,Régionale Longue Distance,Balleroy - Monfiquet,14,Régionale Longue Distance,Régional,Pédestre,LD,1403,ORIENTATION CAENNAISE,MOISSERON Eric (16628),,COMPERE Laurent (2928),,,,,http://www.orientationcaennaise.fr/,,49.18593,-0.842462,Rue du Moulin (Balleroy) 14490 Balleroy-sur-Drôme,0.37,street,14035_B105_2b7388,,Rue du Moulin (Balleroy),,14490,Balleroy-sur-Drôme,"14, Calvados, Normandie (Basse-Normandie)",14035
|
||||
28/04/2019,OK,Non,ESPAD O'tour,,28,Départementale au score,Départemental,Pédestre,Score,2801,ENTENTE SPORTIVE DES POMPIERS DE L'AGGLOMERATION DROUAISE,,,,,Hugo HEULINE,681006477,heuline.h@club-internet.fr,http://www.espad.info/,,,,,,,,,,,,,,
|
||||
28/04/2019,OK,Oui,Championnat de Ligue Longue Distance,Salives,21,Championnat de Ligue Longue Distance,Régional,Pédestre,LD,2101,ASS. BOURGUIGNONNE DE COURSE D'ORIENTATION,LALEVEE Jean-Charles (3134),,ENARD Yves (2666),LALEVEE Jean-Charles (3134),Denis PERDRIZET,,denis.perdrizet@orange.fr,https://abcodijon.wixsite.com/coursedorientation,,47.615926,4.918452,Salives,0.92,municipality,21579,,Salives,,21580,Salives,"21, Côte-d'Or, Bourgogne-Franche-Comté (Bourgogne)",21579
|
||||
28/04/2019,OK,Oui,Vulcan'O - LD,Col de Ceyssat,63,Régionale Longue Distance,Régional,Pédestre,LD,6307,BALISE 63,JAGLE Jean-Marc (3512),,GAILLARD David (17180),JAGLE Jean-Marc (3512),Guillaume Roche,06.62.84.53.43,balise63.co@gmail.com,http://balise63.fr/,,45.763922,2.955934,Col de Ceyssat 63870 Orcines,0.91,street,63263_B254_5cda6f,,Col de Ceyssat,,63870,Orcines,"63, Puy-de-Dôme, Auvergne-Rhône-Alpes (Auvergne)",63263
|
||||
28/04/2019,OK,Oui,Régionale Sprint,Kaysersberg,68,Régionale Sprint,Régional,Pédestre,Sprint,6804,CLUB D'ORIENTATION DE COLMAR,CARU Yves (1558),,RENAUD Bernard (10998),CARU Yves (1558),Yann Reich,,reichyann@orange.fr,http://www.cocolmar.fr/,Sprint en ville.,48.562769,7.764635,Rue de Kaysersberg 67100 Strasbourg,0.56,street,67482_3630_e5ddd1,,Rue de Kaysersberg,,67100,Strasbourg,"67, Bas-Rhin, Grand-Est (Alsace)",67482
|
||||
28/04/2019,OK,Oui,Régionale Moyenne Distance,Kaysersberg,68,Régionale Moyenne Distance,Régional,Pédestre,MD,6804,CLUB D'ORIENTATION DE COLMAR,CARU Yves (1558),,RENAUD Bernard (10998),CARU Yves (1558),Yann Reich,,reichyann@orange.fr,http://www.cocolmar.fr/,,48.562769,7.764635,Rue de Kaysersberg 67100 Strasbourg,0.56,street,67482_3630_e5ddd1,,Rue de Kaysersberg,,67100,Strasbourg,"67, Bas-Rhin, Grand-Est (Alsace)",67482
|
||||
28/04/2019,OK,Oui,Championnat de Ligue Longue Distance,Forêt de Floranges - ¨Partie Sud,56,Championnat de Ligue Longue Distance,Régional,Pédestre,LD,5609,COURSE D'ORIENTATION EN PAYS DE VANNES,JEQUEL Yann (3086),,POEDRAS Daniel (10669),,Jérôme HUCTIN,,co.vannes56@gmail.com,https://co-vannes.jimdo.com/,Annonce de course mise à jour le 16 avril 2019.,46.449273,3.080812,Forêt de Perogne Partie No 03240 Tronget,0.36,street,03292_B054_6573b9,,Forêt de Perogne Partie No,,03240,Tronget,"03, Allier, Auvergne-Rhône-Alpes (Auvergne)",03292
|
||||
28/04/2019,OK,Oui,Régionale Longue Distance,Forêt d'Ohlain,62,Régionale Longue Distance,Régional,Pédestre,LD,6203,ARTOIS RAND'ORIENTATION 62,,,,,Philippe Janquin,659081518,philipefraniju@gmail.com,https://sites.google.com/site/artoisrandorientation62/home,,48.446406,-2.851074,Impasse de la Forêt 22800 Plaine-Haute,0.24,street,22170_XXXX_71e26d,,Impasse de la Forêt,,22800,Plaine-Haute,"22, Côtes-d'Armor, Bretagne",22170
|
||||
28/04/2019,Course reportée au 26/05/2019,Oui,Régionale Moyenne Distance,Carcans plage nord,33,Régionale Moyenne Distance,Régional,Pédestre,MD,3308,SPORT ATHLETIQUE DE GAZINET-CESTAS,DESQUEYROUX Michael (4022),,,DESQUEYROUX Michael (4022),Pierrick PETIT,641678980,pierrick.petit@bbox.fr,http://www.sagc-orientation.fr/,"COURSE REPORTÉE
|
||||
NOUVEAU LIEU = Carcans Plage Nord (33)
|
||||
NOUVELLE DATE = 26/05/2019",45.082149,-1.189653,Carcans Plage 33121 Carcans,0.64,street,33097_B026_4a8468,,Carcans Plage,,33121,Carcans,"33, Gironde, Nouvelle-Aquitaine (Aquitaine)",33097
|
||||
28/04/2019,OK,Non,O'83 - ,MONTAUROUX,83,Départementale Ultra Longue Distance,Départemental,Pédestre,,83,Var,,,,,CDCO83 - 133 bld Général Brosset - 83200 TOULON,494361314,president@cdco83.fr,http://cdco83.fr/,"Lors du WE du Raid Azur, la O'83 est une course aux score
|
||||
à réaliser en 4h pour 83 postes,3 ou 2 heures selon la catégorie.",43.617729,6.765166,Montauroux,0.92,municipality,83081,,Montauroux,,83440,Montauroux,"83, Var, Provence-Alpes-Côte d'Azur",83081
|
||||
28/04/2019,OK,Non,Rand'Orientation,Villers Les Nancy (Clairlieu),54,Rand'Orientation,Départemental,Pédestre,,5402,SCAPA NANCY ORIENTATION,,,,,POGU Philippe,612941412,p.pogu@free.fr,http://www.meurthe-et-moselle.ffcorientation.fr/cdco-54/,"2 circuits pédestre
|
||||
1 circuit VTT ",48.659376,6.114358,Route de Clairlieu 54600 Villers-lès-Nancy,0.66,locality,54578_XXXX_2c5f49,,Route de Clairlieu,,54600,Villers-lès-Nancy,"54, Meurthe-et-Moselle, Grand-Est (Lorraine)",54578
|
||||
28/04/2019,OK,Non,INFERNOU,BRUNIQUEL,82,Raid Orientation (hors CF),Départemental,Raid Orientation,Raid,8105,BALISE ORIENTATION ALBIGEOISE,,,,,ESCUDIE Christian,670069289,escudie.c81@gmail.com,http://infernou2013.wixsite.com/infernou2015,"Les samedi 27 et dimanche 28 avril.
|
||||
Course au score avec plusieurs formats.
|
||||
Maximum 100 balises en 24h. (DUO ou SOLO)
|
||||
les autres formats : en duo ou SOLO 12h,
|
||||
en SOLO 6h, 3h, 1h30
|
||||
",44.055459,1.664576,Bruniquel,0.92,municipality,82026,,Bruniquel,,82800,Bruniquel,"82, Tarn-et-Garonne, Occitanie (Midi-Pyrénées)",82026
|
||||
01/05/2019,OK,Oui,Régionale Moyenne Distance,Martinpré-Noyemont,88,Régionale Moyenne Distance,Régional,Pédestre,MD,88,Vosges,VOGT Claude (2558),MARCHAL Gregory (6812),SCHWARTZ Pierre (2395),VOGT Claude (2558),françois Luthringer,688138908,cdco.vosges@gmail.com,http://www.cfc2019.fr/,,48.593507,6.849967,Chemin Martimpre 54450 Blâmont,0.4,street,54077_XXXX_c16b88,,Chemin Martimpre,,54450,Blâmont,"54, Meurthe-et-Moselle, Grand-Est (Lorraine)",54077
|
||||
01/05/2019,OK,Non,challenge des familles,Noyon - Mont Saint Siméon,60,Départementale pédestre (autre),Départemental,Pédestre,,6008,NOYON COURSE D'ORIENTATION,,,,,Myriam Cordeiro Mendes,06 15 78 51 61,bureau-noyon.co@orange.fr,https://challenge-des-familles.adeorun.com/,"Courses au score
|
||||
Proposition de circuits type CAPEPS pour entrainements des étudiants préparant le concours",49.582562,3.020511,Boulevard du Mont Saint-Siméon 60400 Noyon,0.59,street,60471_XXXX_5e058e,,Boulevard du Mont Saint-Siméon,,60400,Noyon,"60, Oise, Hauts-de-France (Picardie)",60471
|
||||
01/05/2019,OK,Oui,Provence Orientation,"La Tour d'Arbois, Aix en Provence",13,Régionale Longue Distance,Régional,Pédestre,LD,13,Bouches-du-Rhône,BENEVELLO Olivier (1124),,,,Pierre Delenne,,pierre.delenne@free.fr,,,43.501693,5.328138,Route de la Tour d'Arbois 13290 Aix-en-Provence,0.73,street,13001_XXXX_03446a,,Route de la Tour d'Arbois,,13290,Aix-en-Provence,"13, Bouches-du-Rhône, Provence-Alpes-Côte d'Azur",13001
|
||||
01/05/2019,Course reportée au 08/05/2019,Non,Anim'O,Champdieu,42,Animation,Départemental,Pédestre,,4204,BOUSSOLE EN FOREZ,,,,,,,,,,45.644194,4.045049,Champdieu,0.92,municipality,42046,,Champdieu,,42600,Champdieu,"42, Loire, Auvergne-Rhône-Alpes (Rhône-Alpes)",42046
|
||||
01/05/2019,OK,Non,Rand'O du Printemps,Saint Pierre de Chandieu,69,Rand'Orientation,Départemental,Pédestre,,6906,AMICALE LAIQUE DE COURSE D'ORIENTATION DE ST PRIEST,,,,,,,alco69@free.fr,http://alco69.fr/,,45.645428,5.014556,Saint-Pierre-de-Chandieu,0.92,municipality,69289,,Saint-Pierre-de-Chandieu,,69780,Saint-Pierre-de-Chandieu,"69, Rhône, Auvergne-Rhône-Alpes (Rhône-Alpes)",69289
|
||||
01/05/2019,OK,Non,Céz'O 100,Campus des Cézeaux - Clermont-Ferrand,63,Départementale Sprint,Départemental,Pédestre,Sprint,6315,XTTRAID63,,,,,Stéphane LESTRADE,613017639,xttr63.lemontdore@gmail.com,http://xttr63.com/,,45.759959,3.101755,Rue des Cezeaux 63000 Clermont-Ferrand,0.72,street,63113_XXXX_5430c9,,Rue des Cezeaux,,63000,Clermont-Ferrand,"63, Puy-de-Dôme, Auvergne-Rhône-Alpes (Auvergne)",63113
|
||||
01/05/2019,OK,Non,Mass start + sprint,Dun les Places,58,Départementale CO à VTT (autre),Départemental,VTT,,5803,NIEVRE ORIENTATION RAID DECOUVERTE,,,,,Julien.Bialou,688734909,julien.bialou@laposte.net,http://nord58.z-espaceweb.com/,,47.28518,4.014775,Dun-les-Places,0.92,municipality,58106,,Dun-les-Places,,58230,Dun-les-Places,"58, Nièvre, Bourgogne-Franche-Comté (Bourgogne)",58106
|
||||
04/05/2019,OK,Oui,Championnat de France Moyenne Distance (WRE),Gérardmer,88,Championnat de France Moyenne Distance Toutes Catégories,National,Pédestre,MD,8809,HAUTES-VOSGES ORIENTATION,THOMASSIN Fabrice (2499),PIGEON Eric (16630),DOTT Pascal (22846),MORTELLIER Bernard (2282),françois Luthringer,688138908,contact.cfc2019@gmail.com,http://www.cfc2019.fr/,IOF Event Adviser : MORTELLIER Bernard,48.071864,6.877847,Gérardmer,0.94,municipality,88196,,Gérardmer,,88400,Gérardmer,"88, Vosges, Grand-Est (Lorraine)",88196
|
||||
04/05/2019,OK,Non,Challenge départemental Oxurit,à définir,66,Départementale au score,Départemental,Pédestre,Score,6604,CLUB D'ORIENTATION TOUT ESPOIR 66,,,,,Cote66,682330626,clubcote66@gmail.com,http://www.cote66.fr/,,44.583856,-0.076965,À Trufin 33190 La Réole,0.23,street,33352_B089_03404d,,À Trufin,,33190,La Réole,"33, Gironde, Nouvelle-Aquitaine (Aquitaine)",33352
|
||||
04/05/2019,OK,Oui,Régionale Moyenne Distance,Gérardmer,88,Régionale Moyenne Distance,Régional,Pédestre,MD,8809,HAUTES-VOSGES ORIENTATION,,,,,,,,https://www.cfc2019.fr/,MD open ouvertes aux coureurs non-qualifiés pour le CFMD,48.071864,6.877847,Gérardmer,0.94,municipality,88196,,Gérardmer,,88400,Gérardmer,"88, Vosges, Grand-Est (Lorraine)",88196
|
||||
05/05/2019,OK,Non,Championnat de France des Clubs,Gérardmer,88,Championnat de France des Clubs,National,Pédestre,Relais,8809,HAUTES-VOSGES ORIENTATION,DAMIE Nicolas (8951),,DOTT Pascal (22846),MORTELLIER Bernard (2282),françois Luthringer,688138908,contact.cfc2019@gmail.com,http://www.cfc2019.fr/,,48.071864,6.877847,Gérardmer,0.94,municipality,88196,,Gérardmer,,88400,Gérardmer,"88, Vosges, Grand-Est (Lorraine)",88196
|
||||
05/05/2019,OK,Non,CO DES CACASDES,ROMAGNY,50,Animation,Départemental,Pédestre,,5003,AVENIR ATHLETISME DE MORTAIN,,,,,Delphine Péan-Louvel,06.26.42.82.76,delfin4g@gmail.com,,"Entrainement / Initiation, organisé par l'Avenir de Mortain dans le cadre de l'organisation du Trail des Cascades
|
||||
RDV à partir de 11h au Stade de Romagny
|
||||
3 niveaux de course (vert - bleu et orange)
|
||||
Licenciés FFCO : gratuit
|
||||
Non-licenciés : participation de 5 €
|
||||
Inscription par mail ",47.608632,7.065403,Romagny,0.92,municipality,68282,,Romagny,,68210,Romagny,"68, Haut-Rhin, Grand-Est (Alsace)",68282
|
||||
08/05/2019,OK,Non,Pays Aix Orientation Tour - Etape n°1,,13,Départementale pédestre (autre),Départemental,Pédestre,,1307,ATHLETIC CLUB AURELIEN,,,,,,,,http://ac.aurelien.free.fr/,,,,,,,,,,,,,,
|
||||
08/05/2019,OK,Non,Ain Tour de CO,Aranc,1,Départementale Moyenne Distance,Départemental,Pédestre,MD,109,O'BUGEY,,,,,,,,,,46.003986,5.508584,Aranc,0.92,municipality,01012,,Aranc,,01110,Aranc,"01, Ain, Auvergne-Rhône-Alpes (Rhône-Alpes)",01012
|
||||
08/05/2019,OK,Non,Challenge Poitiers CO - 3°étape,Ligugé - Domaine de Givray,86,Départementale pédestre (autre),Départemental,Pédestre,,8607,POITIERS COURSE D'ORIENTATION,,,,,Adrien Biron,,contact@poitiersco.org,https://www.poitiersco.org/,,46.532667,0.33425,Domaine de Givray 86240 Ligugé,0.76,locality,86133_XXXX_fb0114,,Domaine de Givray,,86240,Ligugé,"86, Vienne, Nouvelle-Aquitaine (Poitou-Charentes)",86133
|
||||
08/05/2019,OK,Non,Raid des coteaux,Mauvezin,32,Raid Multisport Long,Départemental,Raid Multisport,Raid,3203,CLUB ORIENTATION MAUVEZIN,,,,,jl blein,05 62 06 81 43,jl.blein@free.fr,http://veloclubmauvezinois.e-monsite.com/,"Raid multisport - 3 circuits
|
||||
Facebook : raiddescoteaux",43.729744,0.877801,Mauvezin,0.94,municipality,32249,,Mauvezin,,32120,Mauvezin,"32, Gers, Occitanie (Midi-Pyrénées)",32249
|
||||
08/05/2019,OK,Non,Anim'O,Champdieu,42,Animation,Départemental,Pédestre,,4204,BOUSSOLE EN FOREZ,,,,,,,,,,45.644194,4.045049,Champdieu,0.92,municipality,42046,,Champdieu,,42600,Champdieu,"42, Loire, Auvergne-Rhône-Alpes (Rhône-Alpes)",42046
|
||||
11/05/2019,OK,Oui,Revole des Chirats - MD,Saint-Genest-Malifaux (Bois Ternay),42,Régionale Moyenne Distance,Régional,Pédestre,MD,4203,ORIENT'EXPRESS 42,GENNARO Beatrice (20862),BAUDOT Rémi (16372),GARDE Yoann (817),GENNARO Beatrice (20862),,,,http://oe42.fr/,,45.341968,4.416097,Rue du Bois Ternay 42660 Saint-Genest-Malifaux,0.74,street,42224_0009_819fdd,,Rue du Bois Ternay,,42660,Saint-Genest-Malifaux,"42, Loire, Auvergne-Rhône-Alpes (Rhône-Alpes)",42224
|
||||
11/05/2019,OK,Non,3ème Raid des Saint-Aubinois,Saint-Aubin-de-Médoc,33,Raid Multisport Court,Départemental,Raid Multisport,Raid,3318,ASSOCIATION SPORTIVE DE MARTIGNAS,,,,,HERVE Cyril,614280594,cherve88@gmail.com,http://asmartignas-orientation.org/,,44.911245,-0.726476,Saint-Aubin-de-Médoc,0.92,municipality,33376,,Saint-Aubin-de-Médoc,,33160,Saint-Aubin-de-Médoc,"33, Gironde, Nouvelle-Aquitaine (Aquitaine)",33376
|
||||
11/05/2019,OK,Oui,Régionale Sprint,Egletons,19,Régionale Sprint,Régional,Pédestre,Sprint,1905,BRIVE CORREZE COURSE D'ORIENTATION,BOYER Bernard (2294),,LEDUC Jean-Christophe (16631),BOYER Bernard (2294),BRUNO MARCHEGAY,607308207,marchegaybruno@gmail.com,http://www.correze-co.fr/,"Sprint à partir de 14h00
|
||||
MD à partir de 15h30",45.406353,2.045074,Égletons,0.94,municipality,19073,,Égletons,,19300,Égletons,"19, Corrèze, Nouvelle-Aquitaine (Limousin)",19073
|
||||
11/05/2019,OK,Oui,Régionale Moyenne Distance,Egletons - Lac,19,Régionale Moyenne Distance,Régional,Pédestre,MD,1905,BRIVE CORREZE COURSE D'ORIENTATION,BOYER Bernard (2294),,LEDUC Jean-Christophe (16631),BOYER Bernard (2294),BRUNO MARCHEGAY,607308207,marchegaybruno@gmail.com,http://www.correze-co.fr/,"Sprint à partir de 14h00
|
||||
MD à partir de 15h30",45.362776,1.971506,Le Lac 19300 Rosiers-d'Égletons,0.42,locality,19176_XXXX_a3f00f,,Le Lac,,19300,Rosiers-d'Égletons,"19, Corrèze, Nouvelle-Aquitaine (Limousin)",19176
|
||||
11/05/2019,OK,Non,Coupe du Jura,Prémanon,39,Départementale Longue Distance,Départemental,Pédestre,LD,3913,ORIENTATION HAUT-JURA,,,,,,,gilles.dannecker@gmail.com,,,46.461624,6.030307,Prémanon,0.92,municipality,39441,,Prémanon,,39220,Prémanon,"39, Jura, Bourgogne-Franche-Comté (Franche-Comté)",39441
|
||||
11/05/2019,OK,Non,Défi sioule et vieux cépages,Commune de chareil cintrat fleuriel montord fourilles etroussat,3,Raid Multisport Court,Départemental,Raid Multisport,Raid,308,CHANTELLE SPORTS NATURE,,,,,fABRICE SIRET,671911150,avc.chantelle@gmail.Com,http://www.chantellesportsnature.com/,,46.262202,3.201797,Route de Fourilles 03140 Chareil-Cintrat,0.44,street,03059_XXXX_9d3ff4,,Route de Fourilles,,03140,Chareil-Cintrat,"03, Allier, Auvergne-Rhône-Alpes (Auvergne)",03059
|
||||
11/05/2019,OK,Non,et challenge jeune départemental,DEYVILLERS,88,Départementale Longue Distance,Départemental,Pédestre,LD,8807,LOISIR ORIENTATION SANCHEY,,,JOLY Cyril (2489),,Dominique ETIENNE,685629114,etiendom@yahoo.fr,,,48.201315,6.512775,Deyvillers,0.92,municipality,88132,,Deyvillers,,88000,Deyvillers,"88, Vosges, Grand-Est (Lorraine)",88132
|
||||
12/05/2019,OK,Oui,Revole des Chirats - LD,Saint-Genest-Malifaux (Mont-Chaussitre),42,Régionale Longue Distance,Régional,Pédestre,LD,4203,ORIENT'EXPRESS 42,GENNARO Beatrice (20862),LESQUER David (21010),GARDE Yoann (817),GENNARO Beatrice (20862),,,,http://oe42.fr/,,45.339302,4.418577,Saint-Genest-Malifaux,0.52,municipality,42224,,Saint-Genest-Malifaux,,42660,Saint-Genest-Malifaux,"42, Loire, Auvergne-Rhône-Alpes (Rhône-Alpes)",42224
|
||||
12/05/2019,OK,Non,CHAMPIONNAT REGIONAL DES CLUBS,ETRECHY,91,Championnat de Ligue de Relais,Régional,Pédestre,Relais,9105,CLUB ORIENTATION LOISIR ETRECHY,TAISSON Sandrine (21220),,,,Alain ROULLEAUX,,alain.roulleaux@free.fr,http://cole91.fr/,,48.492797,2.190631,Étréchy,0.94,municipality,91226,,Étréchy,,91580,Étréchy,"91, Essonne, Île-de-France",91226
|
||||
12/05/2019,OK,Oui,Championnat de Ligue CO à VTT Sprint,Avallon,89,Championnat de Ligue CO à VTT Sprint,Régional,VTT,Sprint,8904,CLUB AVALLONNAIS RANDONNEE TRAIL ORIENTATION,,,COMMARET Alain (25025),,Nathalie Berrué,684869610,carto8904@laposte.net,,,47.489531,3.907084,Avallon,0.96,municipality,89025,,Avallon,,89200,Avallon,"89, Yonne, Bourgogne-Franche-Comté (Bourgogne)",89025
|
||||
12/05/2019,OK,Oui,Régionale CO à VTT Moyenne Distance,Avallon,89,Régionale CO à VTT Moyenne Distance,Régional,VTT,MD,8904,CLUB AVALLONNAIS RANDONNEE TRAIL ORIENTATION,,,COMMARET Alain (25025),,Nathalie Berrué,684869610,carto8904@laposte.net,,,47.489531,3.907084,Avallon,0.96,municipality,89025,,Avallon,,89200,Avallon,"89, Yonne, Bourgogne-Franche-Comté (Bourgogne)",89025
|
||||
12/05/2019,OK,Oui,Régionale Longue Distance,Montagne de Reims,51,Régionale Longue Distance,Régional,Pédestre,LD,5101,EPERNAY NATURE ET SPORT,BLUM Virginie (12646),,LEMERCIER Mathieu (2475),BLUM Virginie (12646),DUMONT-GOSSET Bernadette,06 84 92 40 26,ens5101@wanadoo.fr,http://epernayns.free.fr/,,49.133886,4.358604,Rue de la Montagne de Reims 51400 Mourmelon-le-Grand,0.56,street,51388_XXXX_d544cc,,Rue de la Montagne de Reims,,51400,Mourmelon-le-Grand,"51, Marne, Grand-Est (Champagne-Ardenne)",51388
|
||||
12/05/2019,Course reportée au 19/05/2019,Non,Régionale en Relais,Métropole Lilloise,59,Régionale en Relais,Régional,Pédestre,Relais,5906,VILLENEUVE D'ASCQ LILLE METROPOLE ORIENTATION,,,,,Philippe Papin,664937253,contact@valmo.net,http://valmo.net/,,45.449613,6.97729,IMM LE METROPOLE 73150 Val-d'Isère,0.41,street,73304_A340_e03172,,IMM LE METROPOLE,,73150,Val-d'Isère,"73, Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",73304
|
||||
12/05/2019,OK,Non,Combiné du Gard,Beaucaire-Comps Abbaye de St Roman,30,Combiné pédestre + VTT,Départemental,Pédestre + VTT,,3005,GARD ORIENTATION,,,,,Bernard Quignon,628940980,gardorientation@sfr.fr,http://gardorientation.com/,"Combiné : épreuve départementale combinant deux épreuves : une CO à pied et une CO à VTT
|
||||
avec la possibilité de s'inscrire uniquement à l'épreuve de C.O. à Pied
|
||||
",45.177221,5.205417,Route de Romans 38160 Saint Antoine l'Abbaye,0.36,street,38359_XXXX_4cf7f9,,Route de Romans,,38160,Saint Antoine l'Abbaye,"38, Isère, Auvergne-Rhône-Alpes (Rhône-Alpes)",38359
|
||||
15/05/2019,OK,Non,Challenge Grenoblois Etape 1,Bassin Grenoblois,38,Animation,Départemental,Pédestre,,38,Isère,,,,,Jean Dermine ,613453059,jdermine@gmail.com,https://cdco38.fr/,"Course de promotion de la course d'Orientation ouverte à tous
|
||||
Meylan ",14.770338,-61.013472,Bassin Noir 97230 Sainte-Marie,0.42,street,97228_B005_3b5820,,Bassin Noir,,97230,Sainte-Marie,"972, Martinique",97228
|
||||
15/05/2019,OK,Non,Pays Aix Orientation Tour - Etape n°2,,13,Départementale pédestre (autre),Départemental,Pédestre,,1307,ATHLETIC CLUB AURELIEN,,,,,,,,http://ac.aurelien.free.fr/,,,,,,,,,,,,,,
|
||||
15/05/2019,OK,Non,WOD ,Complexe sportif BARR,67,Animation,Départemental,Pédestre,,6709,SKI CLUB BARR,,,,,Claude VOGT,03 88 50 88 55,claudechristiane.vogt@estvideo.fr,http://www.ski-club-barr.fr/,,48.72473,7.338423,COMPLEXE SPORTIF DU HAUT BARR 67700 Saverne,0.65,street,67437_XXXX_c92d9d,,COMPLEXE SPORTIF DU HAUT BARR,,67700,Saverne,"67, Bas-Rhin, Grand-Est (Alsace)",67437
|
||||
18/05/2019,OK,Non,Départementale CO à VTT Moyenne Distance,Les Bois de Saint-Pierre,86,Départementale CO à VTT Moyenne Distance,Départemental,VTT,MD,8607,POITIERS COURSE D'ORIENTATION,CROCHET Gerard (2817),,,CROCHET Gerard (2817),Gervais BAZIN,,contact@poitiersco.org,https://www.poitiersco.org/,COURSE DÉPARTEMENTALE,45.272735,3.520574,Le Bois de Saint-Pierre 43230 Vals-le-Chastel,0.8,locality,43250_XXXX_2ed871,,Le Bois de Saint-Pierre,,43230,Vals-le-Chastel,"43, Haute-Loire, Auvergne-Rhône-Alpes (Auvergne)",43250
|
||||
18/05/2019,OK,Non,O'Lac d'Annecy,Annecy - Les Puisots,74,Animation,Départemental,Pédestre,,7404,ANNECY SPORTS ORIENTATION,,,,,Bruno Mollaret,06.28.33.78.26,7404ra@annecyso.fr,http://annecyso.fr/aso/,,45.898404,6.129695,Annecy,0.33,municipality,74010,,Annecy,,74000,Annecy,"74, Haute-Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",74010
|
||||
18/05/2019,OK,Oui,Régionale Moyenne Distance,Moirans en Montagne,39,Régionale Moyenne Distance,Régional,Pédestre,MD,3914,JURA SPORTS ORIENTATION,,,NIGGLI Jurg (19727),,JB Videira,671504988,jurasportsorientation@hotmail.fr,http://www.jura-sports-orientation.com/,,46.431474,5.724991,Moirans-en-Montagne,0.94,municipality,39333,,Moirans-en-Montagne,,39260,Moirans-en-Montagne,"39, Jura, Bourgogne-Franche-Comté (Franche-Comté)",39333
|
||||
18/05/2019,OK,Oui,Championnat de France CO à VTT de Sprint (WRE),stade Bambuck Villers les Nancy,54,Championnat de France CO à VTT de Sprint,National,VTT,Sprint,5402,SCAPA NANCY ORIENTATION,MORTELLIER Bernard (2282),,ETIENNE Dominique (10146),MORTELLIER Bernard (2282),Nelly Deville,06 88 89 55 62,nelly.deville54@orange.fr,http://scapaorientation.free.fr/,IOF Event Adviser : MORTELLIER Bernard,48.672415,6.154312,Villers-lès-Nancy,0.5,municipality,54578,,Villers-lès-Nancy,,54600,Villers-lès-Nancy,"54, Meurthe-et-Moselle, Grand-Est (Lorraine)",54578
|
||||
18/05/2019,OK,Non,WOD Dinan,Dinan,22,Animation,Départemental,Pédestre,,2209,DINAN COURSE D'ORIENTATION,,,,,Eric Boulet,02.99.40.85.59,secretariat@dinan-course-orientation.fr,http://www.dinan-course-orientation.fr/,,48.454713,-2.050808,Dinan,0.96,municipality,22050,,Dinan,,22100,Dinan,"22, Côtes-d'Armor, Bretagne",22050
|
||||
18/05/2019,OK,Oui,O'PLAT'O Moyenne Distance,Chaud-Clapier (Bouvante-Vassieux),26,Régionale Moyenne Distance,Régional,Pédestre,MD,2610,LOISIR ORIENTATION VERCORS,DESBREST Patrick (3203),,STEFANINI Jean-Philippe (1291),,Eric Monnier,682325540,loisirorientationvercors@yahoo.fr,http://loisirorientationvercors.over-blog.com/,MD dans le cadre du WE de course d'orientation O'Plat'O,44.908121,5.334087,Chaud Clapier 26190 Bouvante,0.62,street,26059_B120_d161cc,,Chaud Clapier,,26190,Bouvante,"26, Drôme, Auvergne-Rhône-Alpes (Rhône-Alpes)",26059
|
||||
18/05/2019,OK,Non,WOD,LE PRADET,83,Animation,Départemental,Pédestre,,8311,PRADET ORIENTATION LOISIRS ET SPORT,,,,,Françoise DELI,6125535407,poles8311@free.fr,https://poles8311.com/,"type lab'O
|
||||
10h- 15h",43.105256,6.022873,Le Pradet,0.92,municipality,83098,,Le Pradet,,83220,Le Pradet,"83, Var, Provence-Alpes-Côte d'Azur",83098
|
||||
18/05/2019,OK,Non,Passage de Balises de Couleur,Grimbosq,14,Passage de Balises de Couleur,Régional,Pédestre,,1403,ORIENTATION CAENNAISE,,,,,,,,,,49.043138,-0.452015,Grimbosq,0.92,municipality,14320,,Grimbosq,,14220,Grimbosq,"14, Calvados, Normandie (Basse-Normandie)",14320
|
||||
19/05/2019,OK,Non,Ti'Magnon Jura'4'Pattes,CHAMPAGNOLE,39,Raid Multisport Court,Départemental,Raid Multisport,Raid,3912,JUR'AZIMUT,,,,,Hubert MAITREJEAN,689051941,jurazimut@gmail.com,http://www.jurazimut.com/,Raid court par équipe de deux - 30km,46.746881,5.905983,Champagnole,0.94,municipality,39097,,Champagnole,,39300,Champagnole,"39, Jura, Bourgogne-Franche-Comté (Franche-Comté)",39097
|
||||
19/05/2019,OK,Non,Gro'Magnon Jura'4'Pattes,CHAMPAGNOLE,39,Raid Multisport Long,Départemental,Raid Multisport,Raid,3912,JUR'AZIMUT,,,,,hubert MAITREJEAN,689051941,jurazimut@gmail.com,http://www.jurazimut.com/,Raid long entre 60 et 70km sur une journée par équipe de deux.,46.746881,5.905983,Champagnole,0.94,municipality,39097,,Champagnole,,39300,Champagnole,"39, Jura, Bourgogne-Franche-Comté (Franche-Comté)",39097
|
||||
19/05/2019,OK,Oui,Championnat Départemental Longue Distance de Seine-et-Marne,Forêt de NEMOURS,77,Départementale Longue Distance,Départemental,Pédestre,LD,7709,UNION SPORTIVE MELUNAISE,MEY Milena (19782),,ROULLEAUX Alain (4357),,Philippe DUBOIS,687027625,amavic@free.fr,http://usmelunco.wordpress.com/,,48.399599,2.480509,Route de Nemours 91490 Milly-la-Forêt,0.46,street,91405_XXXX_d164c0,,Route de Nemours,,91490,Milly-la-Forêt,"91, Essonne, Île-de-France",91405
|
||||
19/05/2019,OK,Oui,Régionale Moyenne Distance,Nouaillé-Maupertuis,86,Régionale Moyenne Distance,Régional,Pédestre,MD,8607,POITIERS COURSE D'ORIENTATION,DOMENICI J-Claude (1052),,,DOMENICI J-Claude (1052),Gervais BAZIN,,contact@poitiersco.org,https://www.poitiersco.org/,,46.508571,0.413388,Nouaillé-Maupertuis,0.92,municipality,86180,,Nouaillé-Maupertuis,,86340,Nouaillé-Maupertuis,"86, Vienne, Nouvelle-Aquitaine (Poitou-Charentes)",86180
|
||||
19/05/2019,OK,Non,World Orienteering Day 2019 ( animation INTERNATIONALE),ERSTEIN,67,Animation,Départemental,Pédestre,,6707,ASS. DES SPORTS D'ORIENTATION DU PAYS D'ERSTEIN,,,,,ASOPE ASOPErstein,388590560,asope@free.fr,http://www.asope.info/,"4ème WOD ( World Orienteering Day organisé par l'ASOPErstein 6707GE . Nombreuses animations et récompenses ouvertes à tous publics valides et non valides .
|
||||
Bienvenue à tous ",48.421138,7.66029,Erstein,0.94,municipality,67130,,Erstein,,67150,Erstein,"67, Bas-Rhin, Grand-Est (Alsace)",67130
|
||||
19/05/2019,OK,Oui,Challenge Paca pedestre,Mazaugues,83,Régionale Longue Distance,Régional,Pédestre,LD,8319,TOULON SPORT NATURE,PREVOT Frédéric (28928),LORRE Annie (1756),,,Eric Pomet,06 33 56 11 35,eric.pomet@orange.fr,http://www.toulon-sports-nature.com/,,43.347505,5.920867,Mazaugues,0.92,municipality,83076,,Mazaugues,,83136,Mazaugues,"83, Var, Provence-Alpes-Côte d'Azur",83076
|
||||
19/05/2019,OK,Oui,Régionale Moyenne Distance,Moirans en Montagne,39,Régionale Moyenne Distance,Régional,Pédestre,MD,3914,JURA SPORTS ORIENTATION,,,NIGGLI Jurg (19727),,JB Videira,671504988,jurasportsorientation@hotmail.fr,http://www.jura-sports-orientation.com/,,46.431474,5.724991,Moirans-en-Montagne,0.94,municipality,39333,,Moirans-en-Montagne,,39260,Moirans-en-Montagne,"39, Jura, Bourgogne-Franche-Comté (Franche-Comté)",39333
|
||||
19/05/2019,OK,Oui,Régionale Sprint,Moirans en Montagne,39,Régionale Sprint,Régional,Pédestre,Sprint,3914,JURA SPORTS ORIENTATION,,,NIGGLI Jurg (19727),,JB Videira,671504988,jurasportsorientation@hotmail.fr,http://www.jura-sports-orientation.com/,,46.431474,5.724991,Moirans-en-Montagne,0.94,municipality,39333,,Moirans-en-Montagne,,39260,Moirans-en-Montagne,"39, Jura, Bourgogne-Franche-Comté (Franche-Comté)",39333
|
||||
19/05/2019,OK,Oui,Championnat de France CO à VTT Longue Distance (WRE),Plateau de Ludres,54,Championnat de France CO à VTT Longue Distance,National,VTT,LD,5402,SCAPA NANCY ORIENTATION,MORTELLIER Bernard (2282),,LORANG Francois (13480),MORTELLIER Bernard (2282),Nelly Deville,06 88 89 55 62,nelly.deville54@orange.fr,http://scapaorientation.free.fr/,"IOF Event Adviser : MORTELLIER Bernard
|
||||
Attention vide grenier à Ludres : suivez impérativement le fléchage CO - risque de ralentissement, soyez prudents à l'aller et au retour ",48.599428,6.158853,CHATEAU DE LUDRES 54630 Richardménil,0.71,street,54459_0140_3993ae,,CHATEAU DE LUDRES,,54630,Richardménil,"54, Meurthe-et-Moselle, Grand-Est (Lorraine)",54459
|
||||
19/05/2019,OK,Oui,O'Plat O,Bouvante ( Lente ),26,Régionale Longue Distance,Régional,Pédestre,LD,2605,VALENCE SPORTS ORIENTATION,ROUILLER Thomas (843),BACKSCHEIDER Emilie (15847),COCHEY Benoit (3210),ROUILLER Thomas (843),François HUGUET,637718905,vso.2605@free.fr,http://www.valence-sports-orientation.fr/,,44.955712,5.325763,Lente 26190 Bouvante,0.73,street,26059_B064_72a3d8,,Lente,,26190,Bouvante,"26, Drôme, Auvergne-Rhône-Alpes (Rhône-Alpes)",26059
|
||||
19/05/2019,OK,Non,WOD,Mailly-Champagne,51,Animation,Départemental,Pédestre,,5116,ANIMATION SILLERY ORIENTATION,,,,,Virginie BLUM,620245606,virginie.blum@laposte.net,http://asosillery.fr/,,49.155032,4.111705,Mailly-Champagne,0.92,municipality,51338,,Mailly-Champagne,,51500,Mailly-Champagne,"51, Marne, Grand-Est (Champagne-Ardenne)",51338
|
||||
19/05/2019,OK,Non,La barbarie,Mailly-Champagne,51,Raid Multisport Court,Départemental,Raid Multisport,Raid,5116,ANIMATION SILLERY ORIENTATION,,,,,Virginie BLUM,620245606,virginie.blum@laposte.net,,"Une raid multi court, à pied et à VTT, le tout en orientation avec quelques surprises",49.155032,4.111705,Mailly-Champagne,0.92,municipality,51338,,Mailly-Champagne,,51500,Mailly-Champagne,"51, Marne, Grand-Est (Champagne-Ardenne)",51338
|
||||
19/05/2019,OK,Non,ASO'rient'TRAIL,Mailly-Champagne,51,Départementale Ultra Longue Distance,Départemental,Pédestre,,5116,ANIMATION SILLERY ORIENTATION,,,,,Virginie BLUM,620245606,virginie.blum@laposte.net,http://asosillery.fr/,"Un mix entre du trail et de la CO:
|
||||
Sur chemins, mais avec une carte et des balises (aucun jalon, aucune rubalise). Deux distances : environ 8 et env 20 km",49.155032,4.111705,Mailly-Champagne,0.92,municipality,51338,,Mailly-Champagne,,51500,Mailly-Champagne,"51, Marne, Grand-Est (Champagne-Ardenne)",51338
|
||||
19/05/2019,OK,Non,Le Score de la Barbarie,Mailly-Champagne,51,Départementale au score,Départemental,Pédestre,Score,5116,ANIMATION SILLERY ORIENTATION,,,,,Virginie BLUM,620245606,virginie.blum@laposte.net,http://asosillery.fr/,"La barbarie c'est au choix :
|
||||
- un raid (VTT et pedestre, le tout en CO)
|
||||
- ou simplement une CO au score à pied en solo ou entre amis.",49.155032,4.111705,Mailly-Champagne,0.92,municipality,51338,,Mailly-Champagne,,51500,Mailly-Champagne,"51, Marne, Grand-Est (Champagne-Ardenne)",51338
|
||||
19/05/2019,OK,Non,Départementale Longue Distance,Forêt de Grésigne,81,Départementale Longue Distance,Départemental,Pédestre,LD,8105,BALISE ORIENTATION ALBIGEOISE,,,,,Christian ESCUDIE,670069289,escudie.c81@gmail.com,http://boa81.free.fr/,,47.34719,-0.807507,Le Petit Gresigne 49290 Chalonnes-sur-Loire,0.48,locality,49063_XXXX_f90a83,,Le Petit Gresigne,,49290,Chalonnes-sur-Loire,"49, Maine-et-Loire, Pays-de-la-Loire",49063
|
||||
19/05/2019,OK,Oui,Régionale Longue Distance,Le Causse comtal (Rodez),12,Régionale Longue Distance,Régional,Pédestre,LD,1202,CENT VALLEES ORIENTATION 12,RAMBLIERE Frédéric (5708),LAVAL Christian (22372),,,Mathilde SUDRES,,mathilde.sudres@laposte.net,,,44.431125,2.64039,Causse Comtal 12340 Rodelle,0.68,street,12201_B081_0eea6a,,Causse Comtal,,12340,Rodelle,"12, Aveyron, Occitanie (Midi-Pyrénées)",12201
|
||||
19/05/2019,OK,Oui,Régionale Longue Distance,Saint-Nicolas-du-Pélem,22,Régionale Longue Distance,Régional,Pédestre,LD,2208,SAINT-BRIEUC ORIENTATION,ALLANCON Michel (1005),,GASTARD Daniel (3233),,Eric RAVENET,686763504,sbo.co22@gmail.com,https://sbo22.jimdo.com/,Ce sera une longue distance(et non une MD),48.312623,-3.164914,Saint-Nicolas-du-Pélem,0.94,municipality,22321,,Saint-Nicolas-du-Pélem,,22480,Saint-Nicolas-du-Pélem,"22, Côtes-d'Armor, Bretagne",22321
|
||||
19/05/2019,OK,Non,World Orienteering Day (WOD) 2019,Nouaillé-Maupertuis,86,Animation,Départemental,Pédestre,,8607,POITIERS COURSE D'ORIENTATION,,,,,Coralie MOREAU,,contact@poitiersco.org,https://www.poitiersco.org/,"RDV Salle communale.
|
||||
Animation découverte organisée en marge d'une épreuve de CO régionale, sous la forme d'un ""Labyrinthe O"" à proximité de la prestigieuse abbaye de Nouaillé.",46.508571,0.413388,Nouaillé-Maupertuis,0.92,municipality,86180,,Nouaillé-Maupertuis,,86340,Nouaillé-Maupertuis,"86, Vienne, Nouvelle-Aquitaine (Poitou-Charentes)",86180
|
||||
19/05/2019,OK,Non,Régionale en Relais,Métropole Lilloise,59,Régionale en Relais,Régional,Pédestre,Relais,5906,VILLENEUVE D'ASCQ LILLE METROPOLE ORIENTATION,,,,,Philippe Papin,664937253,contact@valmo.net,http://valmo.net/,,45.449613,6.97729,IMM LE METROPOLE 73150 Val-d'Isère,0.41,street,73304_A340_e03172,,IMM LE METROPOLE,,73150,Val-d'Isère,"73, Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",73304
|
||||
21/05/2019,OK,Non,CO Tour de Sophia -Etape 1,Valbonne,6,Départementale Longue Distance,Départemental,Pédestre,LD,615,VALBONNE SOPHIA ANTIPOLIS ORIENTATION,,,,,,,contatc@vsaorientation.com,http://vsaorientation.com/,,44.572605,6.073739,Valbonne 05000 Gap,0.92,locality,05061_XXXX_f4199f,,Valbonne,,05000,Gap,"05, Hautes-Alpes, Provence-Alpes-Côte d'Azur",05061
|
||||
22/05/2019,OK,Non,Challenge Grenoblois Etape 2,Bassin Grenoblois,38,Animation,Départemental,Pédestre,,38,Isère,,,,,Philippe Thivolle,631280713,contact@guc-co.fr,https://cdco38.fr/,"Course de promotion de la course d'Orientation ouverte à tous
|
||||
Parc Paul Mistral
|
||||
",14.770338,-61.013472,Bassin Noir 97230 Sainte-Marie,0.42,street,97228_B005_3b5820,,Bassin Noir,,97230,Sainte-Marie,"972, Martinique",97228
|
||||
22/05/2019,OK,Non,Pays Aix Orientation Tour - Etape n°3,,13,Départementale pédestre (autre),Départemental,Pédestre,,1307,ATHLETIC CLUB AURELIEN,,,,,,,,http://ac.aurelien.free.fr/,,,,,,,,,,,,,,
|
||||
22/05/2019,OK,Non,World 0rientering Days ,Monpellier,34,Animation,Départemental,Pédestre,,3408,ASSOCIATION MONTPELLIER SPORTS D'ORIENTATION 34,,,,,Pierre Ferrand,634391657,amso34@yahoo.fr,http://amso34.fr/,,43.454501,0.482042,Monpellier 32300 Moncassin,0.91,locality,32263_XXXX_331b02,,Monpellier,,32300,Moncassin,"32, Gers, Occitanie (Midi-Pyrénées)",32263
|
||||
25/05/2019,OK,Oui,Régionale Moyenne Distance,Haut Valromey (L'Angoulot),1,Régionale Moyenne Distance,Régional,Pédestre,MD,111,CLUB D'ORIENTATION D'AMBERIEU EN BUGEY,BOURSEAUX Philippe (4081),,LASSALLE Pascal (1678),BOURSEAUX Philippe (4081),Nicolas Greff,474801323,nico.gff@orange.fr,http://co-amberieu.pagesperso-orange.fr/,"Carte de la OOcup 2018. L'Angoulot
|
||||
Terrain et proximité idéale pour entrainement avant championnat de France 2019 en Savoie",45.997046,5.693129,Haut-Valromey,0.46,municipality,01187,,Haut-Valromey,,01260,Haut-Valromey,"01, Ain, Auvergne-Rhône-Alpes (Rhône-Alpes)",01187
|
||||
25/05/2019,OK,Oui,Régionale Sprint,Haut Valromey (Pré sapin - le terment),1,Régionale Sprint,Régional,Pédestre,Sprint,111,CLUB D'ORIENTATION D'AMBERIEU EN BUGEY,BOURSEAUX Philippe (4081),,LASSALLE Pascal (1678),BOURSEAUX Philippe (4081),Nicolas Greff,04 74 80 13 23,nico.gff@orange.fr,http://co-amberieu.pagesperso-orange.fr/,"Sprint en milieu naturel
|
||||
Carte de la OOcup 2018",,,,,,,,,,,,,
|
||||
25/05/2019,OK,Non,Passage de Balises de Couleur,Saint-Just,24,Passage de Balises de Couleur,Régional,Pédestre,,2407,PERIGORD ORIENTATION PLAISIR,,,,,Stéphanie Rossard,683186215,pop@pop24.fr,http://www.pop24.fr/,Moniteurs : CHAGNON Stéphane et GEYER Thierry,45.914709,3.847007,Saint-Just 42430 Saint-Just-en-Chevalet,0.92,locality,42248_XXXX_e4593c,,Saint-Just,,42430,Saint-Just-en-Chevalet,"42, Loire, Auvergne-Rhône-Alpes (Rhône-Alpes)",42248
|
||||
25/05/2019,OK,Non,MaXi Orientation,Annecy - Le Semnoz,74,Départementale Longue Distance,Départemental,Pédestre,LD,7404,ANNECY SPORTS ORIENTATION,,,,,Bruno Mollaret,06.28.33.78.26,7404ra@annecyso.fr,http://annecyso.fr/aso/,,45.885156,6.129803,Route du Semnoz 74000 Annecy,0.48,street,74010_XXXX_667d47,,Route du Semnoz,,74000,Annecy,"74, Haute-Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",74010
|
||||
25/05/2019,OK,Non,ROC 37 ,Tours,37,Raid Multisport Court,Départemental,Raid Multisport,Raid,3705,COURSE ORIENTATION TOURS SUD,,,,,,,contact@co-tours.fr,http://www.co-tours.fr/,30 kms,47.391759,0.687758,Tours,0.97,municipality,37261,,Tours,,37000,Tours,"37, Indre-et-Loire, Centre-Val de Loire",37261
|
||||
25/05/2019,OK,Non,ROC 37 ,Tours,37,Raid Multisport Long,Départemental,Raid Multisport,Raid,3705,COURSE ORIENTATION TOURS SUD,,,,,,,contact@co-tours.fr,http://www.co-tours.fr/,60 kms,47.391759,0.687758,Tours,0.97,municipality,37261,,Tours,,37000,Tours,"37, Indre-et-Loire, Centre-Val de Loire",37261
|
||||
25/05/2019,Course reportée au 11/05/2019,Non,Coupe du Jura,Prémanon,39,Départementale Longue Distance,Départemental,Pédestre,LD,3913,ORIENTATION HAUT-JURA,,,,,,,gilles.dannecker@gmail.com,,,46.461624,6.030307,Prémanon,0.92,municipality,39441,,Prémanon,,39220,Prémanon,"39, Jura, Bourgogne-Franche-Comté (Franche-Comté)",39441
|
||||
25/05/2019,OK,Non,Championnat de Ligue de Relais,Caen,14,Championnat de Ligue de Relais,Régional,Pédestre,Relais,1408,VIK'AZIM,BRIERE Axelle (24514),,,,,,,http://vikazim.fr/,,49.181339,-0.370637,Caen,0.98,municipality,14118,,Caen,,14000,Caen,"14, Calvados, Normandie (Basse-Normandie)",14118
|
||||
25/05/2019,OK,Non,Départementale Moyenne Distance,Drôme des collines,26,Départementale Moyenne Distance,Départemental,Pédestre,MD,2604,CLUB DE ROMANS DE COURSE D'ORIENTATION,,,,,,,,,"Départementale Longue Distance au Bois de Suze, commune de Claveyson",45.057721,4.969309,Route des Collines 26260 Clérieux,0.64,street,26096_XXXX_1d0387,,Route des Collines,,26260,Clérieux,"26, Drôme, Auvergne-Rhône-Alpes (Rhône-Alpes)",26096
|
||||
25/05/2019,OK,Non,Coupe du VAR,LA VALETTE ,83,Départementale pédestre (autre),Départemental,Pédestre,,8311,PRADET ORIENTATION LOISIRS ET SPORT,,,,,Françoise DELI,612535407,poles8311@free.fr,https://poles8311.com/,,45.582313,2.322791,La Valette 19200 Ussel,0.93,street,19275_B190_73c818,,La Valette,,19200,Ussel,"19, Corrèze, Nouvelle-Aquitaine (Limousin)",19275
|
||||
25/05/2019,OK,Non,Départementale Longue Distance,Ruisseau de Sivens,81,Départementale Longue Distance,Départemental,Pédestre,LD,8105,BALISE ORIENTATION ALBIGEOISE,,,,,ESCUDIE Christian,670069289,escudie.c@wanadoo.fr,http://boa81.free.fr/,,45.761919,4.21901,Impasse des Roseaux 42110 Civens,0.32,street,42065_XXXX_753838,,Impasse des Roseaux,,42110,Civens,"42, Loire, Auvergne-Rhône-Alpes (Rhône-Alpes)",42065
|
||||
25/05/2019,OK,Non,Passage de Balises de Couleur,Saint-Herblain,44,Passage de Balises de Couleur,Régional,Pédestre,,4403,NANTES ATLANTIQUE ORIENTATION,,,,,,,nao4403@gmail.com,http://naorientation.fr/,,47.210675,-1.651909,Saint-Herblain,0.95,municipality,44162,,Saint-Herblain,,44800,Saint-Herblain,"44, Loire-Atlantique, Pays-de-la-Loire",44162
|
||||
26/05/2019,OK,Non,Multi-sprints du Tremblay,Champigny-sur-Marne,94,Départementale pédestre (autre),Départemental,Pédestre,,9404,ASSOCIATION SPORTIVE DE L'IGN,,,,,GRUSELLE Fabien,630512877,gruselle.fabien@gmail.com,http://www.coasign.fr/,Course constituée de 3 manches qualificatives et une finale,48.816583,2.515182,Champigny-sur-Marne,0.95,municipality,94017,,Champigny-sur-Marne,,94500,Champigny-sur-Marne,"94, Val-de-Marne, Île-de-France",94017
|
||||
26/05/2019,OK,Oui,Régionale Longue Distance,Haut Valromey (La chèvre),1,Régionale Longue Distance,Régional,Pédestre,LD,111,CLUB D'ORIENTATION D'AMBERIEU EN BUGEY,MONNIER Eric (23433),,LASSALLE Pascal (1678),MONNIER Eric (23433),Nicolas Greff,04 74 80 13 23,nico.gff@orange.fr,http://co-amberieu.pagesperso-orange.fr/,"Carte de la OOcup 2018
|
||||
Terrain et proximité idéale pour entrainement avant championnat de France 2019 en Savoie",45.997046,5.693129,Haut-Valromey,0.48,municipality,01187,,Haut-Valromey,,01260,Haut-Valromey,"01, Ain, Auvergne-Rhône-Alpes (Rhône-Alpes)",01187
|
||||
26/05/2019,OK,Oui,Régionale Sprint,FESSENHEIM,68,Régionale Sprint,Régional,Pédestre,Sprint,6806,CLUB ORIENTATION BUHL ET FLORIVAL,BERNAUER Christophe (11430),,HUEBER Francois (5640),BERNAUER Christophe (11430),,,,,,47.914953,7.535335,Fessenheim,0.92,municipality,68091,,Fessenheim,,68740,Fessenheim,"68, Haut-Rhin, Grand-Est (Alsace)",68091
|
||||
26/05/2019,OK,Oui,Régionale Sprint,ROUFFACH,68,Régionale Sprint,Régional,Pédestre,Sprint,6806,CLUB ORIENTATION BUHL ET FLORIVAL,BERNAUER Christophe (11430),,HUEBER Francois (5640),BERNAUER Christophe (11430),Anne Schwartz,618385664,annevebr@sfr.fr,,,47.957254,7.29742,Rouffach,0.94,municipality,68287,,Rouffach,,68250,Rouffach,"68, Haut-Rhin, Grand-Est (Alsace)",68287
|
||||
26/05/2019,OK,Oui,Régionale Longue Distance,Flavignerot,21,Régionale Longue Distance,Régional,Pédestre,LD,2105,ASS. DE DECOUVERTE ET D'ORIENTATION DE CHENOVE,,,HABERKORN Bruno (2715),,Bruno Haberkorn,03 80 35 18 13,contact.adoc@gmail.com,,,47.278305,4.915658,Flavignerot,0.92,municipality,21270,,Flavignerot,,21160,Flavignerot,"21, Côte-d'Or, Bourgogne-Franche-Comté (Bourgogne)",21270
|
||||
26/05/2019,OK,Oui,Régionale Sprint,Chamboeuf,21,Régionale Sprint,Régional,Pédestre,Sprint,2105,ASS. DE DECOUVERTE ET D'ORIENTATION DE CHENOVE,,,HABERKORN Valérie (2717),,Bruno Haberkorn,03 80 35 18 13,contact.adoc@gmail.com,,,47.230758,4.90471,Chambœuf,0.92,municipality,21132,,Chambœuf,,21220,Chambœuf,"21, Côte-d'Or, Bourgogne-Franche-Comté (Bourgogne)",21132
|
||||
26/05/2019,OK,Non,Départementale Sprint,Vandoeuvre,54,Départementale Sprint,Départemental,Pédestre,Sprint,5402,SCAPA NANCY ORIENTATION,,,,,Nelly Deville,06 88 89 55 62,nelly.deville54@orange.fr,http://scapaorientation.free.fr/,,48.66495,6.151645,Rue de Vandoeuvre 54600 Villers-lès-Nancy,0.52,street,54578_0560_74e7cc,,Rue de Vandoeuvre,,54600,Villers-lès-Nancy,"54, Meurthe-et-Moselle, Grand-Est (Lorraine)",54578
|
||||
26/05/2019,OK,Non,L'ORIENT RAID - Raid Jeunes,RIANTEC,56,Raid Multisport Court,Départemental,Raid Multisport,Raid,5604,CLUB D'ORIENTATION LORIENTAIS,,,,,Maël PRUD'HOMME,,contact@co-lorient.fr,http://www.co-lorient.fr/,,47.710005,-3.310419,Riantec,0.92,municipality,56193,,Riantec,,56670,Riantec,"56, Morbihan, Bretagne",56193
|
||||
26/05/2019,OK,Oui,Régionale Longue Distance,Forêt de Grimbosq,14,Régionale Longue Distance,Régional,Pédestre,LD,1408,VIK'AZIM,BRASSART Eric (12117),,,,,,pigeon.eric@vikazm.fr,http://vikazim.fr/,,49.035614,-0.419744,L'Acre 14220 Grimbosq,0.45,locality,14320_XXXX_d0fb21,,L'Acre,,14220,Grimbosq,"14, Calvados, Normandie (Basse-Normandie)",14320
|
||||
26/05/2019,OK,Non,Challenge LOCO n°1,Aude,11,Départementale pédestre (autre),Départemental,Pédestre,,1105,LEZIGNANAIS ORIENTATION CLUB OCCITAN,,,,,,,clubloco@free.fr,http://clubloco.free.fr/,,44.713881,4.692502,Audes 07210 Chomérac,0.69,street,07066_B004_06a2fe,,Audes,,07210,Chomérac,"07, Ardèche, Auvergne-Rhône-Alpes (Rhône-Alpes)",07066
|
||||
26/05/2019,OK,Non,RAID O FEMININ,MONTREAL,7,Raid Multisport Court,Départemental,Raid Multisport,Raid,705,RAIDLINK'S 07,,,,,David Lesquer,687368734,contact@raidlinks.fr,http://www.rof.raidlinks.fr/,,43.199095,2.140558,Montréal,0.94,municipality,11254,,Montréal,,11290,Montréal,"11, Aude, Occitanie (Languedoc-Roussillon)",11254
|
||||
26/05/2019,OK,Oui,Régionale pédestre (autre),Ile de Nantes,44,Régionale pédestre (autre),Régional,Pédestre,,4403,NANTES ATLANTIQUE ORIENTATION,RICHARD Yann (19890),,CHAREYRE Valentin (26790),,nao4403@gmail.com,,nao4403@gmail.com,http://naorientation.fr/,Stagiaire Traceur : Alexandre VINCENT,48.095069,-1.689992,Rue de Nantes 35000 Rennes,0.69,street,35238_6860_772a4b,,Rue de Nantes,,35000,Rennes,"35, Ille-et-Vilaine, Bretagne",35238
|
||||
26/05/2019,OK,Oui,Régionale Moyenne Distance,Carcans plage nord,33,Régionale Moyenne Distance,Régional,Pédestre,MD,3308,SPORT ATHLETIQUE DE GAZINET-CESTAS,DESQUEYROUX Michael (4022),,,DESQUEYROUX Michael (4022),Pierrick PETIT,641678980,pierrick.petit@bbox.fr,http://www.sagc-orientation.fr/,"COURSE REPORTÉE
|
||||
NOUVEAU LIEU = Carcans Plage Nord (33)
|
||||
NOUVELLE DATE = 26/05/2019",45.082149,-1.189653,Carcans Plage 33121 Carcans,0.64,street,33097_B026_4a8468,,Carcans Plage,,33121,Carcans,"33, Gironde, Nouvelle-Aquitaine (Aquitaine)",33097
|
||||
26/05/2019,Course reportée au 26/05/2019,Oui,Régionale Moyenne Distance,Carcans plage nord,33,Régionale Moyenne Distance,Régional,Pédestre,MD,3308,SPORT ATHLETIQUE DE GAZINET-CESTAS,DESQUEYROUX Michael (4022),,,DESQUEYROUX Michael (4022),Pierrick PETIT,641678980,pierrick.petit@bbox.fr,http://www.sagc-orientation.fr/,"COURSE REPORTÉE
|
||||
NOUVEAU LIEU = Carcans Plage Nord (33)
|
||||
NOUVELLE DATE = 26/05/2019",45.082149,-1.189653,Carcans Plage 33121 Carcans,0.64,street,33097_B026_4a8468,,Carcans Plage,,33121,Carcans,"33, Gironde, Nouvelle-Aquitaine (Aquitaine)",33097
|
||||
28/05/2019,OK,Non,CO Tour de Sophia -Etape 2,Valbonne,6,Départementale Longue Distance,Départemental,Pédestre,LD,615,VALBONNE SOPHIA ANTIPOLIS ORIENTATION,,,,,,,contatc@vsaorientation.com,http://vsaorientation.com/,,44.572605,6.073739,Valbonne 05000 Gap,0.92,locality,05061_XXXX_f4199f,,Valbonne,,05000,Gap,"05, Hautes-Alpes, Provence-Alpes-Côte d'Azur",05061
|
||||
29/05/2019,Course annulée,Non,Challenge Grenoblois Etape 3,Bassin Grenoblois,38,Animation,Départemental,Pédestre,,38,Isère,,,,,L.Gigon Veluzat,631280713,3809ra@free.fr,https://cdco38.fr/,"Course de promotion de la course d'Orientation ouverte à tous
|
||||
Sassenage Parc Ovalie",14.770338,-61.013472,Bassin Noir 97230 Sainte-Marie,0.42,street,97228_B005_3b5820,,Bassin Noir,,97230,Sainte-Marie,"972, Martinique",97228
|
||||
29/05/2019,OK,Non,Pays Aix Orientation Tour - Etape n°4,,13,Départementale pédestre (autre),Départemental,Pédestre,,1307,ATHLETIC CLUB AURELIEN,,,,,,,,http://ac.aurelien.free.fr/,,,,,,,,,,,,,,
|
||||
30/05/2019,OK,Oui,Régionale Moyenne Distance,La Thuile,73,Régionale Moyenne Distance,Régional,Pédestre,MD,7305,ESPACE CHAMBERY ORIENTATION 73 - ECHO 73,THOMASSIN J-Luc (260),,,THOMASSIN J-Luc (260),GEORGES TREVISAN,671261979,georges.trevisan73@gmail.com,http://www.echo7305.com/,Horaire course: après midi,45.61005,6.742066,La Thuile 73700 Bourg-Saint-Maurice,0.92,street,73054_B745_94506a,,La Thuile,,73700,Bourg-Saint-Maurice,"73, Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",73054
|
||||
31/05/2019,OK,Non,Championnat de France de Relais-sprint,Le Bouget du Lac,73,Championnat de France de Relais-sprint,National,Pédestre,Relais,7309,COURSE D'ORIENTATION COEUR DE SAVOIE,BODELET Herve (132),MERCIER Agnès (23079),PERRIN Eric (205),GENEVES Denis (2706),Charlotte BOUCHET,,73cocs@gmail.com,http://www.cfco2019.co/,"CC stagiaire : FLEURENT Dominique
|
||||
|
||||
une course Open individuelle sera proposée à l'issue du relais.",45.647877,5.858568,Le Bourget-du-Lac,0.76,municipality,73051,,Le Bourget-du-Lac,,73370,Le Bourget-du-Lac,"73, Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",73051
|
||||
31/05/2019,OK,Non,Sprint Open Savoie,Le Bourget du Lac,73,Départementale Sprint,Départemental,Pédestre,Sprint,7309,COURSE D'ORIENTATION COEUR DE SAVOIE,FAIVRE Daniel (4059),,DENAIX Michel (2321),FAIVRE Daniel (4059),CHARLOTTE BOUCHET,682420748,73cocs@gmail.com,http://www.cfco2019.co/,Sprint Open à l'issue du Championnat de France de Relais Sprint,45.647877,5.858568,Le Bourget-du-Lac,0.92,municipality,73051,,Le Bourget-du-Lac,,73370,Le Bourget-du-Lac,"73, Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",73051
|
||||
01/06/2019,OK,Non,Championnat de France de Relais,Aillons-Margériaz 1400,73,Championnat de France de Relais,National,Pédestre,Relais,7309,COURSE D'ORIENTATION COEUR DE SAVOIE,LOUVET Eloise (912),,PERRIN Eric (205),GENEVES Denis (2706),Charlotte BOUCHET,,73cocs@gmail.com,http://www.cfco2019.co/,"Pas de circuits loisirs le samedi.
|
||||
",45.632028,6.051671,Montagne de Margeriaz 73340 Aillon-le-Jeune,0.33,street,73004_B160_225e07,,Montagne de Margeriaz,,73340,Aillon-le-Jeune,"73, Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",73004
|
||||
02/06/2019,OK,Oui,Championnat de France Longue Distance (WRE),Aillons-Margériaz 1400,73,Championnat de France Longue Distance,National,Pédestre,LD,7309,COURSE D'ORIENTATION COEUR DE SAVOIE,BODELET Herve (132),,BENEVELLO Olivier (1124),GENEVES Denis (2706),Charlotte BOUCHET,,73cocs@gmail.com,http://www.cfco2019.co/,"IOF Event Advisor : BENEVELLO Olivier
|
||||
|
||||
circuits loisirs et jalonné",45.632028,6.051671,Montagne de Margeriaz 73340 Aillon-le-Jeune,0.33,street,73004_B160_225e07,,Montagne de Margeriaz,,73340,Aillon-le-Jeune,"73, Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",73004
|
||||
04/06/2019,OK,Non,CO Tour de Sophia -Etape 3,Valbonne,6,Départementale Longue Distance,Départemental,Pédestre,LD,615,VALBONNE SOPHIA ANTIPOLIS ORIENTATION,,,,,,,contatc@vsaorientation.com,http://vsaorientation.com/,,44.572605,6.073739,Valbonne 05000 Gap,0.92,locality,05061_XXXX_f4199f,,Valbonne,,05000,Gap,"05, Hautes-Alpes, Provence-Alpes-Côte d'Azur",05061
|
||||
05/06/2019,OK,Non,Challenge Grenoblois Etape 3,Bassin Grenoblois,38,Animation,Départemental,Pédestre,,38,Isère,,,,,L.Gigon Veluzat,631280713,3809ra@free.fr,https://cdco38.fr/,"Course de promotion de la course d'Orientation ouverte à tous
|
||||
Sassenage Parc Ovalie",14.770338,-61.013472,Bassin Noir 97230 Sainte-Marie,0.42,street,97228_B005_3b5820,,Bassin Noir,,97230,Sainte-Marie,"972, Martinique",97228
|
||||
05/06/2019,OK,Oui,Départementale Sprint,Cormelles le Royal,14,Départementale Sprint,Départemental,Pédestre,Sprint,1403,ORIENTATION CAENNAISE,COUREAU Xavier (32150),,BRASSART Eric (12117),,,,,http://www.orientationcaennaise.fr/,,49.153663,-0.330421,Cormelles-le-Royal,0.92,municipality,14181,,Cormelles-le-Royal,,14123,Cormelles-le-Royal,"14, Calvados, Normandie (Basse-Normandie)",14181
|
||||
05/06/2019,OK,Non,Pays d'Aix Orientation Tour - Etape n°5,Région de Pertuis,84,Départementale pédestre (autre),Départemental,Pédestre,,8405,CLUB SPORTIF PERTUISIEN,,,,,,,,http://csp-azimut.ouvaton.org/,,46.240511,6.735168,Entre Deux Pertuis 74360 Abondance,0.46,street,74001_B119_fbd946,,Entre Deux Pertuis,,74360,Abondance,"74, Haute-Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",74001
|
||||
05/06/2019,OK,Non,Trophée de Saint Quentin en Yvelines,Villebon,91,Départementale pédestre (autre),Départemental,Pédestre,,9105,CLUB ORIENTATION LOISIR ETRECHY,,,,,Thierry BESTEL,603007732,coletrechy@gmail.com,http://cole91.fr/,,48.391118,1.205957,Villebon,0.92,municipality,28414,,Villebon,,28190,Villebon,"28, Eure-et-Loir, Centre-Val de Loire",28414
|
||||
08/06/2019,OK,Non,TASO 4,Vouziers,8,Départementale pédestre (autre),Départemental,Pédestre,,801,ORIENTATION SPORTIVE DE CHARLEVILLE-MEZIERES,,,,,Albert Seguinot,,seguinotalbert@gmail.com,http://www.oscm08.com/,Coorganisé avec le service départemental des sports. Découvrir les activités sportives et le patrimoine local en se servant d'une carte CO.,49.397217,4.700947,Vouziers,0.96,municipality,08490,,Vouziers,,08400,Vouziers,"08, Ardennes, Grand-Est (Champagne-Ardenne)",08490
|
||||
08/06/2019,OK,Non,Juin O'Larzac,Larzac,34,Départementale de Nuit,Départemental,Pédestre,Nuit,3408,ASSOCIATION MONTPELLIER SPORTS D'ORIENTATION 34,,,,,,,amso34@yahoo.fr,http://amso34.fr/,,44.746926,1.007504,Larzac,0.92,municipality,24230,,Larzac,,24170,Larzac,"24, Dordogne, Nouvelle-Aquitaine (Aquitaine)",24230
|
||||
08/06/2019,OK,Non,Manche de la Coupe de France de Raid Orientation - Raid O'bivwak,La Chapelle en Vercors,26,Championnat de France de Raid Orientation,National,Raid Orientation,Raid,AR,Auvergne-Rhône-Alpes,TAISSON Sandrine (21220),,PLAGNOL Francois (22839),TAISSON Sandrine (21220),Laure Carra,456008249,contact@lauraco.fr,https://obivwak.net/,Épreuve sur 2 jours : samedi 8 et dimanche 9 juin,44.967307,5.41523,La Chapelle-en-Vercors,0.94,municipality,26074,,La Chapelle-en-Vercors,,26420,La Chapelle-en-Vercors,"26, Drôme, Auvergne-Rhône-Alpes (Rhône-Alpes)",26074
|
||||
08/06/2019,OK,Non,Raid découverte O'bivwak,La Chapelle en Vercors,26,Animation,Départemental,Pédestre,,AR,Auvergne-Rhône-Alpes,,,,,Laure Carra,456008249,contact@obivwak.net,https://obivwak.net/,,44.967307,5.41523,La Chapelle-en-Vercors,0.94,municipality,26074,,La Chapelle-en-Vercors,,26420,La Chapelle-en-Vercors,"26, Drôme, Auvergne-Rhône-Alpes (Rhône-Alpes)",26074
|
||||
08/06/2019,OK,Non,Départementale Moyenne Distance,Foret départementale de Sérénac,81,Départementale Moyenne Distance,Départemental,Pédestre,MD,8106,ALBI RESSORT,,,,,Christian Laval,686609036,ressort.albi@laposte.net,http://www.ressort.albi.free.fr/,,-21.268522,55.351055,Foret Departementale 97427 L'Étang-Salé,0.59,street,97404_B012_b8931e,,Foret Departementale,,97427,L'Étang-Salé,"974, La Réunion",97404
|
||||
09/06/2019,OK,Oui,Départementale Moyenne Distance,Larzac,34,Départementale Moyenne Distance,Départemental,Pédestre,MD,3408,ASSOCIATION MONTPELLIER SPORTS D'ORIENTATION 34,CAVARROC Jerome (13707),,,,Pierre Ferrand,634391657,amso34@yahoo.fr,http://amso34.fr/,,44.746926,1.007504,Larzac,0.92,municipality,24230,,Larzac,,24170,Larzac,"24, Dordogne, Nouvelle-Aquitaine (Aquitaine)",24230
|
||||
09/06/2019,OK,Non,Raid découverte O'bivwak,La Chapelle en Vercors,26,Animation,Départemental,Pédestre,,AR,Auvergne-Rhône-Alpes,,,,,Laure Carra,456008249,contact@obivwak.net,https://obivwak.net/,,44.967307,5.41523,La Chapelle-en-Vercors,0.94,municipality,26074,,La Chapelle-en-Vercors,,26420,La Chapelle-en-Vercors,"26, Drôme, Auvergne-Rhône-Alpes (Rhône-Alpes)",26074
|
||||
10/06/2019,OK,Non,Challenge LOCO n°2,Aude,11,Départementale pédestre (autre),Départemental,Pédestre,,1105,LEZIGNANAIS ORIENTATION CLUB OCCITAN,,,,,,,clubloco@free.fr,http://clubloco.free.fr/,,44.713881,4.692502,Audes 07210 Chomérac,0.69,street,07066_B004_06a2fe,,Audes,,07210,Chomérac,"07, Ardèche, Auvergne-Rhône-Alpes (Rhône-Alpes)",07066
|
||||
10/06/2019,OK,Oui,juin O'Larzac,Larzac,34,Départementale Longue Distance,Départemental,Pédestre,LD,3408,ASSOCIATION MONTPELLIER SPORTS D'ORIENTATION 34,CAVARROC Jerome (13707),,GUIGNARD Olivier (18063),CAVARROC Jerome (13707),,,amso34@yahoo.com,http://amso34.fr/,,44.746926,1.007504,Larzac,0.92,municipality,24230,,Larzac,,24170,Larzac,"24, Dordogne, Nouvelle-Aquitaine (Aquitaine)",24230
|
||||
10/06/2019,OK,Non,Passage de Balises de Couleur,Le Trait / Jumièges,76,Passage de Balises de Couleur,Régional,Pédestre,,2704,CLUB D'ORIENTATION DES BOUCLES DE LA SEINE,,,,,,,,,,49.213839,-0.372967,Allée de Jumièges 14000 Caen,0.44,street,14118_XXXX_f1340a,,Allée de Jumièges,,14000,Caen,"14, Calvados, Normandie (Basse-Normandie)",14118
|
||||
11/06/2019,OK,Non,CO Tour de Sophia -Etape 4,Valbonne,6,Départementale Longue Distance,Départemental,Pédestre,LD,615,VALBONNE SOPHIA ANTIPOLIS ORIENTATION,,,,,,,contatc@vsaorientation.com,http://vsaorientation.com/,,44.572605,6.073739,Valbonne 05000 Gap,0.92,locality,05061_XXXX_f4199f,,Valbonne,,05000,Gap,"05, Hautes-Alpes, Provence-Alpes-Côte d'Azur",05061
|
||||
12/06/2019,OK,Oui,Départementale Sprint,Ifs,14,Départementale Sprint,Départemental,Pédestre,Sprint,1403,ORIENTATION CAENNAISE,,,COMPERE Laurent (2928),,,,,http://www.orientationcaennaise.fr/,,49.137708,-0.354081,Ifs,0.92,municipality,14341,,Ifs,,14123,Ifs,"14, Calvados, Normandie (Basse-Normandie)",14341
|
||||
12/06/2019,OK,Non,Pays d'Aix Orientation Tour - Etape n°6,Région de Pertuis,84,Départementale pédestre (autre),Départemental,Pédestre,,8405,CLUB SPORTIF PERTUISIEN,,,,,,,,http://csp-azimut.ouvaton.org/,,46.240511,6.735168,Entre Deux Pertuis 74360 Abondance,0.46,street,74001_B119_fbd946,,Entre Deux Pertuis,,74360,Abondance,"74, Haute-Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",74001
|
||||
12/06/2019,OK,Non,Challenge Grenoblois Etape 4,Parc Uriage,38,Départementale pédestre (autre),Départemental,Pédestre,,38,Isère,,,,,Benoit Cochet,631280713,bnco@wanadoo.fr,http://www.cdco38.fr/,Etape 4 du Challenge Grenoblois,45.075421,5.77939,Route d'Uriage 38220 Vizille,0.33,street,38562_XXXX_410c18,,Route d'Uriage,,38220,Vizille,"38, Isère, Auvergne-Rhône-Alpes (Rhône-Alpes)",38562
|
||||
15/06/2019,OK,Oui,Départementale Sprint,,17,Départementale Sprint,Départemental,Pédestre,Sprint,1705,CHARENTE-MARITIME ORIENTATION,COLLETER J-Claude (1264),,,COLLETER J-Claude (1264),,07.81.02.90.23,patrick.robin1@free.fr,http://www.club-co17.com/,,,,,,,,,,,,,,
|
||||
15/06/2019,OK,Oui,Régionale Moyenne Distance Urbaine,,17,Régionale Moyenne Distance,Régional,Pédestre,MD,1705,CHARENTE-MARITIME ORIENTATION,COLLETER J-Claude (1264),,,COLLETER J-Claude (1264),,07.81.02.90.23,patrick.robin1@free.fr,http://www.club-co17.com/,,,,,,,,,,,,,,
|
||||
15/06/2019,OK,Oui,Week-End O ChampDuF,Col de la Charbonnière -BELLEFOSSE,67,Régionale Moyenne Distance,Régional,Pédestre,MD,6709,SKI CLUB BARR,VUILLEMARD Marie (14238),,COLIN Franck (10906),VUILLEMARD Marie (14238),Claude VOGT,03 88 50 88 55,claudechristiane.vogt@estvideo.fr,http://www.ski-club-barr.fr/,Carte neuve,,,,,,,,,,,,,
|
||||
15/06/2019,OK,Non,Challenge savoyard ,St Jean d'arvey ,73,Départementale pédestre (autre),Départemental,Pédestre,,7305,ESPACE CHAMBERY ORIENTATION 73 - ECHO 73,,,,,G. Trevisan ,,georges.trevisan73@gmail.com,http://Www.echo7305.com/,,45.585748,5.995247,Saint-Jean-d'Arvey,0.66,municipality,73243,,Saint-Jean-d'Arvey,,73230,Saint-Jean-d'Arvey,"73, Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",73243
|
||||
15/06/2019,OK,Oui,Passage de Balises de Couleur,Forêt de St Michel en Thièrache,2,Passage de Balises de Couleur,Régional,Pédestre,,207,VERVINS ORIENTATION,,,,,Camille MOULIERE,,,,,48.751628,0.690254,Rue Saint-Michel de la Forêt 61300 Saint-Michel-Tubœuf,0.36,street,61432_XXXX_4d0783,,Rue Saint-Michel de la Forêt,,61300,Saint-Michel-Tubœuf,"61, Orne, Normandie (Basse-Normandie)",61432
|
||||
15/06/2019,OK,Oui,Régionale Moyenne Distance,Forêt de St Michel en Thiérache,2,Régionale Moyenne Distance,Régional,Pédestre,MD,207,VERVINS ORIENTATION,HUMBERTCLAUDE J-Paul (16205),,,,,,,,,48.751628,0.690254,Rue Saint-Michel de la Forêt 61300 Saint-Michel-Tubœuf,0.36,street,61432_XXXX_4d0783,,Rue Saint-Michel de la Forêt,,61300,Saint-Michel-Tubœuf,"61, Orne, Normandie (Basse-Normandie)",61432
|
||||
15/06/2019,OK,Non,O'Plateau,Hauteville Lompnes Terre Ronde,1,Rand'Orientation,Départemental,Pédestre,,1,Ain,,,,,Daniel Plockyn,789456010,plockyn.daniel@orange.fr,http://cdco01.free.fr/,"Rand'Orientation en semi nocturne. Départ en début de soirée
|
||||
Organisateur CDCO 01 et ses clubs",45.978518,5.599175,Hauteville-Lompnes,0.56,municipality,01185,,Hauteville-Lompnes,,01110,Hauteville-Lompnes,"01, Ain, Auvergne-Rhône-Alpes (Rhône-Alpes)",01185
|
||||
15/06/2019,OK,Oui,Régionale Moyenne Distance,Besançon,25,Régionale Moyenne Distance,Régional,Pédestre,MD,2517,ORIENTATION TEAM BESANCON,,,TINCHANT Johann (747),,Emmanuel Flicoteaux,,orientationteambesancon@gmail.com,,,47.242188,6.02007,Besançon,0.98,municipality,25056,,Besançon,,25000,Besançon,"25, Doubs, Bourgogne-Franche-Comté (Franche-Comté)",25056
|
||||
15/06/2019,OK,Oui,Régionale CO à VTT Moyenne Distance,Mellecey,71,Régionale CO à VTT Moyenne Distance,Régional,VTT,MD,71,Saône-et-Loire,,,,,Pascal Figuiere,,Pascal.Figuiere@wanadoo.fr,,,46.810281,4.727275,Mellecey,0.92,municipality,71292,,Mellecey,,71640,Mellecey,"71, Saône-et-Loire, Bourgogne-Franche-Comté (Bourgogne)",71292
|
||||
15/06/2019,OK,Non,Coupe du jura - Mass Start,Prémanon,39,Départementale pédestre (autre),Départemental,Pédestre,,3913,ORIENTATION HAUT-JURA,,,,,,,pbobin@hotmail.fr,,,46.461624,6.030307,Prémanon,0.92,municipality,39441,,Prémanon,,39220,Prémanon,"39, Jura, Bourgogne-Franche-Comté (Franche-Comté)",39441
|
||||
15/06/2019,Course annulée,Non,ZOMB'IN THE DARK,Forêt de SIVENS,81,Animation,Départemental,Pédestre,,8105,BALISE ORIENTATION ALBIGEOISE,,,,,Christian ESCUDIE,670069289,escudie.c81@gmail.com,,,48.838699,-1.047462,Rue de la Forêt (Saint-Sever-Calvados) 14380 Noues de Sienne,0.24,street,14658_2600_3712fa,,Rue de la Forêt (Saint-Sever-Calvados),,14380,Noues de Sienne,"14, Calvados, Normandie (Basse-Normandie)",14658
|
||||
15/06/2019,OK,Oui,2 jours en forez,La Chapelle en Lafaye,42,Championnat de Ligue Moyenne Distance,Régional,Pédestre,MD,4204,BOUSSOLE EN FOREZ,ROUILLER Thomas (843),DEROBERT-MAZURE Jean-Charles (11719),BODELET Herve (132),ROUILLER Thomas (843),,,,,,45.4628,3.987889,La Chapelle-en-Lafaye,0.92,municipality,42050,,La Chapelle-en-Lafaye,,42380,La Chapelle-en-Lafaye,"42, Loire, Auvergne-Rhône-Alpes (Rhône-Alpes)",42050
|
||||
15/06/2019,OK,Non,RAID URBAIN,SAINT PRIEST,69,Raid Multisport Court,Départemental,Raid Multisport,Raid,6906,AMICALE LAIQUE DE COURSE D'ORIENTATION DE ST PRIEST,,,,,,,,http://www.ville-saint-priest.fr/,,45.696225,4.943137,Saint-Priest,0.95,municipality,69290,,Saint-Priest,,69800,Saint-Priest,"69, Rhône, Auvergne-Rhône-Alpes (Rhône-Alpes)",69290
|
||||
15/06/2019,OK,Non,Passage de Balises de Couleur,Drôme des collines,26,Passage de Balises de Couleur,Régional,Pédestre,,2604,CLUB DE ROMANS DE COURSE D'ORIENTATION,,,,,,,,,,45.057721,4.969309,Route des Collines 26260 Clérieux,0.64,street,26096_XXXX_1d0387,,Route des Collines,,26260,Clérieux,"26, Drôme, Auvergne-Rhône-Alpes (Rhône-Alpes)",26096
|
||||
16/06/2019,OK,Oui,Week-End O ChampDuF,La Serva - BELMONT,67,Régionale Longue Distance,Régional,Pédestre,LD,6709,SKI CLUB BARR,VUILLEMARD Marie (14238),,BAGUEREY Gilles (320),VUILLEMARD Marie (14238),Claude VOGT,03 88 50 88 55,claudechristiane.vogt@estvideo.fr,http://www.ski-club-barr.fr/,,48.407541,7.257129,Route de la Serva 67130 Belmont,0.57,street,67027_XXXX_9e039b,,Route de la Serva,,67130,Belmont,"67, Bas-Rhin, Grand-Est (Alsace)",67027
|
||||
16/06/2019,OK,Oui,Championnat de ligue Sprint - C2,Paris,75,Championnat de Ligue Sprint,Régional,Pédestre,Sprint,7512,RAID ORIENTATION DE PARIS,PHILIPPOT Etienne (1945),,GROSHENS Didier (2252),,Stéphane DRUZETIC,06.63.70.14.61,president@raid-o-paris.org,http://www.raid-o-paris.org/,Challenge O Paris 2019 - C2,48.8589,2.3469,Paris,1.0,municipality,75056,,Paris,,75000,Paris,"75, Île-de-France",75056
|
||||
16/06/2019,OK,Non,Challenge O Paris 2019 - C3,Paris,75,Départementale Sprint,Départemental,Pédestre,Sprint,7512,RAID ORIENTATION DE PARIS,,,,,Stéphane DRUZETIC,06.63.70.14.61,president@raid-o-paris.org,http://www.raid-o-paris.org/,,48.8589,2.3469,Paris,1.0,municipality,75056,,Paris,,75000,Paris,"75, Île-de-France",75056
|
||||
16/06/2019,OK,Non,Challenge O'Précision - Temp'O,Casteljaloux,47,Régionale pédestre (autre),Régional,Pédestre,,4705,NATURE ORIENTATION RANDONNEE DETENTE,,,MIREMENDE J-Pierre (122),,Claude PARIZOTTO,618138264,o-nerac@orange.fr,http://www.o-nerac.fr/,,44.313957,0.087014,Casteljaloux,0.94,municipality,47052,,Casteljaloux,,47700,Casteljaloux,"47, Lot-et-Garonne, Nouvelle-Aquitaine (Aquitaine)",47052
|
||||
16/06/2019,OK,Oui,Championnat de Ligue CO à VTT Longue Distance,Givry,71,Championnat de Ligue CO à VTT Longue Distance,Régional,VTT,LD,71,Saône-et-Loire,,,,,Pascal Figuiere,,Pascal.Figuiere@wanadoo.fr,,,46.782138,4.742111,Givry,0.94,municipality,71221,,Givry,,71640,Givry,"71, Saône-et-Loire, Bourgogne-Franche-Comté (Bourgogne)",71221
|
||||
16/06/2019,OK,Non,2 jours en forez,La Chapelle en Lafaye,42,Départementale Longue Distance,Départemental,Pédestre,LD,4204,BOUSSOLE EN FOREZ,,,,,,,,,,45.4628,3.987889,La Chapelle-en-Lafaye,0.92,municipality,42050,,La Chapelle-en-Lafaye,,42380,La Chapelle-en-Lafaye,"42, Loire, Auvergne-Rhône-Alpes (Rhône-Alpes)",42050
|
||||
16/06/2019,OK,Non,Départementale Moyenne Distance,,31,Départementale Moyenne Distance,Départemental,Pédestre,MD,3105,TOULOUSE OLYMPIQUE AEROSPATIALE CLUB,,,,,,,,https://www.toac-orientation.fr/,,,,,,,,,,,,,,
|
||||
16/06/2019,OK,Oui,O'Alpine,Dévoluy,5,Régionale Longue Distance,Régional,Pédestre,LD,504,HAUTES ALPES ORIENTATION,MONCLARD Jerome (16714),VADROT Alexis (25507),,,Fred Prevot,616225206,haorientation@gmail.com,https://www.facebook.com/haorientation/,Entrainement la veille sur Super Dévoluy pour que le week-end soit complet !,44.692487,5.940151,Le Dévoluy,0.63,municipality,05139,,Le Dévoluy,,05250,Le Dévoluy,"05, Hautes-Alpes, Provence-Alpes-Côte d'Azur",05139
|
||||
16/06/2019,OK,Non,2 jours en Forez O Score,La Chapelle en Lafaye,42,Animation,Départemental,Pédestre,,4204,BOUSSOLE EN FOREZ,,,,,Contact@boussole-en-forez.fr,,,,,45.4628,3.987889,La Chapelle-en-Lafaye,0.92,municipality,42050,,La Chapelle-en-Lafaye,,42380,La Chapelle-en-Lafaye,"42, Loire, Auvergne-Rhône-Alpes (Rhône-Alpes)",42050
|
||||
18/06/2019,OK,Non,CO Tour de Sophia -Etape 5,Valbonne,6,Départementale Longue Distance,Départemental,Pédestre,LD,615,VALBONNE SOPHIA ANTIPOLIS ORIENTATION,,,,,,,contatc@vsaorientation.com,http://vsaorientation.com/,,44.572605,6.073739,Valbonne 05000 Gap,0.92,locality,05061_XXXX_f4199f,,Valbonne,,05000,Gap,"05, Hautes-Alpes, Provence-Alpes-Côte d'Azur",05061
|
||||
19/06/2019,OK,Non,Challenge Grenoblois Etape 5,Bassin Grenoblois,38,Animation,Départemental,Pédestre,,38,Isère,,,,,JM Bouchet,631280713,bouchet.jean-michel@wanadoo.fr,https://cdco38.fr/,"Course de promotion de la course d'Orientation ouverte à tous
|
||||
Voreppe",14.770338,-61.013472,Bassin Noir 97230 Sainte-Marie,0.42,street,97228_B005_3b5820,,Bassin Noir,,97230,Sainte-Marie,"972, Martinique",97228
|
||||
19/06/2019,OK,Non,Trophée de Saint Quentin en Yvelines,,78,Départementale pédestre (autre),Départemental,Pédestre,,7807,GUYANCOURT ORIENTATION 78,,,,,Eric Mougel,06.17.98.65.51,contact@go78.org,http://www.go78.org/,,,,,,,,,,,,,,
|
||||
19/06/2019,OK,Non,Challenge Poitiers CO - 4° étape,"Béruges - ""le Verger Marion""",86,Départementale pédestre (autre),Départemental,Pédestre,,8607,POITIERS COURSE D'ORIENTATION,,,,,Jérôme Marck,,contact@poitiersco.org,https://www.poitiersco.org/,Départs 17h-19h,46.570886,0.19925,Rue du Verger Bonnet 86190 Béruges,0.38,street,86024_0070_4aac2e,,Rue du Verger Bonnet,,86190,Béruges,"86, Vienne, Nouvelle-Aquitaine (Poitou-Charentes)",86024
|
||||
22/06/2019,OK,Non,RAID MELSUINE,Vouvant,85,Raid Multisport Ultra,Départemental,Raid Multisport,Raid,8505,LES ECHAPPES DE MELUSINE,,,,,DAVID BAILLY,632319268,echappes-de-melusine@netcourrier.com,http://echappes.de.melusine.free.fr/,"Raid Mélusine (VTT, CO, Canoë, épreuves de tir, spéciales,...) 3 formats de proposés :
|
||||
Samedi 22/06 : Raid découverte (30km)
|
||||
Dimanche 23/06 : Raid Aventure (60km)
|
||||
Samedi et dimanche 22et23/06 : Raid enduro (130km)",46.571225,-0.769568,Vouvant,0.92,municipality,85305,,Vouvant,,85120,Vouvant,"85, Vendée, Pays-de-la-Loire",85305
|
||||
22/06/2019,OK,Non,ZOMB'IN THE DARK,Parc de Lacroix-Laval,69,Animation,Départemental,Pédestre,,6911,ASUL SPORTS NATURE,,,,,,,info@asul-sportsnature.fr,http://asul-sportsnature.fr/,,45.784648,4.720652,Avenue de Lacroix-Laval 69280 Marcy-l'Étoile,0.56,street,69127_XXXX_596694,,Avenue de Lacroix-Laval,,69280,Marcy-l'Étoile,"69, Rhône, Auvergne-Rhône-Alpes (Rhône-Alpes)",69127
|
||||
22/06/2019,OK,Oui,Nationale Sud-Ouest - Moyenne Distance,Le Grand Crohot,33,Nationale,National,Pédestre,LD,33,Gironde,GUTSCHENRITTER Guy (1808),,CHASSEUR Patrick (957),FLAMENT Régis (1790),HERVE Cyril,614280594,cherve88@gmail.com,,,44.796193,-1.226368,Le Grand Crohot 33950 Lège-Cap-Ferret,0.91,locality,33236_XXXX_c8d869,,Le Grand Crohot,,33950,Lège-Cap-Ferret,"33, Gironde, Nouvelle-Aquitaine (Aquitaine)",33236
|
||||
22/06/2019,OK,Non,Défi des 3 Vallées,Creully sur Seulles,14,Raid Multisport Long,Départemental,Raid Multisport,Raid,1408,VIK'AZIM,,,,,,651742096,pigeon.eric@vikazim.fr,http://vikazim.fr/,,49.283537,-0.54099,Creully sur Seulles,0.94,municipality,14200,,Creully sur Seulles,,14480,Creully sur Seulles,"14, Calvados, Normandie (Basse-Normandie)",14200
|
||||
22/06/2019,OK,Oui,Nationale Nord-Est - Moyenne Distance,TREPOT ,25,Nationale,National,Pédestre,LD,2508,BALISE 25 BESANCON,GREVET Claudie (15296),,LASOUCHE Johann (2472),POGU Philippe (2409),Gisèle ABISSE,03.81.61.14.75,gisele.abisse1@orange.fr,http://www.balise25.fr/,,47.165771,6.149212,Trépot,0.92,municipality,25569,,Trépot,,25620,Trépot,"25, Doubs, Bourgogne-Franche-Comté (Franche-Comté)",25569
|
||||
23/06/2019,OK,Oui,Nationale Sud-Ouest - Longue Distance,Le Grand Crohot,33,Nationale,National,Pédestre,LD,33,Gironde,GUTSCHENRITTER Guy (1808),,CHASSEUR Patrick (957),FLAMENT Régis (1790),HERVE Cyril,614280594,cherve88@gmail.com,,"Délégué stagiaire : RAMBLIERE Frédéric
|
||||
CC stagiaire : LE COZ Joël",44.796193,-1.226368,Le Grand Crohot 33950 Lège-Cap-Ferret,0.91,locality,33236_XXXX_c8d869,,Le Grand Crohot,,33950,Lège-Cap-Ferret,"33, Gironde, Nouvelle-Aquitaine (Aquitaine)",33236
|
||||
23/06/2019,OK,Oui,Nationale Nord-Est - Longue Distance (WRE),Trépot,25,Nationale,National,Pédestre,LD,2508,BALISE 25 BESANCON,GREVET Claudie (15296),,LASOUCHE Johann (2472),POGU Philippe (2409),Gisèle ABISSE,03.81.61.14.75,gisele.abisse1@orange.fr,http://www.balise25.fr/,IOF Event Advisor : Philippe POGU,47.165771,6.149212,Trépot,0.92,municipality,25569,,Trépot,,25620,Trépot,"25, Doubs, Bourgogne-Franche-Comté (Franche-Comté)",25569
|
||||
29/06/2019,OK,Non,ZOMB' IN THE DARK,NEMOURS77 -POLIGNY 45,77,Départementale de Nuit,Départemental,Pédestre,Nuit,7716,BALISE 77 FONTAINEBLEAU-AVON,,,OLIVIER Sandra (2179),,SANDRA OLIVIER,06.20.58.29.82,balise77@gmail.com,http://www.balise77.com/,"course de nuit avec des ""zombies"". coureurs par 2 (majeurs)",47.898886,1.91438,Rue Coligny 45000 Orléans,0.29,street,45234_1820_ffcc2d,,Rue Coligny,,45000,Orléans,"45, Loiret, Centre-Val de Loire",45234
|
||||
29/06/2019,OK,Non,Défi Montignon,Foret de Fontainebleau,77,Raid Orientation (hors CF),Départemental,Raid Orientation,Raid,7707,ORIENTATION PLEIN AIR DE MONTIGNY-SUR-LOING,,,,,Patrick Prevost,,prevostpatrick@aol.com,https://www.opamontigny.fr/,,48.41226,2.742754,Avenue de la Forêt 77300 Fontainebleau,0.63,street,77186_XXXX_39c12a,,Avenue de la Forêt,,77300,Fontainebleau,"77, Seine-et-Marne, Île-de-France",77186
|
||||
29/06/2019,OK,Oui,Atlantic'O : Régionale Moyenne Distance,Vieux-Boucau-les-Bains,40,Régionale Moyenne Distance,Régional,Pédestre,MD,4012,BALADE RANDONNEE ORIENTATION SOUSTONS,BONDIVENNE Marie (8047),,TASTET Xavier (23572),BONDIVENNE Marie (8047),xavier TASTET,609705612,noelisanna@gmail.com,https://www.soustons-orientation.fr/,,43.78564,-1.404339,Vieux-Boucau-les-Bains,0.92,municipality,40328,,Vieux-Boucau-les-Bains,,40480,Vieux-Boucau-les-Bains,"40, Landes, Nouvelle-Aquitaine (Aquitaine)",40328
|
||||
29/06/2019,OK,Oui,Atlantic'O : Régionale Sprint,Vieux-Boucau-les-Bains,40,Régionale Sprint,Régional,Pédestre,Sprint,4012,BALADE RANDONNEE ORIENTATION SOUSTONS,BONDIVENNE Marie (8047),,LAVIELLE Alain (965),,xavier TASTET,609705612,noelisanna@gmail.com,https://www.soustons-orientation.fr/,,43.78564,-1.404339,Vieux-Boucau-les-Bains,0.92,municipality,40328,,Vieux-Boucau-les-Bains,,40480,Vieux-Boucau-les-Bains,"40, Landes, Nouvelle-Aquitaine (Aquitaine)",40328
|
||||
29/06/2019,OK,Non,Départementale Moyenne Distance,Jarrier,73,Départementale Moyenne Distance,Départemental,Pédestre,MD,7305,ESPACE CHAMBERY ORIENTATION 73 - ECHO 73,ASTRADE Laurent (8203),,,,L. Astrade ,,laurent.astrade@free.fr,http://Www.echo7305.com/,Inscription par mail avant le 27 juin à : georges.trevisan73@gmail.com,45.280236,6.315805,Jarrier,0.92,municipality,73138,,Jarrier,,73300,Jarrier,"73, Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",73138
|
||||
29/06/2019,OK,Non,Challenge National des Ecoles de CO - Zone Nord-Est,corcieux,88,Challenge National des Écoles de Course d'Orientation,National,Pédestre,,88,Vosges,,,,,françois Luthringer,688138908,cdco.vosges@gmail.com,http://www.vosges.ffcorientation.fr/,,48.171847,6.87846,Corcieux,0.94,municipality,88115,,Corcieux,,88430,Corcieux,"88, Vosges, Grand-Est (Lorraine)",88115
|
||||
29/06/2019,OK,Non,16ème Défi de la Pierre Percée,Souleuvre-en-Bocage,14,Raid Orientation (hors CF),Départemental,Raid Orientation,Raid,1406,VIR'KING RAID,,,,,Olivier FAUDET,06 82 96 49 97,o.faudet@bocage-normand.com,http://www.virkingraid.org/,plus de 400 participants sur notre raid multisports 100 % orientation (trail ; CO ; VTT ; canoë ; Tir à l'arc et épreuve surprise). 4 distances (65 km ; 45 km ; 25 km et 10 km). Inscription à partir du 1er mai 2019. Le raid à ne pas manquer !,48.936827,-0.839857,Souleuvre-en-Bocage,0.94,municipality,14061,,Souleuvre-en-Bocage,,14260,Souleuvre-en-Bocage,"14, Calvados, Normandie (Basse-Normandie)",14061
|
||||
30/06/2019,OK,Oui,Atlantic'O : Régionale Longue Distance,Vieux-Boucau-les-Bains,40,Régionale Longue Distance,Régional,Pédestre,LD,4012,BALADE RANDONNEE ORIENTATION SOUSTONS,PERIN Mathieu (17229),,CHASSEUR Patrick (957),JORDAN Frederic (611),xavier TASTET,609705612,noelisanna@gmail.com,https://www.soustons-orientation.fr/,,43.78564,-1.404339,Vieux-Boucau-les-Bains,0.92,municipality,40328,,Vieux-Boucau-les-Bains,,40480,Vieux-Boucau-les-Bains,"40, Landes, Nouvelle-Aquitaine (Aquitaine)",40328
|
||||
30/06/2019,OK,Oui,Régionale Longue Distance,Jarrier,73,Régionale Longue Distance,Régional,Pédestre,LD,7305,ESPACE CHAMBERY ORIENTATION 73 - ECHO 73,MASCARELL Henri (8928),,GREBEL Laurence-Marie (6064),MASCARELL Henri (8928),L. Astrade ,,laurent.astrade@free.fr,http://Www.echo7305.com/,,45.280236,6.315805,Jarrier,0.92,municipality,73138,,Jarrier,,73300,Jarrier,"73, Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",73138
|
||||
30/06/2019,OK,Non,Challenge National des Ecoles de CO - Zone Nord-Est,corcieux,88,Challenge National des Écoles de Course d'Orientation,National,Pédestre,,88,Vosges,,,,,françois Luthringer,688138908,cdco.vosges@gmail.com,http://www.vosges.ffcorientation.fr/,,48.171847,6.87846,Corcieux,0.94,municipality,88115,,Corcieux,,88430,Corcieux,"88, Vosges, Grand-Est (Lorraine)",88115
|
||||
30/06/2019,OK,Non,Départementale Moyenne Distance,Aubure,68,Départementale Moyenne Distance,Départemental,Pédestre,MD,6804,CLUB D'ORIENTATION DE COLMAR,,,,,Kirian Meyer,,admin@cocolmar.fr,http://www.cocolmar.fr/,,48.197067,7.219916,Aubure,0.92,municipality,68014,,Aubure,,68150,Aubure,"68, Haut-Rhin, Grand-Est (Alsace)",68014
|
||||
30/06/2019,OK,Non,Départementale Longue Distance,plappeville,57,Départementale Longue Distance,Départemental,Pédestre,LD,5702,C.S.A. DE LA GARNISON DE METZ,,,,,Ludovic ROBERT,,,http://www.metz-orientation.fr/,,49.130462,6.121872,Plappeville,0.92,municipality,57545,,Plappeville,,57050,Plappeville,"57, Moselle, Grand-Est (Lorraine)",57545
|
||||
30/06/2019,OK,Oui,Challenge LOCO n°3,Lézignan-Corbières,11,Départementale pédestre (autre),Départemental,Pédestre,,1105,LEZIGNANAIS ORIENTATION CLUB OCCITAN,,,,,,,clubloco@free.fr,http://clubloco.free.fr/,,43.200443,2.756552,Lézignan-Corbières,0.94,municipality,11203,,Lézignan-Corbières,,11200,Lézignan-Corbières,"11, Aude, Occitanie (Languedoc-Roussillon)",11203
|
||||
30/06/2019,OK,Non,Départementale Longue Distance,Sivens,81,Départementale Longue Distance,Départemental,Pédestre,LD,8105,BALISE ORIENTATION ALBIGEOISE,,,,,ESCUDIE Christian,670069289,escudie.c@wanadoo.fr,http://boa81.free.fr/,,45.779871,4.252264,Civens,0.61,municipality,42065,,Civens,,42110,Civens,"42, Loire, Auvergne-Rhône-Alpes (Rhône-Alpes)",42065
|
||||
30/06/2019,OK,Non,16ème Défi de la Pierre Percée,Souleuvre-en-Bocage,14,Raid Multisport Court,Départemental,Raid Multisport,Raid,1406,VIR'KING RAID,,,,,Olivier faudet,682964997,o.faudet@bocage-normand.com,http://www.virkingraid.org/,"raid des P'tits Vikings (8 / 12 km). A partir de 8 ans, venez découvrir les différentes activités sportives d'un raid nature multipsorts.",48.936827,-0.839857,Souleuvre-en-Bocage,0.94,municipality,14061,,Souleuvre-en-Bocage,,14260,Souleuvre-en-Bocage,"14, Calvados, Normandie (Basse-Normandie)",14061
|
||||
03/07/2019,OK,Non,Trophée de Saint Quentin en Yvelines,,78,Départementale pédestre (autre),Départemental,Pédestre,,7807,GUYANCOURT ORIENTATION 78,,,,,Eric Mougel,06.17.98.65.51,contact@go78.org,http://www.go78.org/,,,,,,,,,,,,,,
|
||||
06/07/2019,OK,Oui,Verta'CO,Villard de lans,38,Régionale Longue Distance,Régional,Pédestre,LD,3811,GRENOBLE UNIVERSITE CLUB COURSE D'ORIENTATION,,,BOURSEAUX Philippe (4081),,christine Raucoules,685157239,contact@guc-co.fr,http://www.guc-co.fr/,"Dans le cadre de la Verta'CO, un week end de CO en Vercors Nord, une longue distance sur une carte en grande partie nouvelle le samedi aprés midi.",45.069683,5.55059,Villard-de-Lans,0.94,municipality,38548,,Villard-de-Lans,,38250,Villard-de-Lans,"38, Isère, Auvergne-Rhône-Alpes (Rhône-Alpes)",38548
|
||||
06/07/2019,OK,Non,Trail'Orientation l'Aventure Ubayenne - 3ème édition,Saint-Paul-sur-Ubaye,4,Raid Orientation (hors CF),Départemental,Raid Orientation,Raid,1318,TEAM LIFE EXPERIENCE,,,,,Guillaume MATHURIN,678333826,aventure.ubayenne@gmail.com,http://www.aventure-ubayenne.fr/,"3 parcours : 5km / 12km / 25km
|
||||
Enchainement de 3 types de cartes (IOF, photo aérienne, IGN)",44.514757,6.750689,Saint-Paul-sur-Ubaye,0.92,municipality,04193,,Saint-Paul-sur-Ubaye,,04530,Saint-Paul-sur-Ubaye,"04, Alpes-de-Haute-Provence, Provence-Alpes-Côte d'Azur",04193
|
||||
07/07/2019,OK,Non,Verta'CO,Villard de lans,38,Départementale Sprint,Départemental,Pédestre,Sprint,3811,GRENOBLE UNIVERSITE CLUB COURSE D'ORIENTATION,,,,,christine Raucoules,685157239,contact@guc-co.fr,http://www.guc-co.fr/,dans le cadre du weekend de la verta'CO un sprint urbain dans le village,45.069683,5.55059,Villard-de-Lans,0.94,municipality,38548,,Villard-de-Lans,,38250,Villard-de-Lans,"38, Isère, Auvergne-Rhône-Alpes (Rhône-Alpes)",38548
|
||||
07/07/2019,OK,Oui,"O'France - Etape 1, Sprint (WRE)",Montdauphin,5,Manifestation Internationale Open Sprint,National,Pédestre,Sprint,PZ,Provence-Alpes-Côte d'Azur,MERMIN Eric (484),,,STEFANINI Jean-Philippe (1291),,,ofrance2019@yahoo.com,http://www.o-france.fr/2019-foot/fr,"IOF Event Adviser : STEFANINI Jean-Philippe
|
||||
CCN : DELI Georges et PAPILLON Daniel",48.850976,3.427902,Montdauphin,0.92,municipality,77303,,Montdauphin,,77320,Montdauphin,"77, Seine-et-Marne, Île-de-France",77303
|
||||
08/07/2019,OK,Oui,"O'France - Etape 2, Moyenne Distance (WRE)",Vars,5,Manifestation Internationale Open Moyenne Distance,National,Pédestre,MD,PZ,Provence-Alpes-Côte d'Azur,MERMIN Eric (484),,,STEFANINI Jean-Philippe (1291),,,,http://www.o-france.fr/2019-foot/fr,"IOF Event Adviser : STEFANINI Jean-Philippe
|
||||
CCN : DELI Georges et PAPILLON Daniel",47.533974,5.532489,Vars,0.92,municipality,70523,,Vars,,70600,Vars,"70, Haute-Saône, Bourgogne-Franche-Comté (Franche-Comté)",70523
|
||||
09/07/2019,OK,Oui,"O'France - Etape 3, Longue Distance",Vars,5,Manifestation Internationale Open Longue Distance,National,Pédestre,LD,PZ,Provence-Alpes-Côte d'Azur,MERMIN Eric (484),,,STEFANINI Jean-Philippe (1291),,,,http://www.o-france.fr/2019-foot/fr,CCN : DELI Georges et PAPILLON Daniel,47.533974,5.532489,Vars,0.92,municipality,70523,,Vars,,70600,Vars,"70, Haute-Saône, Bourgogne-Franche-Comté (Franche-Comté)",70523
|
||||
11/07/2019,OK,Oui,"O'France - Etape 4, Moyenne Distance",Risoul,5,Manifestation Internationale Open Moyenne Distance,National,Pédestre,MD,PZ,Provence-Alpes-Côte d'Azur,MERMIN Eric (484),,,STEFANINI Jean-Philippe (1291),,,,http://www.o-france.fr/2019-foot/fr,CCN : DELI Georges et PAPILLON Daniel,44.648251,6.63964,Risoul,0.92,municipality,05119,,Risoul,,05600,Risoul,"05, Hautes-Alpes, Provence-Alpes-Côte d'Azur",05119
|
||||
12/07/2019,OK,Oui,"O'France - Etape 5, Longue Distance",Risoul,5,Manifestation Internationale Open Longue Distance,National,Pédestre,LD,PZ,Provence-Alpes-Côte d'Azur,MERMIN Eric (484),,,STEFANINI Jean-Philippe (1291),,,,http://www.o-france.fr/2019-foot/fr,CCN : DELI Georges et PAPILLON Daniel,44.648251,6.63964,Risoul,0.92,municipality,05119,,Risoul,,05600,Risoul,"05, Hautes-Alpes, Provence-Alpes-Côte d'Azur",05119
|
||||
17/07/2019,OK,Non,x'trême Blanche ,selonnet,4,Animation,Départemental,Pédestre,,405,UNION SPORTIVE DE SEYNE ET DE LA BLANCHE,,,,,mireille savornin,492350917,louvirasoleu@hotmail.fr,,"pédestre en course au score
|
||||
vtt en course au score
|
||||
trail orientation ( 15 kms et 6 kms , initiation 5 kms )",44.371256,6.307786,Selonnet,0.92,municipality,04203,,Selonnet,,04140,Selonnet,"04, Alpes-de-Haute-Provence, Provence-Alpes-Côte d'Azur",04203
|
||||
17/07/2019,OK,Non,x'trême Blanche ,selonnet ,4,Animation,Départemental,Pédestre,,405,UNION SPORTIVE DE SEYNE ET DE LA BLANCHE,,,,,mireille savornin ,492350917,louvirasoleu@hotmail.fr,,"trail orientation adultes et trails enfants avec trois distances
|
||||
parcours dans le village en course d'orientation
|
||||
course au score sur la nouvelle carte autour du village pédestre et vtt ",44.371256,6.307786,Selonnet,0.92,municipality,04203,,Selonnet,,04140,Selonnet,"04, Alpes-de-Haute-Provence, Provence-Alpes-Côte d'Azur",04203
|
||||
26/07/2019,OK,Non,ARDECH'O TOUR,Montagne Ardéchoise,7,Départementale Sprint,Départemental,Pédestre,Sprint,710,ASSOCIATION DEPARTEMENTALE POUR LE DEVELOPPEMENT DU SKI NORDIQUE EN ARDECHE,,,,,,,fanny.roche07@laposte.net,,,45.08324,4.625414,Rue de l'Ardechoise 07410 Saint-Félicien,0.41,street,07236_XXXX_044319,,Rue de l'Ardechoise,,07410,Saint-Félicien,"07, Ardèche, Auvergne-Rhône-Alpes (Rhône-Alpes)",07236
|
||||
27/07/2019,OK,Non,ARDECH'O TOUR,Montagne Ardéchoise,7,Départementale Longue Distance,Départemental,Pédestre,LD,710,ASSOCIATION DEPARTEMENTALE POUR LE DEVELOPPEMENT DU SKI NORDIQUE EN ARDECHE,,,,,,,fanny.roche07@laposte.net,,,45.08324,4.625414,Rue de l'Ardechoise 07410 Saint-Félicien,0.41,street,07236_XXXX_044319,,Rue de l'Ardechoise,,07410,Saint-Félicien,"07, Ardèche, Auvergne-Rhône-Alpes (Rhône-Alpes)",07236
|
||||
28/07/2019,OK,Non,ARDECH'O TOUR,Montagne Ardéchoise,7,Départementale Moyenne Distance,Départemental,Pédestre,MD,710,ASSOCIATION DEPARTEMENTALE POUR LE DEVELOPPEMENT DU SKI NORDIQUE EN ARDECHE,,,,,,,fanny.roche07@laposte.net,,,45.08324,4.625414,Rue de l'Ardechoise 07410 Saint-Félicien,0.41,street,07236_XXXX_044319,,Rue de l'Ardechoise,,07410,Saint-Félicien,"07, Ardèche, Auvergne-Rhône-Alpes (Rhône-Alpes)",07236
|
||||
16/08/2019,OK,Non,Bugey-vous ! Ain tour de CO,Les Plans d'hotonnes,1,Départementale de Nuit,Départemental,Pédestre,Nuit,109,O'BUGEY,,,,,,,,,,46.038053,5.700303,Les Plans (Hotonnes) 01260 Haut Valromey,0.77,street,01187_B076_c94171,,Les Plans (Hotonnes),,01260,Haut Valromey,"01, Ain, Auvergne-Rhône-Alpes (Rhône-Alpes)",01187
|
||||
24/08/2019,OK,Oui,Nationale Nord-Est CO à VTT - Sprint,EPINAL,88,Nationale CO à VTT Sprint,National,VTT,Sprint,8807,LOISIR ORIENTATION SANCHEY,BLUM Virginie (12646),,VERDENAL Benoit (6599),BLUM Virginie (12646),Dominique ETIENNE,685629114,etiendom@yahoo.fr,,,48.173396,6.451668,Épinal,0.97,municipality,88160,,Épinal,,88000,Épinal,"88, Vosges, Grand-Est (Lorraine)",88160
|
||||
24/08/2019,OK,Non,Manche de la Coupe de France de Raid Orientation - Raid Bombis,Chenôve,21,Championnat de France de Raid Orientation,National,Raid Orientation,Raid,2105,ASS. DE DECOUVERTE ET D'ORIENTATION DE CHENOVE,COLLOMB Andre (2904),,GUILLON Alain (1854),COLLOMB Andre (2904),Loic Venon,06 85 57 84 85,contact.adoc@gmail.com,http://www.adoc-chenove.org/index.php/fr/raid-bombis,,47.290284,5.006086,Chenôve,0.94,municipality,21166,,Chenôve,,21300,Chenôve,"21, Côte-d'Or, Bourgogne-Franche-Comté (Bourgogne)",21166
|
||||
25/08/2019,OK,Oui,Nationale CO à VTT Longue Distance,FONTENAY,88,Nationale CO à VTT Longue Distance,National,VTT,LD,8807,LOISIR ORIENTATION SANCHEY,BLUM Virginie (12646),,VERDENAL Benoit (6599),BLUM Virginie (12646),Dominique ETIENNE,685629114,etiendom@yahoo.fr,http://losanchey.wixsite.com/mtbo/,,44.119797,3.087198,Fontenay 12100 Millau,0.93,street,12145_B183_24ad0d,,Fontenay,,12100,Millau,"12, Aveyron, Occitanie (Midi-Pyrénées)",12145
|
||||
31/08/2019,OK,Oui,Régionale CO à VTT Moyenne Distance,Corcelles les Monts,21,Régionale CO à VTT Moyenne Distance,Régional,VTT,MD,2104,VALLEE DE L'OUCHE ORIENTATION,,,LALEVEE Jean-David (3136),,Jean-David LALEVEE,,jdavidlalevee@yahoo.fr,,,47.294153,4.937401,Corcelles-les-Monts,0.92,municipality,21192,,Corcelles-les-Monts,,21160,Corcelles-les-Monts,"21, Côte-d'Or, Bourgogne-Franche-Comté (Bourgogne)",21192
|
||||
31/08/2019,OK,Oui,Régionale Sprint,Corcelles les Monts,21,Régionale Sprint,Régional,Pédestre,Sprint,2104,VALLEE DE L'OUCHE ORIENTATION,,,LALEVEE Jean-David (3136),,Jean-David LALEVEE,,jdavidlalevee@yahoo.fr,,,47.294153,4.937401,Corcelles-les-Monts,0.92,municipality,21192,,Corcelles-les-Monts,,21160,Corcelles-les-Monts,"21, Côte-d'Or, Bourgogne-Franche-Comté (Bourgogne)",21192
|
||||
31/08/2019,OK,Non,Coupe du Jura - Poursuite,Lamoura,39,Départementale pédestre (autre),Départemental,Pédestre,,3913,ORIENTATION HAUT-JURA,,,,,,,clem.ojura@gmail.com,,,46.394811,5.96669,Lamoura,0.92,municipality,39275,,Lamoura,,39310,Lamoura,"39, Jura, Bourgogne-Franche-Comté (Franche-Comté)",39275
|
||||
31/08/2019,OK,Non,Départementale Moyenne Distance,Gréolières,6,Départementale Moyenne Distance,Départemental,Pédestre,MD,615,VALBONNE SOPHIA ANTIPOLIS ORIENTATION,,,,,,,contact@vsaorientation.com,http://vsaorientation.com/,,43.795192,6.943528,Gréolières,0.92,municipality,06070,,Gréolières,,06620,Gréolières,"06, Alpes-Maritimes, Provence-Alpes-Côte d'Azur",06070
|
||||
01/09/2019,OK,Oui,Régionale Moyenne Distance,,67,Régionale Moyenne Distance,Régional,Pédestre,MD,6709,SKI CLUB BARR,GREVET Claudie (15296),,,GREVET Claudie (15296),Claude VOGT,,claudechristiane.vogt@estvideo.fr,,,,,,,,,,,,,,,
|
||||
01/09/2019,OK,Oui,Régionale CO à VTT Longue Distance,Dijon,21,Régionale CO à VTT Longue Distance,Régional,VTT,LD,2101,ASS. BOURGUIGNONNE DE COURSE D'ORIENTATION,,,GOLMARD Dominique (2670),,Denis PERDRIZET,,denis.perdrizet@orange.fr,,,47.322982,5.041742,Dijon,0.98,municipality,21231,,Dijon,,21000,Dijon,"21, Côte-d'Or, Bourgogne-Franche-Comté (Bourgogne)",21231
|
||||
01/09/2019,OK,Oui,Challenge PACA ,Caille (La Moulière),6,Régionale Moyenne Distance,Régional,Pédestre,MD,615,VALBONNE SOPHIA ANTIPOLIS ORIENTATION,POMET Eric (761),BERRIEN Olivier (16590),,,,,contact@vsaorientation.com,http://vsaorientation.com/,,43.764061,6.768704,La Mouliere 06750 Caille,0.77,street,06028_B029_2c2203,,La Mouliere,,06750,Caille,"06, Alpes-Maritimes, Provence-Alpes-Côte d'Azur",06028
|
||||
01/09/2019,OK,Non,RAID 2 GONDE,Sainte Radegonde,12,Raid Multisport Court,Départemental,Raid Multisport,Raid,1210,SPORT NATURE ST RADEGONDE,,,,,Bastien ROZENZWEJG,683752988,sportnaturestradegonde@gmail.com,http://raid2gonde.wordpress.com/,,44.458315,0.732604,Sainte-Radegonde 47300 Villeneuve-sur-Lot,0.93,locality,47323_XXXX_1eb68d,,Sainte-Radegonde,,47300,Villeneuve-sur-Lot,"47, Lot-et-Garonne, Nouvelle-Aquitaine (Aquitaine)",47323
|
||||
07/09/2019,OK,Oui,Régionale CO à VTT Longue Distance,Grand-Charmont,25,Régionale CO à VTT Longue Distance,Régional,VTT,LD,9006,ROYAL AZIMUT MONTBELIARD BELFORT ORIENTATION,,,STRIBEAU Michel (2937),,LEDI Jean-Michel ,620100488,jmledi@aol.com,http://www.ramborientation.fr/,,47.52673,6.822318,Grand-Charmont,0.92,municipality,25284,,Grand-Charmont,,25200,Grand-Charmont,"25, Doubs, Bourgogne-Franche-Comté (Franche-Comté)",25284
|
||||
07/09/2019,OK,Non,O'Lac d'Annecy,Poisy ,74,Animation,Départemental,Pédestre,,7404,ANNECY SPORTS ORIENTATION,,,,,Patrick Desbret,06.28.33.78.26,7404ra@annecyso.fr,http://annecyso.fr/aso/,,45.92187,6.062592,Poisy,0.92,municipality,74213,,Poisy,,74330,Poisy,"74, Haute-Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",74213
|
||||
07/09/2019,OK,Non,Etape Coupe Jurassienne,Clairvaux-Les-Lacs,39,Départementale pédestre (autre),Départemental,Pédestre,,3914,JURA SPORTS ORIENTATION,,,,,JB VIDEIRA,,jurasportsorientation@hotmail.fr,,,46.574186,5.747814,Clairvaux-les-Lacs,0.94,municipality,39154,,Clairvaux-les-Lacs,,39130,Clairvaux-les-Lacs,"39, Jura, Bourgogne-Franche-Comté (Franche-Comté)",39154
|
||||
07/09/2019,OK,Non,La 84,La Bastide des Jourdans,84,Régionale Ultra Longue Distance,Régional,Pédestre,,8405,CLUB SPORTIF PERTUISIEN,,,,,GIBIAT Frederic,490795364,frederic.gibiat@wanadoo.fr,http://csp-azimut.ouvaton.org/,,43.785195,5.633751,La Bastide-des-Jourdans,0.92,municipality,84009,,La Bastide-des-Jourdans,,84240,La Bastide-des-Jourdans,"84, Vaucluse, Provence-Alpes-Côte d'Azur",84009
|
||||
07/09/2019,OK,Non,D Day Raid,Creully sur Seulles,14,Raid Multisport Long,Départemental,Raid Multisport,Raid,1408,VIK'AZIM,,,,,,651742096,pigeon.eric@vikazm.fr,http://vikazim.fr/,,49.283537,-0.54099,Creully sur Seulles,0.94,municipality,14200,,Creully sur Seulles,,14480,Creully sur Seulles,"14, Calvados, Normandie (Basse-Normandie)",14200
|
||||
07/09/2019,OK,Non,Départementale Moyenne Distance,LACROUZETTE,81,Départementale Moyenne Distance,Départemental,Pédestre,MD,8104,AZIMUT ORIENTATION CASTRES,,,,,LAURENT AUDOUIN,563359183,laudouin@free.fr,https://azimut-orientation-castres.jimdo.com/,,43.663885,2.348028,Lacrouzette,0.92,municipality,81128,,Lacrouzette,,81210,Lacrouzette,"81, Tarn, Occitanie (Midi-Pyrénées)",81128
|
||||
08/09/2019,OK,Oui,Régionale Moyenne Distance,,67,Régionale Moyenne Distance,Régional,Pédestre,MD,6701,CLUB ORIENTATION STRASBOURG EUROPE,RIFFARD J-Claude (2445),,VOGT Claude (2558),RIFFARD J-Claude (2445),Renaud PHILIPPE,,renaudphilippe67@gmail.com,,,,,,,,,,,,,,,
|
||||
08/09/2019,OK,Oui,Régionale CO à VTT Moyenne Distance,Danjoutin,90,Régionale CO à VTT Moyenne Distance,Régional,VTT,MD,9006,ROYAL AZIMUT MONTBELIARD BELFORT ORIENTATION,,,STRIBEAU Michel (2937),,LEDI Jean-Michel,620100488,jmledi@aol.com,http://www.ramborientation.fr/,Contrôleur stagiaire (Jean-Michel LEDI),47.617296,6.86346,Danjoutin,0.94,municipality,90032,,Danjoutin,,90400,Danjoutin,"90, Territoire de Belfort, Bourgogne-Franche-Comté (Franche-Comté)",90032
|
||||
08/09/2019,Course reportée au 29/09/2019,Oui,Championnat de Ligue Sprint,Auriol,13,Championnat de Ligue Sprint,Régional,Pédestre,Sprint,1303,MARSEILLE COURSE ORIENTATION,,,,,Paul Visca,687495765,paul.visca@wanadoo.fr,http://www.marseille-course-orientation.com/,,43.368453,5.630733,Auriol,0.92,municipality,13007,,Auriol,,13390,Auriol,"13, Bouches-du-Rhône, Provence-Alpes-Côte d'Azur",13007
|
||||
08/09/2019,OK,Non,RAND'O FENSCH,FAMECK,57,Départementale pédestre (autre),Départemental,Pédestre,,5703,TOUT AZIMUT FAMECK,,,,,Céline LEMERCIER,661838187,bourcelinelm@gmail.com,,,49.299049,6.108683,Fameck,0.94,municipality,57206,,Fameck,,57290,Fameck,"57, Moselle, Grand-Est (Lorraine)",57206
|
||||
08/09/2019,OK,Non,Départementale Longue Distance,Forêt de SIVENS,81,Départementale Longue Distance,Départemental,Pédestre,LD,8105,BALISE ORIENTATION ALBIGEOISE,,,,,Christian ESCUDIE,670069289,escudie.c81@gmail.com,http://boa81.free.fr/,,48.838699,-1.047462,Rue de la Forêt (Saint-Sever-Calvados) 14380 Noues de Sienne,0.24,street,14658_2600_3712fa,,Rue de la Forêt (Saint-Sever-Calvados),,14380,Noues de Sienne,"14, Calvados, Normandie (Basse-Normandie)",14658
|
||||
08/09/2019,OK,Non,Animation,Villeneuve-sur-Lot,47,Animation,Départemental,Pédestre,,4708,VILLENEUVE-SUR-LOT ASSOCIATION SPORTIVE DE COURSE D'ORIENTATION,,,,,Jean-Marc FRECCHIAMI,,jeanmarc.frecchiami@orange.fr,https://www.vsl-co.fr/,Journée des associations,44.406923,0.704165,Villeneuve-sur-Lot,0.96,municipality,47323,,Villeneuve-sur-Lot,,47300,Villeneuve-sur-Lot,"47, Lot-et-Garonne, Nouvelle-Aquitaine (Aquitaine)",47323
|
||||
08/09/2019,OK,Non,D Day Raid,Creully sur Seulles,14,Raid Multisport Court,Départemental,Raid Multisport,Raid,1408,VIK'AZIM,,,,,,651742096,pigeon.eric@vikazm.fr,http://vikazim.fr/,,49.283537,-0.54099,Creully sur Seulles,0.94,municipality,14200,,Creully sur Seulles,,14480,Creully sur Seulles,"14, Calvados, Normandie (Basse-Normandie)",14200
|
||||
08/09/2019,OK,Oui,Championnat de Ligue CO à VTT Longue Distance,GUYOR,81,Championnat de Ligue CO à VTT Longue Distance,Régional,VTT,LD,8104,AZIMUT ORIENTATION CASTRES,ROCH Pierre (1320),,,,LAURENT AUDOUIN,563359183,laudouin@free.fr,https://azimut-orientation-castres.jimdo.com/,,45.490313,3.673317,Les Gayores 63940 Marsac-en-Livradois,0.15,street,63211_B307_470c88,,Les Gayores,,63940,Marsac-en-Livradois,"63, Puy-de-Dôme, Auvergne-Rhône-Alpes (Auvergne)",63211
|
||||
14/09/2019,OK,Non,Challenge Ardèche,Mézilhac- L'Areilladou,7,Départementale Moyenne Distance,Départemental,Pédestre,MD,703,VIV'AZIMUT 07,,,,,Laurent Vérité,475299064,laurent.verite0119@orange.fr,,Manche comptant pour le Challenge Ardèche de CO,44.794706,4.31748,L'Areilladou 07530 Mézilhac,0.74,locality,07158_XXXX_0c5bf1,,L'Areilladou,,07530,Mézilhac,"07, Ardèche, Auvergne-Rhône-Alpes (Rhône-Alpes)",07158
|
||||
14/09/2019,OK,Non,Championnat de France CO à VTT de Relais,INGRE,45,Championnat de France CO à VTT de Relais,National,VTT,Relais,4504,A.S.DE COURSE D'ORIENTATION D'ORLEANS,GENEVES Denis (2706),,DURRENS Remy (2573),GENEVES Denis (2706),Franck REINEN,662521822,franck.reinen@hotmail.fr,http://www.asco-orleans.com/,,47.920097,1.823124,Ingré,0.94,municipality,45169,,Ingré,,45140,Ingré,"45, Loiret, Centre-Val de Loire",45169
|
||||
14/09/2019,OK,Non,Départementale pédestre (autre),Lac du salagou,34,Départementale pédestre (autre),Départemental,Pédestre,,34,Hérault,,,,, Pierre Ferrand,634391657,cdco34@yahoo.fr,http://cdco34.fr/,,43.546092,3.771842,Place du Salagou 34690 Fabrègues,0.69,street,34095_XXXX_7fca6a,,Place du Salagou,,34690,Fabrègues,"34, Hérault, Occitanie (Languedoc-Roussillon)",34095
|
||||
14/09/2019,OK,Non,O'Lac d'Annecy,Annecy - la Grande Jeanne,74,Animation,Départemental,Pédestre,,7404,ANNECY SPORTS ORIENTATION,,,,,Bruno Mollaret,06.28.33.78.26,7404ra@annecyso.fr,http://annecyso.fr/aso/,,45.883769,6.126801,La Grande Jeanne 74000 Annecy,0.76,street,74010_B034_633669,,La Grande Jeanne,,74000,Annecy,"74, Haute-Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",74010
|
||||
14/09/2019,OK,Non,Coupe du Var,La Valette,83,Animation,Départemental,Pédestre,,8319,TOULON SPORT NATURE,,,,,Eric Pomet,06 33 56 11 35,eric.pomet@orange.fr,http://www.toulon-sports-nature.com/,,45.582313,2.322791,La Valette 19200 Ussel,0.93,street,19275_B190_73c818,,La Valette,,19200,Ussel,"19, Corrèze, Nouvelle-Aquitaine (Limousin)",19275
|
||||
14/09/2019,OK,Oui,L'ORIENT TOUR - Sprint,Inzinzac - Lochrist,56,Départementale Sprint,Départemental,Pédestre,Sprint,5604,CLUB D'ORIENTATION LORIENTAIS,,,,,Maël PRUD'HOMME,,contact@co-lorient.fr,http://www.co-lorient.fr/,,47.843246,-3.267259,Inzinzac-Lochrist,0.92,municipality,56090,,Inzinzac-Lochrist,,56650,Inzinzac-Lochrist,"56, Morbihan, Bretagne",56090
|
||||
14/09/2019,OK,Oui,L'ORIENT TOUR - MD,Inzinzac - Lochrist,56,Départementale Moyenne Distance,Départemental,Pédestre,MD,5604,CLUB D'ORIENTATION LORIENTAIS,,,,,Maël PRUD'HOMME,,contact@co-lorient.fr,http://www.co-lorient.fr/,,47.843246,-3.267259,Inzinzac-Lochrist,0.92,municipality,56090,,Inzinzac-Lochrist,,56650,Inzinzac-Lochrist,"56, Morbihan, Bretagne",56090
|
||||
14/09/2019,OK,Non,Manche de la Coupe de France de Raid Orientation - Raid de la Blanche (finale),canton Seyne les Alpes ,4,Championnat de France de Raid Orientation,National,Raid Orientation,Raid,405,UNION SPORTIVE DE SEYNE ET DE LA BLANCHE,KAJAK Stéphane (1675),,MORTELLIER Bernard (2282),KAJAK Stéphane (1675),Mireille SAVORNIN,492350917,louvirasoleu@hotmail.fr,,,48.957891,2.66425,Canton de la Rosee 77410 Gressy,0.28,street,77214_B003_b06b4d,,Canton de la Rosee,,77410,Gressy,"77, Seine-et-Marne, Île-de-France",77214
|
||||
14/09/2019,OK,Non,ZOMB IN THE DARK,SIVENS,81,Départementale de Nuit,Départemental,Pédestre,Nuit,8105,BALISE ORIENTATION ALBIGEOISE,,,,,ESCUDIE Christian,670069289,escudie.c@wanadoo.fr,http://boa81.free.fr/,,45.779871,4.252264,Civens,0.61,municipality,42065,,Civens,,42110,Civens,"42, Loire, Auvergne-Rhône-Alpes (Rhône-Alpes)",42065
|
||||
15/09/2019,OK,Non,Challenge Ardèche,Lachamp Raphaël- L'Areilladou,7,Départementale Longue Distance,Départemental,Pédestre,LD,703,VIV'AZIMUT 07,,,,,Laurent Vérité,,laurent.verite0119@orange.fr,http://cdco07.fr/,Etape du Challenge Ardèche de CO,44.806508,4.276205,Rebours 07530 Lachamp-Raphaël,0.48,street,07120_B037_5da032,,Rebours,,07530,Lachamp-Raphaël,"07, Ardèche, Auvergne-Rhône-Alpes (Rhône-Alpes)",07120
|
||||
15/09/2019,OK,Oui,Régionale Sprint,METZ,57,Régionale Sprint,Régional,Pédestre,Sprint,5702,C.S.A. DE LA GARNISON DE METZ,BLUM Virginie (12646),,JOLY Cyril (2489),BLUM Virginie (12646),sylvie marchesin,675510435,sylmarch@orange.fr,,,49.119146,6.176026,Metz,0.98,municipality,57463_57050,,Metz,,57050,Metz,"57, Moselle, Grand-Est (Lorraine)",57463
|
||||
15/09/2019,OK,Oui,Régionale Moyenne Distance,Plappeville,57,Régionale Moyenne Distance,Régional,Pédestre,MD,5702,C.S.A. DE LA GARNISON DE METZ,BLUM Virginie (12646),,BOUSSER Philippe (1396),BLUM Virginie (12646),sylvie marchesin,675510435,sylmarch@orange.fr,,,49.130462,6.121872,Plappeville,0.92,municipality,57545,,Plappeville,,57050,Plappeville,"57, Moselle, Grand-Est (Lorraine)",57545
|
||||
15/09/2019,OK,Non,Départementale Sprint,Ambérieu en Bugey,1,Départementale Sprint,Départemental,Pédestre,Sprint,111,CLUB D'ORIENTATION D'AMBERIEU EN BUGEY,,,,,Cyril SOUCAT,,csoucat@hotmail.fr,http://co-amberieu.pagesperso-orange.fr/,Plusieurs sprints urbains proposés pour préparer la saison,45.9577,5.356635,Ambérieu-en-Bugey,0.94,municipality,01004,,Ambérieu-en-Bugey,,01500,Ambérieu-en-Bugey,"01, Ain, Auvergne-Rhône-Alpes (Rhône-Alpes)",01004
|
||||
15/09/2019,OK,Oui,Championnat de France CO à VTT Moyenne Distance,MONTARGIS,45,Championnat de France CO à VTT Moyenne Distance,National,VTT,MD,4504,A.S.DE COURSE D'ORIENTATION D'ORLEANS,GENEVES Denis (2706),,DURRENS Remy (2573),GENEVES Denis (2706),franck REINEN,662521822,franck.reinen@hotmail.fr,http://www.asco-orleans.com/,,47.996781,2.731846,Montargis,0.96,municipality,45208,,Montargis,,45200,Montargis,"45, Loiret, Centre-Val de Loire",45208
|
||||
15/09/2019,OK,Non,Départementale Moyenne Distance,Mourèze,34,Départementale Moyenne Distance,Départemental,Pédestre,MD,34,Hérault,,,,,Pierre Ferrand,634391657,cdco34@yahoo.fr,http://cdco34.fr/,,43.618469,3.355449,Mourèze,0.92,municipality,34175,,Mourèze,,34800,Mourèze,"34, Hérault, Occitanie (Languedoc-Roussillon)",34175
|
||||
15/09/2019,OK,Oui,Régionale Sprint,Talant,21,Régionale Sprint,Régional,Pédestre,Sprint,2108,TALANT SPORT ORIENTATION,,,COLOMBET Christian (3163),,Benjamin Clément-Agoni,,benjamin.clement-agoni@sfr.fr,,,47.336227,5.005154,Talant,0.92,municipality,21617,,Talant,,21240,Talant,"21, Côte-d'Or, Bourgogne-Franche-Comté (Bourgogne)",21617
|
||||
15/09/2019,OK,Oui,Poitiers'O 2019 : Championnat de Ligue Sprint,Poitiers,86,Championnat de Ligue Sprint,Régional,Pédestre,Sprint,8607,POITIERS COURSE D'ORIENTATION,ROBIN Patrick (1707),,,ROBIN Patrick (1707),Gervais BAZIN,,contact@poitiersco.org,https://www.poitiersco.org/,Centre ville - Hôtel de ville et Parc Blossac,46.579729,0.334224,Poitiers,0.98,municipality,86194,,Poitiers,,86000,Poitiers,"86, Vienne, Nouvelle-Aquitaine (Poitou-Charentes)",86194
|
||||
15/09/2019,OK,Oui,Poitiers'O 2019 : MD Urbaine,Poitiers,86,Régionale Moyenne Distance,Régional,Pédestre,MD,8607,POITIERS COURSE D'ORIENTATION,ROBIN Patrick (1707),,,ROBIN Patrick (1707),Gervais BAZIN,,contact@poitiersco.org,https://www.poitiersco.org/,Centre ville - Hôtel de ville et Parc Blossac,46.579729,0.334224,Poitiers,0.98,municipality,86194,,Poitiers,,86000,Poitiers,"86, Vienne, Nouvelle-Aquitaine (Poitou-Charentes)",86194
|
||||
15/09/2019,OK,Non,L'ORIENT TOUR - Circuit ludique,Hennebont,56,Départementale pédestre (autre),Départemental,Pédestre,,5604,CLUB D'ORIENTATION LORIENTAIS,,,,,Maël PRUD'HOMME,,contact@co-lorient.fr,http://www.co-lorient.fr/,,47.80374,-3.280016,Hennebont,0.94,municipality,56083,,Hennebont,,56700,Hennebont,"56, Morbihan, Bretagne",56083
|
||||
15/09/2019,OK,Oui,Régionale organisée par les jeunes du TAD (RDJ),Mormal,59,Régionale Longue Distance,Régional,Pédestre,LD,5907,TOUS AZIMUTS DOUAI,SMIRNOV Konstantin (9629),,,,Agnès Mercier,673768488,mercier.agnes@gmail.com,http://www.tadouai.fr/,,50.12913,3.686714,Rue de Mormal 59550 Landrecies,0.39,street,59331_1121_ea4263,,Rue de Mormal,,59550,Landrecies,"59, Nord, Hauts-de-France (Nord-Pas-de-Calais)",59331
|
||||
15/09/2019,OK,Oui,Championnat de Ligue Sprint,Rennes,35,Championnat de Ligue Sprint,Régional,Pédestre,Sprint,3502,CLUB RENNAIS DE COURSE D'ORIENTATION,DELALANDE Joël (3262),,MOTTET Martin (20734),,,,,http://Crco.fr/,,48.113844,-1.681632,Rennes,0.98,municipality,35238,,Rennes,,35000,Rennes,"35, Ille-et-Vilaine, Bretagne",35238
|
||||
15/09/2019,OK,Non,Départementale Moyenne Distance,,31,Départementale Moyenne Distance,Départemental,Pédestre,MD,3105,TOULOUSE OLYMPIQUE AEROSPATIALE CLUB,,,,,,,,https://www.toac-orientation.fr/,,,,,,,,,,,,,,
|
||||
15/09/2019,OK,Oui,Championnat de Ligue Sprint,Pont Audemer,27,Championnat de Ligue Sprint,Régional,Pédestre,Sprint,7604,AMICALE LAIQUE DU BUQUET-ELBEUF,CALANDOT J-Pierre (2926),,DOUGUET David (17979),,Frédéric Banik,678095021,fbanik@live.fr,https://raidaventure76.sportsregions.fr/,,49.353932,0.513116,Pont-Audemer,0.94,municipality,27467,,Pont-Audemer,,27500,Pont-Audemer,"27, Eure, Normandie (Haute-Normandie)",27467
|
||||
15/09/2019,OK,Oui,Régionale Moyenne Distance,Monfort sur Risle,27,Régionale Moyenne Distance,Régional,Pédestre,MD,7604,AMICALE LAIQUE DU BUQUET-ELBEUF,EUDIER Agnès (13233),,DOUGUET David (17979),,Frédéric Banik,678095021,fbanik@live.fr,https://raidaventure76.sportsregions.fr/,,49.2949,0.66447,Montfort-sur-Risle,0.79,municipality,27413,,Montfort-sur-Risle,,27290,Montfort-sur-Risle,"27, Eure, Normandie (Haute-Normandie)",27413
|
||||
21/09/2019,OK,Oui,week end O Savoyard,Valleiry,74,Régionale Longue Distance,Régional,Pédestre,LD,7407,SALLANCHES ORIENTATION SPORTIVE - GENEVOIS ORIENTATION,FORESTIER Aloïs (27534),,GREBEL Laurence-Marie (6064),,François Gintzburger,618058553,osavoyard2019@sos-go.fr,http://osavoyard2019.sos-go.fr/,,46.107355,5.966702,Valleiry,0.92,municipality,74288,,Valleiry,,74520,Valleiry,"74, Haute-Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",74288
|
||||
21/09/2019,OK,Oui,Championnat de Ligue Sprint,region de SAINT OMER,62,Championnat de Ligue Sprint,Régional,Pédestre,Sprint,6208,LA BOUSSOLE AUDOMAROISE,CLAIRET Richard (16397),,,CLAIRET Richard (16397),Philippe Castier,620696667,pcastier@wanadoo.fr,http://WWW.boussole-audomaroise.fr/,,50.634192,3.043825,Rue de Saint-Omer 59800 Lille,0.57,street,59350_XXXX_3a3c15,,Rue de Saint-Omer,,59800,Lille,"59, Nord, Hauts-de-France (Nord-Pas-de-Calais)",59350
|
||||
21/09/2019,OK,Non,course MD semi nocturne,Arques,62,Départementale de Nuit,Départemental,Pédestre,Nuit,6208,LA BOUSSOLE AUDOMAROISE,,,,,David ROLIN,621218338,,http://www.boussole-audomaroise.fr/,,50.735505,2.301512,Arques,0.94,municipality,62040,,Arques,,62510,Arques,"62, Pas-de-Calais, Hauts-de-France (Nord-Pas-de-Calais)",62040
|
||||
21/09/2019,OK,Oui,Championnat de Ligue Sprint,Les Angles,66,Championnat de Ligue Sprint,Régional,Pédestre,Sprint,6611,CERDAGNE CAPCIR INTERNATIONAL ORIENTEERING,,,,,,673924079,cciorienteering@gmail.com,http://ccio66.wixsite.com/ccio66,,43.446034,5.466536,Les Angles 13120 Gardanne,0.92,street,13041_B004_5d1528,,Les Angles,,13120,Gardanne,"13, Bouches-du-Rhône, Provence-Alpes-Côte d'Azur",13041
|
||||
21/09/2019,OK,Oui,Week end Fougerais,Le chattelier,35,Régionale Moyenne Distance,Régional,Pédestre,MD,3506,CLUB FOUGERAIS DE COURSE D'ORIENTATION,EVEN Gabriel (2789),,CHAREYRE Valentin (26790),,DELALANDE Joël,661857672,delalande.joel@bbox.fr,,,47.119055,-2.026272,Le Châtelier 44210 Pornic,0.85,street,44131_B287_935fd3,,Le Châtelier,,44210,Pornic,"44, Loire-Atlantique, Pays-de-la-Loire",44131
|
||||
21/09/2019,OK,Oui,Week end Fougerais,"Fougeres ""Madeleine""",35,Régionale de Nuit,Régional,Pédestre,Nuit,3506,CLUB FOUGERAIS DE COURSE D'ORIENTATION,EVEN Gabriel (2789),,CHAREYRE Valentin (26790),,DELALANDE Joël,661857672,delalande.Joel@bbox.fr,,,48.344088,-1.201329,Rue de la Madeleine 35300 Fougères,0.57,street,35115_1110_7efc76,,Rue de la Madeleine,,35300,Fougères,"35, Ille-et-Vilaine, Bretagne",35115
|
||||
21/09/2019,OK,Oui,Championnat de France CO à VTT Mass Start,REGUSSE,83,Championnat de France CO à VTT Mass Start,National,VTT,LD,83,Var,DENAIX Michel (2321),,AUBRY Maurice (1509),DENAIX Michel (2321),CDCO83 - 133 bld Général Brosset - 83200 TOULON,494361314,president@cdco83.fr,http://cdco83.fr/,,43.65496,6.131251,Régusse,0.92,municipality,83102,,Régusse,,83630,Régusse,"83, Var, Provence-Alpes-Côte d'Azur",83102
|
||||
22/09/2019,OK,Oui,week end O'Savoyard,Saint Julien,74,Championnat de Ligue Sprint,Régional,Pédestre,Sprint,7407,SALLANCHES ORIENTATION SPORTIVE - GENEVOIS ORIENTATION,ASTRADE Laurent (8203),,FLEURENT Théo (4220),ASTRADE Laurent (8203),François Gintzburger,618058553,osavoyard2019@sos-go.fr,http://osavoyard2019.sos-go.fr/,,47.706912,-0.074491,Saint-Julien 72200 La Flèche,0.93,street,72154_XXXX_431574,,Saint-Julien,,72200,La Flèche,"72, Sarthe, Pays-de-la-Loire",72154
|
||||
22/09/2019,OK,Non,2ème édition de la « micr'O 68 »,Labaroche,68,Départementale pédestre (autre),Départemental,Pédestre,,6804,CLUB D'ORIENTATION DE COLMAR,,,,,Kirian Meyer,,admin@cocolmar.fr,http://www.cocolmar.fr/,,48.109729,7.192757,Labaroche,0.92,municipality,68173,,Labaroche,,68910,Labaroche,"68, Haut-Rhin, Grand-Est (Alsace)",68173
|
||||
22/09/2019,OK,Oui,Régionale Longue Distance,Foret de Clairmarais,62,Régionale Longue Distance,Régional,Pédestre,LD,6208,LA BOUSSOLE AUDOMAROISE,BOUTIN Dominique (13838),,,,Philippe CASTIER,620696667,pcastier@wanadoo.fr,http://www.boussole-audomaroise.fr/,,50.751568,2.305768,Domaine de la Forêt 62500 Clairmarais,0.58,locality,62225_XXXX_b2b693,,Domaine de la Forêt,,62500,Clairmarais,"62, Pas-de-Calais, Hauts-de-France (Nord-Pas-de-Calais)",62225
|
||||
22/09/2019,OK,Oui,Régionale Moyenne Distance,Haute ville et Chateau,35,Régionale Moyenne Distance,Régional,Pédestre,MD,3506,CLUB FOUGERAIS DE COURSE D'ORIENTATION,EVEN Gabriel (2789),,CHAREYRE Valentin (26790),,DELALANDE Joel,661857672,delalande.joel@bbox.fr,,,43.272656,6.116617,Le Chateau 83390 Puget-Ville,0.51,street,83100_B022_d08a5f,,Le Chateau,,83390,Puget-Ville,"83, Var, Provence-Alpes-Côte d'Azur",83100
|
||||
22/09/2019,OK,Oui,Régionale Longue Distance,Hostens,33,Régionale Longue Distance,Régional,Pédestre,LD,3319,SUD MEDOC ORIENTATION GIRONDE,TALON J-Michel (12316),,PARZYCH Mickael (955),TALON J-Michel (12316),Michel Parzych,,michel.parzych@gmail.com,,,44.492343,-0.639665,Hostens,0.92,municipality,33202,,Hostens,,33125,Hostens,"33, Gironde, Nouvelle-Aquitaine (Aquitaine)",33202
|
||||
22/09/2019,OK,Non,Championnat de France de CO à VTT des Clubs,Régusse,83,Championnat de France de CO à VTT des Clubs,National,VTT,Relais,83,Var,DENAIX Michel (2321),,AUBRY Maurice (1509),DENAIX Michel (2321),CDCO83 - 133 bld Général Brosset - 83200 TOULON,494361314,president@cdco83.fr,http://cdco83.fr/,,43.65496,6.131251,Régusse,0.92,municipality,83102,,Régusse,,83630,Régusse,"83, Var, Provence-Alpes-Côte d'Azur",83102
|
||||
22/09/2019,OK,Oui,Régionale Moyenne Distance,domaine de Montpins espira de l'agly,66,Régionale Moyenne Distance,Régional,Pédestre,MD,6604,CLUB D'ORIENTATION TOUT ESPOIR 66,,,,,Cote66,682330626,clubcote66@gmail.com,http://www.cote66.fr/,,42.814938,2.827097,Domaine de Montpins 66600 Espira-de-l'Agly,0.91,street,66069_XXXX_8599cb,,Domaine de Montpins,,66600,Espira-de-l'Agly,"66, Pyrénées-Orientales, Occitanie (Languedoc-Roussillon)",66069
|
||||
22/09/2019,OK,Non,Départementale pédestre (autre),Figeac,46,Départementale pédestre (autre),Départemental,Pédestre,,4601,FIGEAC NATURE ORIENTATION,,,,,Frédéric Ramblière,673461961,fino46@orange.fr,http://www.fino46.org/,,44.608443,2.030853,Figeac,0.96,municipality,46102,,Figeac,,46100,Figeac,"46, Lot, Occitanie (Midi-Pyrénées)",46102
|
||||
25/09/2019,OK,Non,Challenge Poitiers CO - 5° étape,Montamisé - Maison de la Forêt,86,Départementale pédestre (autre),Départemental,Pédestre,,8607,POITIERS COURSE D'ORIENTATION,,,,,Yohann Brevet,,contact@poitiersco.org,https://www.poitiersco.org/,"Départs 17h/19h
|
||||
Circuits long, moyen et court.",46.622538,0.445652,Route de la Forêt 86360 Montamisé,0.6,street,86163_XXXX_1fce25,,Route de la Forêt,,86360,Montamisé,"86, Vienne, Nouvelle-Aquitaine (Poitou-Charentes)",86163
|
||||
27/09/2019,OK,Oui,JEC Open sprint,Ruoms,7,Départementale Sprint,Départemental,Pédestre,Sprint,7,Ardèche,BODELET Herve (132),,PARDOEN Thomas (12925),,pardoen Toma,607966486,evenements@cdco07.fr,http://jec2019.fr/,,44.452397,4.341028,Ruoms,0.92,municipality,07201,,Ruoms,,07120,Ruoms,"07, Ardèche, Auvergne-Rhône-Alpes (Rhône-Alpes)",07201
|
||||
27/09/2019,OK,Non,Junior European Cup - Sprint urbain,Ruoms,7,Manifestation Internationale Sprint,National,Pédestre,Sprint,7,Ardèche,ANTOINE Alain (1270),,MAGLIONE Eric (11742),ANTOINE Alain (1270),pardoen Toma,607966486,evenements@cdco07.fr,http://jec2019.fr/,,44.452397,4.341028,Ruoms,0.92,municipality,07201,,Ruoms,,07120,Ruoms,"07, Ardèche, Auvergne-Rhône-Alpes (Rhône-Alpes)",07201
|
||||
28/09/2019,OK,Oui,JEC Open LD,Station de la Croix de Bauzon,7,Départementale Longue Distance,Départemental,Pédestre,LD,7,Ardèche,BODELET Herve (132),,MERCIER Bruno (71),,pardoen Toma,607966486,evenements@cdco07.fr,http://jec2019.fr/,,44.485706,4.359252,Rue de la Croix de Bauzon 07120 Chauzon,0.62,street,07061_0249_25706c,,Rue de la Croix de Bauzon,,07120,Chauzon,"07, Ardèche, Auvergne-Rhône-Alpes (Rhône-Alpes)",07061
|
||||
28/09/2019,OK,Non,Junior European Cup - Longue Distance,Station de la Croix de Bauzon,7,Manifestation Internationale Longue Distance,National,Pédestre,LD,7,Ardèche,ANTOINE Alain (1270),,MAGLIONE Eric (11742),ANTOINE Alain (1270),pardoen Toma,607966486,evenements@cdco07.fr,http://jec2019.fr/,,44.485706,4.359252,Rue de la Croix de Bauzon 07120 Chauzon,0.62,street,07061_0249_25706c,,Rue de la Croix de Bauzon,,07120,Chauzon,"07, Ardèche, Auvergne-Rhône-Alpes (Rhône-Alpes)",07061
|
||||
28/09/2019,OK,Oui,Championnat de Ligue CO à VTT Longue Distance,Denipaire,88,Championnat de Ligue CO à VTT Longue Distance,Régional,VTT,LD,8812,O'ZONE 88,ETIENNE Dominique (10146),,LEMERCIER Bernard (1178),,Jérémy VUILLEMARD,,o-zone88@orange.fr,http://www.vosges.ffcorientation.fr/ozone-88-st-die/,,48.34193,6.965318,Denipaire,0.92,municipality,88128,,Denipaire,,88210,Denipaire,"88, Vosges, Grand-Est (Lorraine)",88128
|
||||
28/09/2019,OK,Non,Départementale Moyenne Distance,Lurs,4,Départementale Moyenne Distance,Départemental,Pédestre,MD,404,BALISE 04,,,CLERC Anne (4272),,Daniel ANDRE,685930914,danielandre.sstrn@free.fr,http://balise04.free.fr/,,43.968766,5.887866,Lurs,0.92,municipality,04106,,Lurs,,04700,Lurs,"04, Alpes-de-Haute-Provence, Provence-Alpes-Côte d'Azur",04106
|
||||
28/09/2019,OK,Non,Raid capOnord,Bergues,59,Raid Multisport Long,Départemental,Raid Multisport,Raid,5909,"CAPONORD, SPORTS D'ORIENTATION",,,,,CapOnord,682671235,contact@caponord-sports-orientation.fr,http://www.caponord-sports-orientation.fr/,,50.96764,2.433213,Bergues,0.94,municipality,59067,,Bergues,,59380,Bergues,"59, Nord, Hauts-de-France (Nord-Pas-de-Calais)",59067
|
||||
28/09/2019,OK,Non,Cécile GERAL Sprint'O Challenge J1,St Martin de Londres et Forêt Domaniale du Pic St Loup,34,Départementale Sprint,Départemental,Pédestre,Sprint,3410,MONTPELLIER UNIVERSITE-CLUB ORIENTATION RAIDS MULTISPORTS,,,,,Philippe GERAL,670776088,cgsprintchallenge@hotmail.com,https://pgeral.wixsite.com/cecile-sprint-o,"Challenge de sprints en hommage à notre secrétaire, amie et épouse disparue en Janvier 2017 des suites d'un cancer. Un sprint le matin et un sprint l'après-midi. L'intégralité des recettes est ensuite reversée à l'association Ensangble30 qui sensibilise au don de moelle osseuse et équipe les services d'hématologie de la région.",43.790501,3.733463,Route du Pic Saint-Loup 34380 Saint-Martin-de-Londres,0.45,street,34274_XXXX_0efd41,,Route du Pic Saint-Loup,,34380,Saint-Martin-de-Londres,"34, Hérault, Occitanie (Languedoc-Roussillon)",34274
|
||||
28/09/2019,OK,Non,Zomb'In the Dark,Caen,14,Animation,Départemental,Pédestre,,1408,VIK'AZIM,,,,,,,,http://vikazim.fr/,,49.181339,-0.370637,Caen,0.98,municipality,14118,,Caen,,14000,Caen,"14, Calvados, Normandie (Basse-Normandie)",14118
|
||||
29/09/2019,OK,Non,VO² 95 balises,L'Isle-Adam,95,Départementale au score,Départemental,Pédestre,Score,9502,ATHLETIC CLUB DE BEAUCHAMP,,,,,Clarissa Ricard Borchorst,06.62.60.82.92,clarissa.borchorst@free.fr,http://www.acbeauchamp-orientation.net/,"VO² 4D : CO en forêt, réseau de 15 à 95 postes, 4 formules au choix.",49.110897,2.222071,L'Isle-Adam,0.94,municipality,95313,,L'Isle-Adam,,95290,L'Isle-Adam,"95, Val-d'Oise, Île-de-France",95313
|
||||
29/09/2019,OK,Non,RAN'GERS,AUCH,32,Raid Multisport Court,Départemental,Raid Multisport,Raid,3204,CLUB AUSCITAIN DE RAIDS ET ORIENTATION 32,,,,,Gilles Pinna,675258261,pinna.gilles@wanadoo.fr,http://raidauch.hautetfort.com/,,43.644497,0.588419,Auch,0.97,municipality,32013,,Auch,,32000,Auch,"32, Gers, Occitanie (Midi-Pyrénées)",32013
|
||||
29/09/2019,OK,Oui,JEC Open MD Mass start,Vesseaux,7,Départementale Moyenne Distance,Départemental,Pédestre,MD,7,Ardèche,BODELET Herve (132),,PARDOEN Thomas (12925),,pardoen Toma,607966486,evenements@cdco07.fr,http://jec2019.fr/,,44.651045,4.439097,Vesseaux,0.92,municipality,07339,,Vesseaux,,07200,Vesseaux,"07, Ardèche, Auvergne-Rhône-Alpes (Rhône-Alpes)",07339
|
||||
29/09/2019,OK,Non,Junior European Cup - Relais,Vesseaux,7,Manifestation Internationale en Relais,National,Pédestre,Relais,7,Ardèche,ANTOINE Alain (1270),,MAGLIONE Eric (11742),ANTOINE Alain (1270),pardoen Toma,607966486,evenements@cdco07.fr,http://jec2019.fr/,,44.651045,4.439097,Vesseaux,0.92,municipality,07339,,Vesseaux,,07200,Vesseaux,"07, Ardèche, Auvergne-Rhône-Alpes (Rhône-Alpes)",07339
|
||||
29/09/2019,OK,Oui,Régionale CO à VTT Moyenne Distance,TAINTRUX,88,Régionale CO à VTT Moyenne Distance,Régional,VTT,MD,8812,O'ZONE 88,,,,,Jérémy VUILLEMARD,,o-zone88@orange.fr,http://www.vosges.ffcorientation.fr/ozone-88-st-die/,sous reserve de cartographie réalisée dans les temps,48.249457,6.901706,Taintrux,0.92,municipality,88463,,Taintrux,,88100,Taintrux,"88, Vosges, Grand-Est (Lorraine)",88463
|
||||
29/09/2019,OK,Oui,Championnat de Ligue Sprint,Sens,89,Championnat de Ligue Sprint,Régional,Pédestre,Sprint,8903,YONNE COURSE ORIENTATION NATURE ET EVASION,,,LALEVEE Jean-Charles (3134),,Aimé Louat,,aime.louat@free.fr,,,48.196516,3.282627,Sens,0.96,municipality,89387,,Sens,,89100,Sens,"89, Yonne, Bourgogne-Franche-Comté (Bourgogne)",89387
|
||||
29/09/2019,OK,Oui,Régionale Sprint,Villeneuve S/Yonne,89,Régionale Sprint,Régional,Pédestre,Sprint,8903,YONNE COURSE ORIENTATION NATURE ET EVASION,,,THOMASSIN Fabrice (2499),,Aimé Louat,,aime.louat@free.fr,,,48.076149,3.269853,Côte à la Jay 89500 Villeneuve-sur-Yonne,0.43,street,89464_B194_d57801,,Côte à la Jay,,89500,Villeneuve-sur-Yonne,"89, Yonne, Bourgogne-Franche-Comté (Bourgogne)",89464
|
||||
29/09/2019,OK,Oui,Régionale Longue Distance,Forêt du Cranou à Hanvec,29,Régionale Longue Distance,Régional,Pédestre,LD,2906,BREST ORIENTATION,LE NAOUR Gaelle (18142),,ALLANCON Michel (1005),LE NAOUR Gaelle (18142),François De Roland,298324361,francoisderoland@free.fr,http://www.brestorientation/,,48.334714,-4.141533,Route de la Forêt du Cranou 29460 Hanvec,0.59,street,29078_XXXX_5ab687,,Route de la Forêt du Cranou,,29460,Hanvec,"29, Finistère, Bretagne",29078
|
||||
29/09/2019,Course reportée au 06/10/2019,Oui,Championnat de Ligue Sprint,Auriol,13,Championnat de Ligue Sprint,Régional,Pédestre,Sprint,1303,MARSEILLE COURSE ORIENTATION,DELENNE Pierre (1593),BEYLS Nicolas (18100),,,Paul Visca,687495765,paul.visca@wanadoo.fr,http://www.marseille-course-orientation.com/,,43.368453,5.630733,Auriol,0.92,municipality,13007,,Auriol,,13390,Auriol,"13, Bouches-du-Rhône, Provence-Alpes-Côte d'Azur",13007
|
||||
29/09/2019,OK,Non,Cécile GERAL Sprint'O Challenge J2,St Vincent de Barbeyrargues et Domaine de Restinclières,34,Départementale Sprint,Départemental,Pédestre,Sprint,3410,MONTPELLIER UNIVERSITE-CLUB ORIENTATION RAIDS MULTISPORTS,,,,,Philippe GERAL,670776088,cgsprintchallenge@hotmail.com,https://pgeral.wixsite.com/cecile-sprint-o,"Challenge de sprints en hommage à notre secrétaire, amie et épouse disparue en Janvier 2017 des suites d'un cancer. Un sprint le matin et un sprint l'après-midi. L'intégralité des recettes est ensuite reversée à l'association Ensangble30 qui sensibilise au don de moelle osseuse et équipe les services d'hématologie de la région.",43.704784,3.876619,Rue des Aires 34730 Saint-Vincent-de-Barbeyrargues,0.49,street,34290_0002_9dbec2,,Rue des Aires,,34730,Saint-Vincent-de-Barbeyrargues,"34, Hérault, Occitanie (Languedoc-Roussillon)",34290
|
||||
05/10/2019,Course reportée au 12/10/2019,Oui,Challenge PACA VTT,SAULT,84,Régionale CO à VTT Longue Distance,Régional,VTT,LD,8404,ASSOCIATION ORIENTATION PASSION AVIGNON,,,,,,,,http://400teamraid.e-monsite.com/,,44.091143,5.408027,Sault,0.94,municipality,84123,,Sault,,84390,Sault,"84, Vaucluse, Provence-Alpes-Côte d'Azur",84123
|
||||
05/10/2019,OK,Non,Challenge des écoles de CO,Mèze,34,Animation,Départemental,Pédestre,,34,Hérault,,,,,Pierre Ferrand,634391657,cdco34@yahoo.fr,http://cdco34.fr/,,43.426622,3.604846,Mèze,0.94,municipality,34157,,Mèze,,34140,Mèze,"34, Hérault, Occitanie (Languedoc-Roussillon)",34157
|
||||
05/10/2019,OK,Oui,Régionale Longue Distance,Forêt de Samoussy,2,Régionale Longue Distance,Régional,Pédestre,LD,207,VERVINS ORIENTATION,CLAIRET Richard (16397),,,CLAIRET Richard (16397),,,,,,49.554955,3.769203,Rue de Samoussy 02840 Coucy-lès-Eppes,0.53,street,02218_0091_104e77,,Rue de Samoussy,,02840,Coucy-lès-Eppes,"02, Aisne, Hauts-de-France (Picardie)",02218
|
||||
05/10/2019,OK,Non,O'Lac d'Annecy,Annecy - vieille ville,74,Animation,Départemental,Pédestre,,7404,ANNECY SPORTS ORIENTATION,,,,,Bruno Mollaret,06.28.33.78.26,7404ra@annecyso.fr,http://annecyso.fr/aso/,,45.833157,6.055551,Chemin des Vignes Vieilles (Seynod) 74960 Annecy,0.3,street,74010_XXXX_e40b7b,,Chemin des Vignes Vieilles (Seynod),,74960,Annecy,"74, Haute-Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",74010
|
||||
05/10/2019,OK,Oui,Championnat de Ligue Sprint,FAMECK,57,Championnat de Ligue Sprint,Régional,Pédestre,Sprint,5703,TOUT AZIMUT FAMECK,BLUM Virginie (12646),,VAGNER Christine (3651),BLUM Virginie (12646),Céline LEMERCIER,661838187,bourcelinelm@gmail.com,,,49.299049,6.108683,Fameck,0.94,municipality,57206,,Fameck,,57290,Fameck,"57, Moselle, Grand-Est (Lorraine)",57206
|
||||
06/10/2019,OK,Oui,Régionale Longue Distance,Forêt de NEMOURS,77,Régionale Longue Distance,Régional,Pédestre,LD,7709,UNION SPORTIVE MELUNAISE,PERSE Philippe (10488),,DELAUME J-Marc (1974),,Philippe DUBOIS,687027625,amavic@free.fr,http://usmelunco.wordpress.com/,,48.399599,2.480509,Route de Nemours 91490 Milly-la-Forêt,0.46,street,91405_XXXX_d164c0,,Route de Nemours,,91490,Milly-la-Forêt,"91, Essonne, Île-de-France",91405
|
||||
06/10/2019,Course reportée au 13/10/2019,Oui,Challenge PACA N° 9,Sault,84,Régionale Longue Distance,Régional,Pédestre,LD,8404,ASSOCIATION ORIENTATION PASSION AVIGNON,,,BALP Fabrice (16002),,,,,http://400teamraid.e-monsite.com/,,44.091143,5.408027,Sault,0.94,municipality,84123,,Sault,,84390,Sault,"84, Vaucluse, Provence-Alpes-Côte d'Azur",84123
|
||||
06/10/2019,OK,Non,Challenge des écoles de CO,Mèze,34,Animation,Départemental,Pédestre,,34,Hérault,,,,,Pierre Ferrand,634391657,cdco34@yahoo.fr,http://cdco34.fr/,,43.426622,3.604846,Mèze,0.94,municipality,34157,,Mèze,,34140,Mèze,"34, Hérault, Occitanie (Languedoc-Roussillon)",34157
|
||||
06/10/2019,OK,Oui,Course Urbaine,LAON,2,Régionale Longue Distance,Régional,Pédestre,LD,207,VERVINS ORIENTATION,MERCIER Agnès (23079),,,MERCIER Agnès (23079),,,,,,49.563059,3.623119,Laon,0.97,municipality,02408,,Laon,,02000,Laon,"02, Aisne, Hauts-de-France (Picardie)",02408
|
||||
06/10/2019,OK,Non,Championnat Grand EST des clubs,THIONVILLE,57,Championnat de Ligue de Relais,Régional,Pédestre,Relais,5703,TOUT AZIMUT FAMECK,BLUM Virginie (12646),,,BLUM Virginie (12646),Céline LEMERCIER,661838187,bourcelinelm@gmail.com,,,49.3578,6.167314,Thionville,0.96,municipality,57672,,Thionville,,57100,Thionville,"57, Moselle, Grand-Est (Lorraine)",57672
|
||||
06/10/2019,Course reportée au 20/10/2019,Oui,Régionale Moyenne Distance,St-Nizier,38,Régionale Moyenne Distance,Régional,Pédestre,MD,3809,UNION SPORTIVE DE SAINT EGREVE,BODELET Herve (132),,COCHEY Benoit (3210),BODELET Herve (132),Enri Chabal,06 07 27 42 59,3809ra@free.fr,http://3809ra.com/,Rolland Thiévenaz : contrôleur stagiaire,46.271772,4.034443,Saint-Nizier 71110 Marcigny,0.53,locality,71275_XXXX_69c33b,,Saint-Nizier,,71110,Marcigny,"71, Saône-et-Loire, Bourgogne-Franche-Comté (Bourgogne)",71275
|
||||
06/10/2019,OK,Non,Bord'Orientation 2019,Bordeaux,33,Départementale pédestre (autre),Départemental,Pédestre,,33,Gironde,,,,,HERVE Cyril,614280594,cherve88@gmail.com,,,44.837663,-0.579717,Bordeaux,0.98,municipality,33063,,Bordeaux,,33000,Bordeaux,"33, Gironde, Nouvelle-Aquitaine (Aquitaine)",33063
|
||||
06/10/2019,OK,Non,Raid Orient'Alpin,Les Déserts (la féclaz),73,Raid Multisport Court,Départemental,Raid Multisport,Raid,3810,ORIENT'ALP,,,,,orientalp,,raid.orientalpin@free.fr,http://raid.orientalpin.free.fr/,,45.644529,5.984467,La Feclaz 73230 Les Déserts,0.87,street,73098_B067_d1ad29,,La Feclaz,,73230,Les Déserts,"73, Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",73098
|
||||
06/10/2019,OK,Oui,Championnat de Ligue Sprint,Auriol,13,Championnat de Ligue Sprint,Régional,Pédestre,Sprint,1303,MARSEILLE COURSE ORIENTATION,DELENNE Pierre (1593),BEYLS Nicolas (18100),,,Paul Visca,687495765,paul.visca@wanadoo.fr,http://www.marseille-course-orientation.com/,,43.368453,5.630733,Auriol,0.92,municipality,13007,,Auriol,,13390,Auriol,"13, Bouches-du-Rhône, Provence-Alpes-Côte d'Azur",13007
|
||||
06/10/2019,OK,Non,Passage de Balises de Couleur,Lons-Le-Saunier,39,Passage de Balises de Couleur,Régional,Pédestre,,3914,JURA SPORTS ORIENTATION,,,,,Jean-Baptiste VIDEIRA,671504988,jurasportsorientation@hotmail.fr,,,46.6742,5.552615,Lons-le-Saunier,0.97,municipality,39300,,Lons-le-Saunier,,39000,Lons-le-Saunier,"39, Jura, Bourgogne-Franche-Comté (Franche-Comté)",39300
|
||||
12/10/2019,OK,Oui,"Garagnas, CDL MD",La Versanne,42,Régionale Moyenne Distance,Régional,Pédestre,MD,4201,NATURE ORIENTATION SAINT ETIENNE,DESBREST Patrick (3203),GREBEL Laurence-Marie (6064),COULIARD Laurent (2312),DESBREST Patrick (3203),Rémi Gueorgiou,,remi.gueorgiou@nose42.fr,http://www.nose42.fr/,,45.317186,4.525239,La Versanne,0.92,municipality,42329,,La Versanne,,42220,La Versanne,"42, Loire, Auvergne-Rhône-Alpes (Rhône-Alpes)",42329
|
||||
12/10/2019,OK,Oui,"Garagnas, course de nuit",La Versanne,42,Régionale de Nuit,Régional,Pédestre,Nuit,4201,NATURE ORIENTATION SAINT ETIENNE,RAUCOULES Christine (258),LECLERC Philippe (7192),ROUILLER Thomas (843),RAUCOULES Christine (258),Rémi Gueorgiou,,remi.gueorgiou@nose42.fr,http://www.nose42.fr/,,45.317186,4.525239,La Versanne,0.92,municipality,42329,,La Versanne,,42220,La Versanne,"42, Loire, Auvergne-Rhône-Alpes (Rhône-Alpes)",42329
|
||||
12/10/2019,OK,Non,O'ctobre ROSE,Paris,75,Départementale au score,Départemental,Pédestre,Score,7512,RAID ORIENTATION DE PARIS,,,,,Stéphane DRUZETIC,06.63.70.14.61,president@raid-o-paris.org,http://www.raid-o-paris.org/,Course organisée au profit de la lutte contre le cancer du sein.,48.8589,2.3469,Paris,1.0,municipality,75056,,Paris,,75000,Paris,"75, Île-de-France",75056
|
||||
12/10/2019,OK,Oui,Week End O'CHAMPAGNE 2019,,51,Championnat de Ligue de Nuit,Régional,Pédestre,Nuit,5101,EPERNAY NATURE ET SPORT,BLUM Virginie (12646),,ETIENNE Dominique (10146),BLUM Virginie (12646),DUMONT-GOSSET Bernadette,06 84 92 40 26,ens5101@wanadoo.fr,http://epernayns.free.fr/,,,,,,,,,,,,,,
|
||||
12/10/2019,OK,Non,Etape Coupe jurassienne,Doucier,39,Départementale pédestre (autre),Départemental,Pédestre,,3914,JURA SPORTS ORIENTATION,,,,,JB VIDEIRA,,jurasportsorientation@hotmail.fr,,,46.654545,5.778046,Doucier,0.92,municipality,39201,,Doucier,,39130,Doucier,"39, Jura, Bourgogne-Franche-Comté (Franche-Comté)",39201
|
||||
12/10/2019,OK,Oui,Le week-end O'Champagne/Sprint,Verzy,51,Régionale Sprint,Régional,Pédestre,Sprint,51,Marne,,,BLUM Virginie (12646),,Virginie BLUM,620245606,virginie.blum@laposte.net,http://asosillery.fr/,3 courses au CN en 1 week-end et une visite de caves en fin de journée,49.146449,4.163605,Verzy,0.94,municipality,51614,,Verzy,,51380,Verzy,"51, Marne, Grand-Est (Champagne-Ardenne)",51614
|
||||
12/10/2019,OK,Oui,SARTHE O'TOUR,LE MANS,72,Régionale Sprint,Régional,Pédestre,Sprint,7205,LE MANS ATHLETISME 72,,,,,Yann RICHARD,674334571,yann.richard11@libertysurf.fr,https://www.lemansathletisme72.com/en-savoir-plus/nos-organisations-65493,,48.003264,0.195522,Le Mans,0.97,municipality,72181,,Le Mans,,72000,Le Mans,"72, Sarthe, Pays-de-la-Loire",72181
|
||||
12/10/2019,OK,Oui,SARTHE O'TOUR (nocturne),LE MANS,72,Régionale Sprint,Régional,Pédestre,Sprint,7205,LE MANS ATHLETISME 72,,,,,yann richard,674334571,yann.richard11@libertysurf.fr,https://www.lemansathletisme72.com/en-savoir-plus/nos-organisations-65493,,48.003264,0.195522,Le Mans,0.97,municipality,72181,,Le Mans,,72000,Le Mans,"72, Sarthe, Pays-de-la-Loire",72181
|
||||
12/10/2019,OK,Oui,Challenge PACA VTT,SAULT,84,Régionale CO à VTT Longue Distance,Régional,VTT,LD,8404,ASSOCIATION ORIENTATION PASSION AVIGNON,DELENNE Pierre (1593),BOURDARIE Pascal (19544),,,,,,http://400teamraid.e-monsite.com/,,44.091143,5.408027,Sault,0.94,municipality,84123,,Sault,,84390,Sault,"84, Vaucluse, Provence-Alpes-Côte d'Azur",84123
|
||||
12/10/2019,OK,Oui,Finale du Challenge Nord-Est de CO à VTT,Mélisey,70,Régionale CO à VTT Moyenne Distance,Régional,VTT,MD,BF,Bourgogne-Franche-Comté,LALEVEE Jean-Charles (3134),,,,Loïc Lonchampt,06 75 20 32 19,loic.lonchampt@laposte.net,,,47.752496,6.579333,Mélisey,0.94,municipality,70339,,Mélisey,,70270,Mélisey,"70, Haute-Saône, Bourgogne-Franche-Comté (Franche-Comté)",70339
|
||||
12/10/2019,OK,Non,La Valmotivée 14eme edition,Métropole Lilloise,59,Raid Orientation (hors CF),Départemental,Raid Orientation,Raid,5906,VILLENEUVE D'ASCQ LILLE METROPOLE ORIENTATION,,,,,Papin Philippe,664937253,contact@valmo.net,https://valmo.net/raid,,45.449613,6.97729,IMM LE METROPOLE 73150 Val-d'Isère,0.41,street,73304_A340_e03172,,IMM LE METROPOLE,,73150,Val-d'Isère,"73, Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",73304
|
||||
13/10/2019,OK,Non,"Garagnas, relais des Garagnas",La Versanne,42,Départementale en Relais,Départemental,Pédestre,Relais,4201,NATURE ORIENTATION SAINT ETIENNE,,,,,Rémi Gueorgiou,,remi.gueorgiou@nose42.fr,http://www.nose42.fr/,,45.317186,4.525239,La Versanne,0.92,municipality,42329,,La Versanne,,42220,La Versanne,"42, Loire, Auvergne-Rhône-Alpes (Rhône-Alpes)",42329
|
||||
13/10/2019,OK,Oui,Régionale Longue Distance,Forêt de Brotonne,76,Régionale Longue Distance,Régional,Pédestre,LD,2704,CLUB D'ORIENTATION DES BOUCLES DE LA SEINE,COUREAU Xavier (32150),,EUDIER Agnès (13233),,,,cobs@free.fr,http://cobs.free.fr/,,45.720983,1.603816,Rue Paul Breton 87130 Châteauneuf-la-Forêt,0.29,street,87040_0040_3309ea,,Rue Paul Breton,,87130,Châteauneuf-la-Forêt,"87, Haute-Vienne, Nouvelle-Aquitaine (Limousin)",87040
|
||||
13/10/2019,OK,Oui,Régionale Longue Distance,Sédières,19,Régionale Longue Distance,Régional,Pédestre,LD,1905,BRIVE CORREZE COURSE D'ORIENTATION,,,MARCHEGAY Bruno (12679),,Bruno MARCHEGAY,607308207,marchegaybruno@gmail.com,http://www.correze-co.fr/,,45.293606,1.950642,Sedières 19320 Clergoux,0.91,locality,19056_XXXX_231f17,,Sedières,,19320,Clergoux,"19, Corrèze, Nouvelle-Aquitaine (Limousin)",19056
|
||||
13/10/2019,OK,Oui,Le week-end O'Champagne/LD,Foret domaniale du Chene à la Vierge (Rilly),51,Régionale Longue Distance,Régional,Pédestre,LD,5116,ANIMATION SILLERY ORIENTATION,DUMONT-GOSSET Bernadette (1239),,MAREIGNER Franz (1247),DUMONT-GOSSET Bernadette (1239),Virginie BLUM,620245606,virginie.blum@laposte.net,http://asosillery.fr/,3 courses au CN en 1 week-end et une visite de caves en fin de journée,48.797491,2.17533,Rue du Chêne de la Vierge 78220 Viroflay,0.44,street,78686_0230_52a934,,Rue du Chêne de la Vierge,,78220,Viroflay,"78, Yvelines, Île-de-France",78686
|
||||
13/10/2019,OK,Non,SARTHE O'TOUR,SILLE LE GUILLAUME,72,Régionale pédestre (autre),Régional,Pédestre,,7205,LE MANS ATHLETISME 72,,,,,YANN RICHARD,674334571,yann.richard11@libertysurf.fr,https://www.lemansathletisme72.com/en-savoir-plus/nos-organisations-65493,Parcours 77 balises et 24 balises,48.183256,-0.130459,Sillé-le-Guillaume,0.94,municipality,72334,,Sillé-le-Guillaume,,72140,Sillé-le-Guillaume,"72, Sarthe, Pays-de-la-Loire",72334
|
||||
13/10/2019,OK,Non,La 75 - O'ctobre ROSE,Paris,75,Départementale au score,Départemental,Pédestre,Score,7512,RAID ORIENTATION DE PARIS,,,,,Stéphane DRUZETIC,06.63.70.14.61,president@raid-o-paris.org,http://www.raid-o-paris.org/,Retour de la 75 et course organisée au profit de la lutte contre le cancer du sein.,48.8589,2.3469,Paris,1.0,municipality,75056,,Paris,,75000,Paris,"75, Île-de-France",75056
|
||||
13/10/2019,OK,Oui,Régionale N° 8 LOCCO,SAINT PROJET,82,Régionale Longue Distance,Régional,Pédestre,LD,82,Tarn-et-Garonne,MATHE Patrick (681),PINNA Gilles (14765),SCHOLZ Christine (10546),,pierre roch,06 08 06 28 13,roch.pierre@wanadoo.fr,,,44.303599,1.792869,Saint-Projet,0.92,municipality,82172,,Saint-Projet,,82160,Saint-Projet,"82, Tarn-et-Garonne, Occitanie (Midi-Pyrénées)",82172
|
||||
13/10/2019,OK,Oui,Challenge PACA N° 9,Sault,84,Régionale Longue Distance,Régional,Pédestre,LD,8404,ASSOCIATION ORIENTATION PASSION AVIGNON,GIBIAT Frédéric (3546),BRUN Matthieu (24583),BALP Fabrice (16002),,,,,http://400teamraid.e-monsite.com/,,44.091143,5.408027,Sault,0.94,municipality,84123,,Sault,,84390,Sault,"84, Vaucluse, Provence-Alpes-Côte d'Azur",84123
|
||||
19/10/2019,OK,Oui,Régionale de Nuit,Péronnas (Foret de Seillon nord),1,Régionale de Nuit,Régional,Pédestre,Nuit,111,CLUB D'ORIENTATION D'AMBERIEU EN BUGEY,ASTRADE Laurent (8203),DECROIX Veronique (2819),LASSALLE J-Paul (1677),ASTRADE Laurent (8203),Jean Marc Sellier,,jean-marc.sellier@orange.fr,http://co-amberieu.pagesperso-orange.fr/,,46.172583,5.20377,Route de la Forêt de Seillon 01960 Péronnas,0.53,street,01289_XXXX_18ea0e,,Route de la Forêt de Seillon,,01960,Péronnas,"01, Ain, Auvergne-Rhône-Alpes (Rhône-Alpes)",01289
|
||||
19/10/2019,OK,Oui,Départementale Sprint,Aixe-sur-Vienne,87,Départementale Sprint,Départemental,Pédestre,Sprint,8702,ORIENTATION 87,,,,,Bernard Boyer,05 55 30 33 99,bernardboyer.co@orange.fr,https://co-limoges.asso-web.com/,,45.795739,1.135774,Aixe-sur-Vienne,0.94,municipality,87001,,Aixe-sur-Vienne,,87700,Aixe-sur-Vienne,"87, Haute-Vienne, Nouvelle-Aquitaine (Limousin)",87001
|
||||
19/10/2019,OK,Non,Régionale O'score Nuit,Cognac-la-Forêt,87,Régionale de Nuit,Régional,Pédestre,Nuit,8702,ORIENTATION 87,,,BOYER Bernard (2294),,Bernard Boyer,05 55 30 33 99,bernardboyer.co@orange.fr,https://co-limoges.asso-web.com/,,45.833217,1.009515,Cognac-la-Forêt,0.92,municipality,87046,,Cognac-la-Forêt,,87310,Cognac-la-Forêt,"87, Haute-Vienne, Nouvelle-Aquitaine (Limousin)",87046
|
||||
19/10/2019,OK,Oui,Régionale Longue Distance,JUNGHOLTZ - Thierenbach,68,Régionale Longue Distance,Régional,Pédestre,LD,6806,CLUB ORIENTATION BUHL ET FLORIVAL,MAILLARD Chantal (1458),,LORANG Francois (13480),MAILLARD Chantal (1458),Lena KORCHAK,630494017,lena.e.c.korchak@gmai.com,,,47.882093,7.18868,Thierenbach 68500 Jungholtz,0.74,street,68159_B019_e62b7e,,Thierenbach,,68500,Jungholtz,"68, Haut-Rhin, Grand-Est (Alsace)",68159
|
||||
19/10/2019,OK,Non,Nuit de l'Orientation en Pays de Dinan (4eme edition),Dinan,22,Raid Orientation (hors CF),Départemental,Raid Orientation,Raid,2209,DINAN COURSE D'ORIENTATION,,,,,Eric Boulet,02.99.40.85.59,secretariat@dinan-course-orientation.fr,http://www.dinan-course-orientation.fr/,,48.454713,-2.050808,Dinan,0.96,municipality,22050,,Dinan,,22100,Dinan,"22, Côtes-d'Armor, Bretagne",22050
|
||||
19/10/2019,OK,Non,Challenge Iserois,Bassin Iserois,38,Départementale Moyenne Distance,Départemental,Pédestre,MD,38,Isère,,,,,JM BOUCHET,631280713,bouchet.jean-michel@wanadoo.fr,,,14.770338,-61.013472,Bassin Noir 97230 Sainte-Marie,0.41,street,97228_B005_3b5820,,Bassin Noir,,97230,Sainte-Marie,"972, Martinique",97228
|
||||
20/10/2019,OK,Oui,Régionale Longue Distance,Foret de Fontainebleau,77,Régionale Longue Distance,Régional,Pédestre,LD,7707,ORIENTATION PLEIN AIR DE MONTIGNY-SUR-LOING,MEY Milena (19782),,MOREY Etienne (3141),,Eloïse Louvet,,eloise.l@orange.fr,https://www.opamontigny.fr/,,48.41226,2.742754,Avenue de la Forêt 77300 Fontainebleau,0.63,street,77186_XXXX_39c12a,,Avenue de la Forêt,,77300,Fontainebleau,"77, Seine-et-Marne, Île-de-France",77186
|
||||
20/10/2019,OK,Oui,Régionale Longue Distance,Saint-Priest-sous-Aixe,87,Régionale Longue Distance,Régional,Pédestre,LD,8702,ORIENTATION 87,,,BOYER Bernard (2294),,Bernard Boyer,05 55 30 33 99,bernardboyer.co@orange.fr,https://co-limoges.asso-web.com/,,45.816744,1.098996,Saint-Priest-sous-Aixe,0.92,municipality,87177,,Saint-Priest-sous-Aixe,,87700,Saint-Priest-sous-Aixe,"87, Haute-Vienne, Nouvelle-Aquitaine (Limousin)",87177
|
||||
20/10/2019,OK,Non,Championnat de Ligue de Relais,Neuf-Brisach,68,Championnat de Ligue de Relais,Régional,Pédestre,Relais,68,Haut-Rhin,,,,,Gilles BAGUEREY ,,cd.haut-rhin@ffcorientation.fr,http://www.haut-rhin.ffcorientation.fr/,,48.017995,7.528044,Neuf-Brisach,0.94,municipality,68231,,Neuf-Brisach,,68600,Neuf-Brisach,"68, Haut-Rhin, Grand-Est (Alsace)",68231
|
||||
20/10/2019,OK,Oui,Régionale CO à VTT Moyenne Distance,Bruay La Buissiere ,62,Régionale CO à VTT Moyenne Distance,Régional,VTT,MD,6203,ARTOIS RAND'ORIENTATION 62,FRANCOISE Charlotte (32331),,,FRANCOISE Charlotte (32331),Philippe Janquin,659081518,philipefraniju@gmail.com,https://sites.google.com/site/artoisrandorientation62/home,,50.480861,2.547015,Bruay-la-Buissière,0.94,municipality,62178,,Bruay-la-Buissière,,62700,Bruay-la-Buissière,"62, Pas-de-Calais, Hauts-de-France (Nord-Pas-de-Calais)",62178
|
||||
20/10/2019,OK,Non,Challenge 06,Mougins,6,Départementale Longue Distance,Départemental,Pédestre,LD,621,MOUGINS ORIENTATION,,,,,,,,http://mouginsorientation.fr/,,43.599624,6.99454,Mougins,0.94,municipality,06085,,Mougins,,06250,Mougins,"06, Alpes-Maritimes, Provence-Alpes-Côte d'Azur",06085
|
||||
20/10/2019,OK,Oui,Régionale Moyenne Distance,St-Nizier,38,Régionale Moyenne Distance,Régional,Pédestre,MD,3809,UNION SPORTIVE DE SAINT EGREVE,BODELET Herve (132),,COCHEY Benoit (3210),BODELET Herve (132),Enri Chabal,06 07 27 42 59,3809ra@free.fr,http://3809ra.com/,Rolland Thiévenaz : contrôleur stagiaire,46.271772,4.034443,Saint-Nizier 71110 Marcigny,0.53,locality,71275_XXXX_69c33b,,Saint-Nizier,,71110,Marcigny,"71, Saône-et-Loire, Bourgogne-Franche-Comté (Bourgogne)",71275
|
||||
26/10/2019,OK,Oui,Départementale Moyenne Distance,Gourbera,40,Départementale Moyenne Distance,Départemental,Pédestre,MD,4012,BALADE RANDONNEE ORIENTATION SOUSTONS,,,,,xavier TASTET,609705612,noelisanna@gmail.com,https://www.soustons-orientation.fr/,,43.80395,-1.048637,Gourbera,0.92,municipality,40114,,Gourbera,,40990,Gourbera,"40, Landes, Nouvelle-Aquitaine (Aquitaine)",40114
|
||||
26/10/2019,OK,Non,Roc66,Collioure,66,Raid Multisport Long,Départemental,Raid Multisport,Raid,6604,CLUB D'ORIENTATION TOUT ESPOIR 66,,,,,Cote66,682330626,clubcote66@gmail.com,http://www.cote66.fr/,,42.525364,3.080212,Collioure,0.92,municipality,66053,,Collioure,,66190,Collioure,"66, Pyrénées-Orientales, Occitanie (Languedoc-Roussillon)",66053
|
||||
26/10/2019,OK,Non,Coupe du VAR ,La Cadière,83,Départementale Longue Distance,Départemental,Pédestre,LD,8318,AZIMUT PROVENCE,,,,,,,azimut.provence@orange.fr,http://www.azimutprovence.clubeo.com/,,48.05545,0.24855,LA CADIERE 72190 Sargé-lès-le-Mans,0.91,street,72328_C203_de223f,,LA CADIERE,,72190,Sargé-lès-le-Mans,"72, Sarthe, Pays-de-la-Loire",72328
|
||||
26/10/2019,OK,Non,Challenge Poitiers CO - 6° étape,Romagne,86,Départementale pédestre (autre),Départemental,Pédestre,,8607,POITIERS COURSE D'ORIENTATION,,,,,Freddy Grimault,,contact@poitiersco.org,https://www.poitiersco.org/,"Départs 9h30-11h
|
||||
Circuits long, moyen et court.",48.341869,-1.277486,Romagné,0.92,municipality,35243,,Romagné,,35133,Romagné,"35, Ille-et-Vilaine, Bretagne",35243
|
||||
27/10/2019,OK,Non,Départementale en Relais,Annonay,7,Départementale en Relais,Départemental,Pédestre,Relais,711,OUTDOOR,,,,,Bruno Mercier,687518031,b.mercier2@wanadoo.fr,http://raidoutdoor07.pe.hu/,,45.23947,4.669711,Annonay,0.94,municipality,07010,,Annonay,,07100,Annonay,"07, Ardèche, Auvergne-Rhône-Alpes (Rhône-Alpes)",07010
|
||||
27/10/2019,OK,Non,Finale Challenge Ardèchois,Roiffieux,7,Départementale Moyenne Distance,Départemental,Pédestre,MD,711,OUTDOOR,,,,,Bruno Mercier,687518031,b.mercier2@wanadoo.fr,http://raidoutdoor07.pe.hu/,,45.226194,4.65402,Roiffieux,0.92,municipality,07197,,Roiffieux,,07100,Roiffieux,"07, Ardèche, Auvergne-Rhône-Alpes (Rhône-Alpes)",07197
|
||||
31/10/2019,OK,Oui,Championnat de France de Nuit,St Benoit la forêt,37,Championnat de France de Nuit,National,Pédestre,Nuit,3705,COURSE ORIENTATION TOURS SUD,MARCHESIN Sylvie (1487),,MORTELLIER Bernard (2282),PARZYCH Michel (954),06 88 77 94 84 / 06 83 26 99 58,,secretariat.cne2019@co-tours.fr,http://cne2019.co-tours.fr/,,47.219977,0.322322,Saint-Benoît-la-Forêt,0.7,municipality,37210,,Saint-Benoît-la-Forêt,,37500,Saint-Benoît-la-Forêt,"37, Indre-et-Loire, Centre-Val de Loire",37210
|
||||
31/10/2019,OK,Non,CO Kids Halloween,,98,Animation,Départemental,Pédestre,,9801,CONVERGENCE,,,,,,,clubconvergence@gmail.com,,,,,,,,,,,,,,,
|
||||
01/11/2019,OK,Oui,Régionale Moyenne Distance,St Benoit la forêt,37,Régionale Moyenne Distance,Régional,Pédestre,MD,3705,COURSE ORIENTATION TOURS SUD,,,,,,,secretariat.cne2019@co-tours.fr,http://cne2019.co-tours.fr/,,47.219977,0.322322,Saint-Benoît-la-Forêt,0.7,municipality,37210,,Saint-Benoît-la-Forêt,,37500,Saint-Benoît-la-Forêt,"37, Indre-et-Loire, Centre-Val de Loire",37210
|
||||
02/11/2019,OK,Non,"Championnat de France de Sprint, qualification (WRE)",Avoine,37,Championnat de France de Sprint (qualification),National,Pédestre,Sprint,3705,COURSE ORIENTATION TOURS SUD,DELENNE Pierre (1593),,MORTELLIER Bernard (2282),PARZYCH Michel (954),06 88 77 94 84 ,,secretariat.cne2019@co-tours.fr,http://cne2019.co-tours.fr/,IOF Event Adviser : MORTELLIER Bernard,48.671249,-0.0958,Avoine,0.92,municipality,61020,,Avoine,,61150,Avoine,"61, Orne, Normandie (Basse-Normandie)",61020
|
||||
02/11/2019,OK,Oui,"Championnat de France de Sprint, finale A (WRE)",Bourgueil,37,Championnat de France de Sprint (finale A),National,Pédestre,Sprint,3705,COURSE ORIENTATION TOURS SUD,DELENNE Pierre (1593),,MORTELLIER Bernard (2282),PARZYCH Michel (954),06 88 77 94 84 / 06 83 26 99 58,,secretariat.cne2019@co-tours.fr,http://cne2019.co-tours.fr/,IOF Event Adviser : MORTELLIER Bernard,47.281177,0.168367,Bourgueil,0.94,municipality,37031,,Bourgueil,,37140,Bourgueil,"37, Indre-et-Loire, Centre-Val de Loire",37031
|
||||
02/11/2019,OK,Non,"Championnat de France de Sprint, finale B (WRE)",Bourgueil,37,Championnat de France de Sprint (finale B),National,Pédestre,Sprint,3705,COURSE ORIENTATION TOURS SUD,DELENNE Pierre (1593),,MORTELLIER Bernard (2282),PARZYCH Michel (954),,,secretariat.cne2019@co-tours.fr,http://cne2019.co-tours.fr/,IOF Event Adviser : MORTELLIER Bernard,47.281177,0.168367,Bourgueil,0.94,municipality,37031,,Bourgueil,,37140,Bourgueil,"37, Indre-et-Loire, Centre-Val de Loire",37031
|
||||
02/11/2019,OK,Oui,Sprint Open,Avoine,37,Régionale Sprint,Régional,Pédestre,Sprint,3705,COURSE ORIENTATION TOURS SUD,,,,,06 88 77 94 84 / 06 83 26 99 58,688779484,secretariat.cne2019@co-tours.fr,http://cne2019.co-tours.fr/,,48.671249,-0.0958,Avoine,0.92,municipality,61020,,Avoine,,61150,Avoine,"61, Orne, Normandie (Basse-Normandie)",61020
|
||||
03/11/2019,OK,Non,Critérium National des Équipes,Cheillé,37,Critérium National des Équipes,National,Pédestre,Relais,3705,COURSE ORIENTATION TOURS SUD,TAISSON Sandrine (21220),,VERMEERSCH Thierry (4428),PARZYCH Michel (954),MATTON Nathalie,,inscriptions.cne2019@co-tours.fr,http://cne2019.co-tours.fr/,CC stagiaire : MIREMENDE Jean-Pierre,47.253721,0.460874,Cheillé,0.92,municipality,37067,,Cheillé,,37190,Cheillé,"37, Indre-et-Loire, Centre-Val de Loire",37067
|
||||
08/11/2019,OK,Non,WE n°2 GL AURA (RDE),Pilat,42,Animation,Départemental,Pédestre,,AR,Auvergne-Rhône-Alpes,,,,,Odile Perrin,619761913,odile.haberkorn@laposte.net,,,44.800664,-0.023054,Pilât 33350 Pujols,0.92,street,33344_B094_1b7e4c,,Pilât,,33350,Pujols,"33, Gironde, Nouvelle-Aquitaine (Aquitaine)",33344
|
||||
09/11/2019,OK,Non,Départementale Longue Distance,Sisteron Montgervis,4,Départementale Longue Distance,Départemental,Pédestre,LD,404,BALISE 04,,,ANDRE Jean-Daniel (1090),,Anne CLERC,687302585,anne.clerc@neuf.fr,http://balise04.free.fr/,,44.189692,5.945418,Sisteron,0.39,municipality,04209,,Sisteron,,04200,Sisteron,"04, Alpes-de-Haute-Provence, Provence-Alpes-Côte d'Azur",04209
|
||||
09/11/2019,OK,Non,7ème Virée nocturne,a confirmer,61,Raid Orientation (hors CF),Départemental,Raid Orientation,Raid,1406,VIR'KING RAID,,,,,Olivier FAUDET,06 82 96 49 97,o.faudet@bocage-normand.com,http://www.virkingraid.org/,"+ de 500 participants lors de l'édition précédente. 4 courses (4, 8, 14 et 21 km) Inscription à partir du 1er septembre. Organisation et animation assurées ",45.296477,4.259649,À Coupier 43140 Saint-Didier-en-Velay,0.27,street,43177_B051_4bb100,,À Coupier,,43140,Saint-Didier-en-Velay,"43, Haute-Loire, Auvergne-Rhône-Alpes (Auvergne)",43177
|
||||
09/11/2019,OK,Non,Départementale Sprint,Elven,56,Départementale Sprint,Départemental,Pédestre,Sprint,5609,COURSE D'ORIENTATION EN PAYS DE VANNES,,,,,Jérôme HUCTIN,,co.vannes56@gmail.com,https://co-vannes.jimdo.com/,,47.731276,-2.591822,Elven,0.94,municipality,56053,,Elven,,56250,Elven,"56, Morbihan, Bretagne",56053
|
||||
09/11/2019,OK,Oui,Régionale Moyenne Distance,Elven,56,Régionale Moyenne Distance,Régional,Pédestre,MD,5609,COURSE D'ORIENTATION EN PAYS DE VANNES,,,,,Jérôme HUCTIN,,co.vannes56@gmail.com,https://co-vannes.jimdo.com/,,47.731276,-2.591822,Elven,0.94,municipality,56053,,Elven,,56250,Elven,"56, Morbihan, Bretagne",56053
|
||||
09/11/2019,OK,Non,Départementale de Nuit,Valbonne,6,Départementale de Nuit,Départemental,Pédestre,Nuit,615,VALBONNE SOPHIA ANTIPOLIS ORIENTATION,,,,,,,contact@vsaorientation.com,http://vsaorientation.com/,,44.572605,6.073739,Valbonne 05000 Gap,0.92,locality,05061_XXXX_f4199f,,Valbonne,,05000,Gap,"05, Hautes-Alpes, Provence-Alpes-Côte d'Azur",05061
|
||||
09/11/2019,OK,Non,Coupe du VAR Bois de Janas Nocturne,La Seyne sur mer Janas,83,Départementale de Nuit,Départemental,Pédestre,Nuit,8318,AZIMUT PROVENCE,,,,,,,azimut.provence@orange.fr,http://www.azimutprovence.clubeo.com/,,43.078257,5.857817,Route de Janas 83500 La Seyne-sur-Mer,0.61,street,83126_XXXX_4a01c0,,Route de Janas,,83500,La Seyne-sur-Mer,"83, Var, Provence-Alpes-Côte d'Azur",83126
|
||||
09/11/2019,OK,Non,Départementale pédestre (autre),Drôme des collines,26,Départementale pédestre (autre),Départemental,Pédestre,,2604,CLUB DE ROMANS DE COURSE D'ORIENTATION,,,,,,,,,,45.057721,4.969309,Route des Collines 26260 Clérieux,0.64,street,26096_XXXX_1d0387,,Route des Collines,,26260,Clérieux,"26, Drôme, Auvergne-Rhône-Alpes (Rhône-Alpes)",26096
|
||||
10/11/2019,OK,Non,Raid des Corbières,Lagrasse,11,Raid Multisport Long,Départemental,Raid Multisport,Raid,1106,LA MAISON DES JEUNES ET DE LA CULTURE,,,,,Bénédicte Tisseyre-Bopp,04 68 79 81 84,inscription.coore@laposte.net,http://www.coore.fr/,,43.090312,2.619568,Lagrasse,0.94,municipality,11185,,Lagrasse,,11220,Lagrasse,"11, Aude, Occitanie (Languedoc-Roussillon)",11185
|
||||
10/11/2019,OK,Non,Les 5 boucles,,28,Départementale Longue Distance,Départemental,Pédestre,LD,2801,ENTENTE SPORTIVE DES POMPIERS DE L'AGGLOMERATION DROUAISE,,,,,Hugo HEULINE,681006477,heuline.h@club-internet.fr,http://www.espad.info/,,,,,,,,,,,,,,
|
||||
10/11/2019,OK,Oui,Départementale CO à VTT Sprint,Île d'Oléron,17,Départementale CO à VTT Sprint,Départemental,VTT,Sprint,1705,CHARENTE-MARITIME ORIENTATION,,,,,,07.81.02.90.23,,,,49.650071,3.792085,L Ile d'Oleron 02350 Pierrepont,0.77,locality,02600_XXXX_3e3946,,L Ile d'Oleron,,02350,Pierrepont,"02, Aisne, Hauts-de-France (Picardie)",02600
|
||||
10/11/2019,OK,Oui,Régionale CO à VTT Moyenne Distance,Île d'Oléron,17,Régionale CO à VTT Moyenne Distance,Régional,VTT,MD,1705,CHARENTE-MARITIME ORIENTATION,,,,,,07.81.02.90.23,,,,49.650071,3.792085,L Ile d'Oleron 02350 Pierrepont,0.77,locality,02600_XXXX_3e3946,,L Ile d'Oleron,,02350,Pierrepont,"02, Aisne, Hauts-de-France (Picardie)",02600
|
||||
10/11/2019,OK,Non,La 111,Bugey,1,Départementale Ultra Longue Distance,Départemental,Pédestre,,111,CLUB D'ORIENTATION D'AMBERIEU EN BUGEY,,,,,Jean Marc Sellier,,jean-marc.sellier@orange.fr,http://co-amberieu.pagesperso-orange.fr/,Pourrez vous relever le défi proposé par le club 0111 ? Plusieurs circuits dont le plus long qui comportera 111 postes. Heureusement jour férié le 11/11 pour la récup !,45.704415,5.754486,LE BUGEY 73170 Yenne,0.52,locality,73330_XXXX_82a3ce,,LE BUGEY,,73170,Yenne,"73, Savoie, Auvergne-Rhône-Alpes (Rhône-Alpes)",73330
|
||||
10/11/2019,OK,Non,WE n°2 GL AURA,Pilat,42,Animation,Départemental,Pédestre,,AR,Auvergne-Rhône-Alpes,,,,,Odile Perrin,619761913,odile.haberkorn@laposte.net,,,44.800664,-0.023054,Pilât 33350 Pujols,0.92,street,33344_B094_1b7e4c,,Pilât,,33350,Pujols,"33, Gironde, Nouvelle-Aquitaine (Aquitaine)",33344
|
||||
10/11/2019,OK,Non,DynaMeaux,Meaux-Plaine Corazza,77,Départementale au score,Départemental,Pédestre,Score,7720,TOUTES ORIENTATIONS MEAUX,,,,,,,,,,48.967358,2.86695,Rue Alain Colas 77124 Crégy-lès-Meaux,0.24,street,77143_0003_02ab67,,Rue Alain Colas,,77124,Crégy-lès-Meaux,"77, Seine-et-Marne, Île-de-France",77143
|
||||
10/11/2019,OK,Oui,Régionale Longue Distance,Rochefort-en-Terre,56,Régionale Longue Distance,Régional,Pédestre,LD,5609,COURSE D'ORIENTATION EN PAYS DE VANNES,,,,,Jérôme HUCTIN,,co.vannes56@gmail.com,https://co-vannes.jimdo.com/,,47.698979,-2.337171,Rochefort-en-Terre,0.94,municipality,56196,,Rochefort-en-Terre,,56220,Rochefort-en-Terre,"56, Morbihan, Bretagne",56196
|
||||
10/11/2019,OK,Non,Challenge 06,Valbonne,6,Départementale Longue Distance,Départemental,Pédestre,LD,615,VALBONNE SOPHIA ANTIPOLIS ORIENTATION,,,,,,,contatc@vsaorientation.com,http://vsaorientation.com/,,44.572605,6.073739,Valbonne 05000 Gap,0.92,locality,05061_XXXX_f4199f,,Valbonne,,05000,Gap,"05, Hautes-Alpes, Provence-Alpes-Côte d'Azur",05061
|
||||
11/11/2019,OK,Oui,Régionale Moyenne Distance,Malestroit,56,Régionale Moyenne Distance,Régional,Pédestre,MD,5609,COURSE D'ORIENTATION EN PAYS DE VANNES,,,,,Jérôme HUCTIN,,co.vannes56@gmail.com,https://co-vannes.jimdo.com/,,47.809576,-2.384441,Malestroit,0.94,municipality,56124,,Malestroit,,56140,Malestroit,"56, Morbihan, Bretagne",56124
|
||||
11/11/2019,OK,Non,Départementale Longue Distance,Valbonne,6,Départementale Longue Distance,Départemental,Pédestre,LD,615,VALBONNE SOPHIA ANTIPOLIS ORIENTATION,,,,,,,contact@vsaorientation.com,http://vsaorientation.com/,,44.572605,6.073739,Valbonne 05000 Gap,0.92,locality,05061_XXXX_f4199f,,Valbonne,,05000,Gap,"05, Hautes-Alpes, Provence-Alpes-Côte d'Azur",05061
|
||||
16/11/2019,OK,Non,Départementale Moyenne Distance,Fontainebleau,77,Départementale Moyenne Distance,Départemental,Pédestre,MD,7701,C.S.A. DU CENTRE NATIONAL DES SPORTS DE LA DEFENSE,,,GUILLON Alain (1854),,alain GUILLON,668229847,cdco77.helene@wanadoo.fr,http://csacnsdco.wixsite.com/co7701/club,départ de 10H30 à 15H00,48.408814,2.701368,Fontainebleau,0.96,municipality,77186,,Fontainebleau,,77300,Fontainebleau,"77, Seine-et-Marne, Île-de-France",77186
|
||||
16/11/2019,OK,Oui,Challenge PACA de Nuit,,13,Régionale de Nuit,Régional,Pédestre,Nuit,1307,ATHLETIC CLUB AURELIEN,SECKLER Daniel (11716),COURDIER Jean Marc (27752),,,,,,http://ac.aurelien.free.fr/,,,,,,,,,,,,,,
|
||||
16/11/2019,OK,Oui,2 jours d'Orientation en Creuse,Guéret,23,Régionale Moyenne Distance,Régional,Pédestre,MD,2301,CREUSE OXYGENE,,,PETINON Christine (18601),,christine Petinon,555519826,orientation@twixcreusois.fr,http://twixcreusois.fr/,Forêt de Chabrières,46.170185,1.867156,Guéret,0.97,municipality,23096,,Guéret,,23000,Guéret,"23, Creuse, Nouvelle-Aquitaine (Limousin)",23096
|
||||
16/11/2019,OK,Non,Grand week-end Sports Nature,Saint-Romain-le-Noble,47,Raid Multisport Long,Départemental,Raid Multisport,Raid,4709,POLE SPORTS NATURE ORIENTATION,,,,,Delphine Rodriguez,684510093,delphinerodriguez@wanadoo.fr,http://www.psno.fr/,,44.161829,0.784113,Saint-Romain-le-Noble,0.92,municipality,47274,,Saint-Romain-le-Noble,,47270,Saint-Romain-le-Noble,"47, Lot-et-Garonne, Nouvelle-Aquitaine (Aquitaine)",47274
|
||||
16/11/2019,OK,Non,Départementale de Nuit,chezeneuve,38,Départementale de Nuit,Départemental,Pédestre,Nuit,3812,BOL D'AIR,,,,,bernard leo,,boldair.appn@gmail.com,https://boldairappn.wixsite.com/,,45.561328,5.223089,Chèzeneuve,0.92,municipality,38102,,Chèzeneuve,,38300,Chèzeneuve,"38, Isère, Auvergne-Rhône-Alpes (Rhône-Alpes)",38102
|
||||
16/11/2019,OK,Non,Challenge Iserois,Bassin Iserois,38,Départementale Moyenne Distance,Départemental,Pédestre,MD,38,Isère,,,,,JM BOUCHET,631280713,bouchet.jean-michel@wanadoo.fr,,,14.770338,-61.013472,Bassin Noir 97230 Sainte-Marie,0.41,street,97228_B005_3b5820,,Bassin Noir,,97230,Sainte-Marie,"972, Martinique",97228
|
||||
16/11/2019,OK,Oui,Weekend O'PICARDIE,à définir,60,Régionale Sprint,Régional,Pédestre,Sprint,60,Oise,,,,,Bertrand PATURET,670190892,bertrandpaturet@sfr.fr,,,44.583856,-0.076965,À Trufin 33190 La Réole,0.23,street,33352_B089_03404d,,À Trufin,,33190,La Réole,"33, Gironde, Nouvelle-Aquitaine (Aquitaine)",33352
|
||||
16/11/2019,OK,Oui,Weekend O'PICARDIE,à définir,60,Régionale de Nuit,Régional,Pédestre,Nuit,60,Oise,,,,,Bertrand PATURET,670190892,bertrandpaturet@sfr.fr,,,44.583856,-0.076965,À Trufin 33190 La Réole,0.23,street,33352_B089_03404d,,À Trufin,,33190,La Réole,"33, Gironde, Nouvelle-Aquitaine (Aquitaine)",33352
|
||||
16/11/2019,OK,Oui,Chpt de l'Yonne MD,Toucy,89,Départementale Moyenne Distance,Départemental,Pédestre,MD,89,Yonne,,,,,,,cdco89@free.fr,,,47.735727,3.29219,Toucy,0.94,municipality,89419,,Toucy,,89130,Toucy,"89, Yonne, Bourgogne-Franche-Comté (Bourgogne)",89419
|
||||
16/11/2019,OK,Non,CO de nuit - Ain Tour de CO,,1,Départementale de Nuit,Départemental,Pédestre,Nuit,109,O'BUGEY,,,,,,,,,,,,,,,,,,,,,,
|
||||
17/11/2019,OK,Non, 17° STRASBOURG CITY RACE ,STRASBOURG,67,Départementale pédestre (autre),Départemental,Pédestre,,6707,ASS. DES SPORTS D'ORIENTATION DU PAYS D'ERSTEIN,HALLOUARD Andre françois (4770),,DEMANGE Eric (4009),HALLOUARD Andre françois (4770),ASOPE ASOPErstein,388590560,asope@free.fr,http://www.asope.info/,"La désormais mythique ""STRASBOURG CITY RACE"" se déroulera en milieu urbain entre parcs et coeur de STRASBOURG la capitale européenne sur CARTE NEUVE avec accueil habituel en gymnase .... après la présence des 218 participants 2018 ( 155 compétiteurs et 63 initiations de 28 ""clubs"" et international avec 13 nationalités présentes ) et le record de 487 participants en 2016 .La STRASBOURG CITY RACE BATTRA T ELLE SON RECORD DE PARTICIPATION POUR UNE DEPARTEMENTALE ????
|
||||
Très nombreuses récompenses prestigieuses et de valeurs ",48.58353,7.746735,Strasbourg,0.98,municipality,67482,,Strasbourg,,67000,Strasbourg,"67, Bas-Rhin, Grand-Est (Alsace)",67482
|
||||
17/11/2019,OK,Oui,2 jours d'Orientation en Creuse,Guéret - Chabrières,23,Régionale Moyenne Distance,Régional,Pédestre,MD,2301,CREUSE OXYGENE,,,PETINON Guy (18600),,Christine Petinon,555519826,orientation@twixcreusois.fr,http://twixcreusois.fr/,,46.146218,1.866328,Route de Chabrières 23000 Guéret,0.55,street,23096_XXXX_537a28,,Route de Chabrières,,23000,Guéret,"23, Creuse, Nouvelle-Aquitaine (Limousin)",23096
|
||||
17/11/2019,OK,Oui,Weekend O'PICARDIE,à définir,60,Régionale Longue Distance,Régional,Pédestre,LD,60,Oise,RICHARD Nicole (14245),,,,Bertrand PATURET,670190892,bertrandpaturet@sfr.fr,,,44.583856,-0.076965,À Trufin 33190 La Réole,0.23,street,33352_B089_03404d,,À Trufin,,33190,La Réole,"33, Gironde, Nouvelle-Aquitaine (Aquitaine)",33352
|
||||
17/11/2019,OK,Oui,Régionale Longue Distance,,31,Régionale Longue Distance,Régional,Pédestre,LD,3105,TOULOUSE OLYMPIQUE AEROSPATIALE CLUB,,,,,,,,https://www.toac-orientation.fr/,,,,,,,,,,,,,,
|
||||
17/11/2019,OK,Non,O'Castor,Guyancourt,78,Départementale Longue Distance,Départemental,Pédestre,LD,7807,GUYANCOURT ORIENTATION 78,,,,,Eric Mougel,06.17.98.65.51,contact@go78.org,http://www.go78.org/,,48.769893,2.072035,Guyancourt,0.92,municipality,78297,,Guyancourt,,78280,Guyancourt,"78, Yvelines, Île-de-France",78297
|
||||
22/11/2019,OK,Non,Vendredi O Night Melvita,A définir,7,Animation,Départemental,Pédestre,,7,Ardèche,,,,,pardoen Toma,607966486,evenements@cdco07.fr,http://cdco07.fr/,,44.583856,-0.076965,À Trufin 33190 La Réole,0.23,street,33352_B089_03404d,,À Trufin,,33190,La Réole,"33, Gironde, Nouvelle-Aquitaine (Aquitaine)",33352
|
||||
23/11/2019,OK,Non,Coupe du VAR La Cordeille,Ollioules,83,Départementale pédestre (autre),Départemental,Pédestre,,8318,AZIMUT PROVENCE,,,,,,,azimut.provence@orange.fr,http://www.azimutprovence.clubeo.com/,,43.138865,5.846415,Ollioules,0.94,municipality,83090,,Ollioules,,83190,Ollioules,"83, Var, Provence-Alpes-Côte d'Azur",83090
|
||||
23/11/2019,OK,Non,Mortainaise,Mortain,50,Départementale de Nuit,Départemental,Pédestre,Nuit,1408,VIK'AZIM,,,,,,651742096,,http://vikazim.fr/,,48.328001,-0.979079,Mortain 53220 Larchamp,0.91,street,53126_B790_62d26c,,Mortain,,53220,Larchamp,"53, Mayenne, Pays-de-la-Loire",53126
|
||||
23/11/2019,OK,Non,Challenge Poitiers CO - 7°étape,Bonneuil-Matours - Forêt de Moulière - La Logerie,86,Départementale pédestre (autre),Départemental,Pédestre,,8607,POITIERS COURSE D'ORIENTATION,,,,,Corentin et Laurent Roche,,contact@poitiersco.org,https://www.poitiersco.org/,"Accès par route forestière du Défens (croise la D3 entre Montamisé et Bonneuil-Matours).
|
||||
Départs 9h30-11h
|
||||
Circuits long, moyen et court.",46.671504,0.522065,Logerie 86210 Bonneuil-Matours,0.45,street,86032_B127_188fd2,,Logerie,,86210,Bonneuil-Matours,"86, Vienne, Nouvelle-Aquitaine (Poitou-Charentes)",86032
|
||||
24/11/2019,OK,Oui,Régionale Longue Distance,FONTAINEBLEAU ,77,Régionale Longue Distance,Régional,Pédestre,LD,7716,BALISE 77 FONTAINEBLEAU-AVON,TEDOLDI Téo (26063),,HALLAY Dominique (1982),,vincent chastel,06.20.58.29.82,ca@balise77.com,http://www.balise77.com/,,48.408814,2.701368,Fontainebleau,0.96,municipality,77186,,Fontainebleau,,77300,Fontainebleau,"77, Seine-et-Marne, Île-de-France",77186
|
||||
24/11/2019,OK,Non,Rhone-Orientation,,69,Rand'Orientation,Départemental,Pédestre,,69,Rhône - Métropole de Lyon,,,,,,,,,organisateur :comité départemental de course d'orientation du Rhône,,,,,,,,,,,,,
|
||||
24/11/2019,OK,Non,Départementale pédestre (autre),,51,Départementale pédestre (autre),Départemental,Pédestre,,5101,EPERNAY NATURE ET SPORT,,,,,DUMONT-GOSSET Bernadette,06 84 92 40 26,ens5101@wanadoo.fr,http://epernayns.free.fr/,,,,,,,,,,,,,,
|
||||
24/11/2019,OK,Non,Départementale Longue Distance,LUNEVILLE,54,Départementale Longue Distance,Départemental,Pédestre,LD,5407,SPORTS ORIENTATION LUNEVILLE,,,,,Bernard Lemercier,683977890,bernard.lemercier@wanadoo.fr,http://www.meurthe-et-moselle.ffcorientation.fr/so-luneville,,48.588907,6.500776,Lunéville,0.96,municipality,54329,,Lunéville,,54300,Lunéville,"54, Meurthe-et-Moselle, Grand-Est (Lorraine)",54329
|
||||
24/11/2019,OK,Non,Challenge 06,Mougins,6,Départementale Longue Distance,Départemental,Pédestre,LD,621,MOUGINS ORIENTATION,,,,,,,,http://mouginsorientation.fr/,,43.599624,6.99454,Mougins,0.94,municipality,06085,,Mougins,,06250,Mougins,"06, Alpes-Maritimes, Provence-Alpes-Côte d'Azur",06085
|
||||
24/11/2019,OK,Non,Raid Hivernal,,64,Raid Orientation (hors CF),Départemental,Raid Orientation,Raid,6408,"CLUB D'ORIENTATION, D'OXYGENATION ET DE LOISIRS",,,,,cool.orientation@gmail.com,05.59.84.71.68,lesbdv@orange.fr,http://cool.co.free.fr/,,,,,,,,,,,,,,
|
||||
30/11/2019,OK,Non,NOCTORIENTATION,Antony,92,Rand'Orientation,Départemental,Pédestre,,9211,DEFIS SPORTS AVENTURES,,,,,bertrand Pincé,648485388,bertrand.pince@gmail.com,http://www.dsa-antony.fr/,,48.752531,2.295423,Antony,0.96,municipality,92002,,Antony,,92160,Antony,"92, Hauts-de-Seine, Île-de-France",92002
|
||||
30/11/2019,OK,Oui,Régionale de Nuit,Montamisé,86,Régionale de Nuit,Régional,Pédestre,Nuit,8607,POITIERS COURSE D'ORIENTATION,,,,,Gervais BAZIN,,contact@poitiersco.org,https://www.poitiersco.org/,Maison de la Forêt du Grand Recoin,46.620519,0.423754,Montamisé,0.92,municipality,86163,,Montamisé,,86360,Montamisé,"86, Vienne, Nouvelle-Aquitaine (Poitou-Charentes)",86163
|
||||
30/11/2019,OK,Non,La Chouette Orientation,Saint Etienne du Rouvray,76,Raid Orientation (hors CF),Départemental,Raid Orientation,Raid,7604,AMICALE LAIQUE DU BUQUET-ELBEUF,,,,,Frédéric Banik,678095021,albeorientation@gmail.com,https://raidaventure76.sportsregions.fr/,,49.377215,1.102802,Saint-Étienne-du-Rouvray,0.95,municipality,76575,,Saint-Étienne-du-Rouvray,,76800,Saint-Étienne-du-Rouvray,"76, Seine-Maritime, Normandie (Haute-Normandie)",76575
|
||||
01/12/2019,OK,Oui,Régionale Longue Distance,Sérénac,81,Régionale Longue Distance,Régional,Pédestre,LD,8106,ALBI RESSORT,,,,,christian laval,686609036,ressort.albi@laposte.net,http://ressort.albi.free.fr/,,43.963478,2.334634,Sérénac,0.92,municipality,81285,,Sérénac,,81350,Sérénac,"81, Tarn, Occitanie (Midi-Pyrénées)",81285
|
||||
01/12/2019,OK,Oui,Régionale Longue Distance,Le Grand Crohot,33,Régionale Longue Distance,Régional,Pédestre,LD,3318,ASSOCIATION SPORTIVE DE MARTIGNAS,,,,,HERVE Cyril,614280594,cherve88@gmail.com,,,44.796193,-1.226368,Le Grand Crohot 33950 Lège-Cap-Ferret,0.91,locality,33236_XXXX_c8d869,,Le Grand Crohot,,33950,Lège-Cap-Ferret,"33, Gironde, Nouvelle-Aquitaine (Aquitaine)",33236
|
||||
01/12/2019,OK,Oui,Challenge O Paris 2019 - C4,Paris,75,Départementale Sprint,Départemental,Pédestre,Sprint,7512,RAID ORIENTATION DE PARIS,GRUSELLE Fabien (7251),,BESTEL Thierry (9601),,Stéphane DRUZETIC,06.63.70.14.61,president@raid-o-paris.org,http://www.raid-o-paris.org/,,48.8589,2.3469,Paris,1.0,municipality,75056,,Paris,,75000,Paris,"75, Île-de-France",75056
|
||||
01/12/2019,OK,Non,Challenge O Paris 2019 - C5 (Finale),Paris,75,Départementale Sprint,Départemental,Pédestre,Sprint,7512,RAID ORIENTATION DE PARIS,,,,,Stéphane DRUZETIC,06.63.70.14.61,president@raid-o-paris.org,http://www.raid-o-paris.org/,,48.8589,2.3469,Paris,1.0,municipality,75056,,Paris,,75000,Paris,"75, Île-de-France",75056
|
||||
01/12/2019,OK,Non,Défi 100 balises,Rennes,35,Régionale Ultra Longue Distance,Régional,Pédestre,,3502,CLUB RENNAIS DE COURSE D'ORIENTATION,,,,,,,,,,48.113844,-1.681632,Rennes,0.98,municipality,35238,,Rennes,,35000,Rennes,"35, Ille-et-Vilaine, Bretagne",35238
|
||||
01/12/2019,OK,Non,La formule Noël de l'ASO,Reims,51,Départementale pédestre (autre),Départemental,Pédestre,,5116,ANIMATION SILLERY ORIENTATION,,,,,Virginie BLUM,620245606,virginie.blum@laposte.net,http://asosillery.fr/,Chut ! on vous en dira plus très bientôt !,49.264571,4.027514,Reims,0.96,municipality,51454,,Reims,,51100,Reims,"51, Marne, Grand-Est (Champagne-Ardenne)",51454
|
||||
07/12/2019,OK,Oui,Championnat de Ligue de Nuit,Grimbosq,14,Championnat de Ligue de Nuit,Régional,Pédestre,Nuit,1403,ORIENTATION CAENNAISE,BRIERE Axelle (24514),,DESLANDES Marion (15180),,,,,http://www.orientationcaennaise.fr/,,49.043138,-0.452015,Grimbosq,0.92,municipality,14320,,Grimbosq,,14220,Grimbosq,"14, Calvados, Normandie (Basse-Normandie)",14320
|
||||
08/12/2019,OK,Oui,Régionale 6,St-Martin-du-Tertre,95,Régionale Longue Distance,Régional,Pédestre,LD,9502,ATHLETIC CLUB DE BEAUCHAMP,HUET Michel (1422),,BRET Dominique (5982),HUET Michel (1422),Eric Boudy,06.76.57.31.47,eric.boudy@wanadoo.fr,http://www.acbeauchamp-orientation.net/,"Suite à l'annulation de la Régionale LIFCO du 17/02, celle-ci est devenue la Régionale 5",48.212768,3.258481,Saint-Martin-du-Tertre,0.71,municipality,89354,,Saint-Martin-du-Tertre,,89100,Saint-Martin-du-Tertre,"89, Yonne, Bourgogne-Franche-Comté (Bourgogne)",89354
|
||||
08/12/2019,OK,Non,Départementale Longue Distance,COUFFOULEUX,81,Départementale Longue Distance,Départemental,Pédestre,LD,8105,BALISE ORIENTATION ALBIGEOISE,,,,,Christian ESCUDIE,670069289,escudie.c81@gmail.com,http://boa81.free.fr/,,43.771607,2.876072,Couffouleux 12360 Peux-et-Couffouleux,0.91,street,12179_B033_daa233,,Couffouleux,,12360,Peux-et-Couffouleux,"12, Aveyron, Occitanie (Midi-Pyrénées)",12179
|
||||
08/12/2019,OK,Non,Finale Challenge PACA,Pays Grassois,6,Régionale en Relais,Régional,Pédestre,Relais,615,VALBONNE SOPHIA ANTIPOLIS ORIENTATION,BALP Fabrice (16002),,,,,,contatc@vsaorientation.com,http://vsaorientation.com/,,44.044789,1.331334,Bas Pays 82000 Montauban,0.34,street,82121_B033_eb61ca,,Bas Pays,,82000,Montauban,"82, Tarn-et-Garonne, Occitanie (Midi-Pyrénées)",82121
|
||||
08/12/2019,OK,Oui,Régionale Longue Distance,Le Grand Crohot,33,Régionale Longue Distance,Régional,Pédestre,LD,3308,SPORT ATHLETIQUE DE GAZINET-CESTAS,,,,,Pierrick PETIT,641678980,pierrick.petit@bbox.fr,http://www.sagc-orientation.fr/,,44.796193,-1.226368,Le Grand Crohot 33950 Lège-Cap-Ferret,0.91,locality,33236_XXXX_c8d869,,Le Grand Crohot,,33950,Lège-Cap-Ferret,"33, Gironde, Nouvelle-Aquitaine (Aquitaine)",33236
|
||||
13/12/2019,OK,Non,Vendredi O Night Melvita,A définir,7,Animation,Départemental,Pédestre,,7,Ardèche,,,,,pardoen Toma,607966486,evenements@cdco07.fr,http://cdco07.fr/,,44.583856,-0.076965,À Trufin 33190 La Réole,0.23,street,33352_B089_03404d,,À Trufin,,33190,La Réole,"33, Gironde, Nouvelle-Aquitaine (Aquitaine)",33352
|
||||
14/12/2019,OK,Oui,Régionale Longue Distance,Biscarrosse,40,Régionale Longue Distance,Régional,Pédestre,LD,4010,BISCARROSSE OLYMPIQUE NATURE ORIENTATION,,,LAVIELLE Alain (965),,celine Cornaille,673654389,celine.bats-cornaille@orange.fr,,,44.392613,-1.164947,Biscarrosse,0.92,municipality,40046,,Biscarrosse,,40600,Biscarrosse,"40, Landes, Nouvelle-Aquitaine (Aquitaine)",40046
|
||||
14/12/2019,OK,Non,ESPAD O'Night,,28,Départementale pédestre (autre),Départemental,Pédestre,,2801,ENTENTE SPORTIVE DES POMPIERS DE L'AGGLOMERATION DROUAISE,,,,,Hugo HEULINE,681006477,heuline.h@club-internet.fr,http://www.espad.info/,,,,,,,,,,,,,,
|
||||
14/12/2019,OK,Non,Challenge Iserois,Bassin Iserois,38,Départementale Moyenne Distance,Départemental,Pédestre,MD,38,Isère,,,,,JM BOUCHET,631280713,bouchet.jean-michel@wanadoo.fr,,,14.770338,-61.013472,Bassin Noir 97230 Sainte-Marie,0.41,street,97228_B005_3b5820,,Bassin Noir,,97230,Sainte-Marie,"972, Martinique",97228
|
||||
14/12/2019,OK,Non,Départementale Moyenne Distance,Le Patus,34,Départementale Moyenne Distance,Départemental,Pédestre,MD,34,Hérault,,,,,,,cdco34@yahoo.fr,http://cdco34.fr/,,44.430488,3.218667,LE PATUS 48500 La Canourgue,0.92,street,48034_C351_82e1e7,,LE PATUS,,48500,La Canourgue,"48, Lozère, Occitanie (Languedoc-Roussillon)",48034
|
||||
14/12/2019,OK,Non,Coupe du VAR,HYERES,83,Départementale au score,Départemental,Pédestre,Score,8311,PRADET ORIENTATION LOISIRS ET SPORT,,,,,Françoise DELI,612535407,poles8311@free.fr,https://poles8311.com/,,43.118457,6.128004,Hyères,0.95,municipality,83069,,Hyères,,83400,Hyères,"83, Var, Provence-Alpes-Côte d'Azur",83069
|
||||
15/12/2019,OK,Non,"13e Edition ""La 77""",Forêt de Fontainebleau,77,Départementale pédestre (autre),Départemental,Pédestre,,77,Seine-et-Marne,,,,,Alain GUILLON,06 68 22 98 47,cdco77.helene@wanadoo.fr,http://cd77if.free.fr/,,48.41226,2.742754,Avenue de la Forêt 77300 Fontainebleau,0.63,street,77186_XXXX_39c12a,,Avenue de la Forêt,,77300,Fontainebleau,"77, Seine-et-Marne, Île-de-France",77186
|
||||
18/12/2019,OK,Non,Challenge Poitiers CO - 8° et dernière étape,Poitiers - Campus universitaire,86,Départementale pédestre (autre),Départemental,Pédestre,,8607,POITIERS COURSE D'ORIENTATION,,,,,Nicolas Hayer,,contact@poitiersco.org,https://www.poitiersco.org/,"RDV : Allée Jean Monnet - Bâtiment C7
|
||||
Départs 17h/19h
|
||||
Circuits long, moyen et court.
|
||||
Lampe frontale et effets rétro-réfléchissants obligatoires.",,,,,,,,,,,,,
|
||||
21/12/2019,OK,Non,Mégalonight,Cheillé,37,Animation,Départemental,Pédestre,,3705,COURSE ORIENTATION TOURS SUD,,,,,,,contact@co-tours.fr,http://www.co-tours.fr/,,47.253721,0.460874,Cheillé,0.92,municipality,37067,,Cheillé,,37190,Cheillé,"37, Indre-et-Loire, Centre-Val de Loire",37067
|
||||
26/12/2019,OK,Non,Animation de Noel 2019 dans les rues de Colmar,Colmar,68,Animation,Départemental,Pédestre,,6804,CLUB D'ORIENTATION DE COLMAR,,,,,Kirian Meyer,,admin@cocolmar.fr,http://www.cocolmar.fr/,,48.080428,7.354505,Colmar,0.97,municipality,68066,,Colmar,,68000,Colmar,"68, Haut-Rhin, Grand-Est (Alsace)",68066
|
||||
28/12/2019,OK,Oui,Régionale de Nuit,Parc de Rouelles,76,Régionale de Nuit,Régional,Pédestre,Nuit,2704,CLUB D'ORIENTATION DES BOUCLES DE LA SEINE,PIGEON Eric (16630),,EUDIER Patrick (3384),,,,cobs@free.fr,http://cobs.free.fr/,,47.898689,-3.261111,Parc Rouel 56240 Lanvaudan,0.55,street,56104_C147_68bdbb,,Parc Rouel,,56240,Lanvaudan,"56, Morbihan, Bretagne",56104
|
|
121
data/import_example_from_csv_co2db.py
Normal file
121
data/import_example_from_csv_co2db.py
Normal file
|
@ -0,0 +1,121 @@
|
|||
#!/usr/bin/env python3
|
||||
# Script to import orienteering events from a CSV file into the OpenEventDatabase
|
||||
|
||||
import csv
|
||||
import json
|
||||
import requests
|
||||
import sys
|
||||
import datetime
|
||||
|
||||
|
||||
def process_csv():
|
||||
"""
|
||||
Process the CSV file containing orienteering events and submit them to the OpenEventDatabase.
|
||||
|
||||
The CSV file should have the following columns:
|
||||
- Column 0: Date (format: DD/MM/YYYY)
|
||||
- Column 3: Event name
|
||||
- Column 19: Website URL
|
||||
- Column 21: Latitude
|
||||
- Column 22: Longitude
|
||||
|
||||
The function skips rows with empty latitude or longitude values.
|
||||
"""
|
||||
eventReader = csv.reader(open("calendrierv3.csv"), delimiter=",")
|
||||
|
||||
# Skip the header row to avoid parsing column names as data
|
||||
next(eventReader, None)
|
||||
|
||||
for row in eventReader:
|
||||
# print(row)
|
||||
|
||||
# {
|
||||
# "geometry": {
|
||||
# "type": "Point",
|
||||
# "coordinates": [
|
||||
# 4.9290, 45.1804
|
||||
# ]
|
||||
# },
|
||||
# "properties": {
|
||||
# "createdate": "2019-04-22",
|
||||
# "label": "Course d'orientation Longue Distance au bois de Suze",
|
||||
# "lastupdate": "2019-04-22",
|
||||
# "lat": 45.185024,
|
||||
# "lon": 4.93085,
|
||||
# "source": "http://romans.orientation.free.fr/index.php?article194/course-departementale-longue-distance-a-saint-donat-25-mai",
|
||||
# "type": "scheduled",
|
||||
# "what": "sport.orienteering",
|
||||
# "when": "2019-04-23"
|
||||
# },
|
||||
# "type": "Feature"
|
||||
# }
|
||||
|
||||
try:
|
||||
# Parse the date from column 0 (format: DD/MM/YYYY) and convert to ISO format (YYYY-MM-DD)
|
||||
event_date = datetime.datetime.strptime(row[0], "%d/%m/%Y").strftime("%Y-%m-%d")
|
||||
|
||||
# Get event name from column 3
|
||||
name = row[3]
|
||||
|
||||
# Get website URL from column 19, use empty string if not provided
|
||||
website = row[19] if row[19] else ""
|
||||
|
||||
# Handle empty latitude values (column 21)
|
||||
# Check if the value exists and is not just whitespace before converting to float
|
||||
if row[21] and row[21].strip():
|
||||
lat = float(row[21])
|
||||
else:
|
||||
print(f"Skipping row with empty latitude: {row}")
|
||||
continue
|
||||
|
||||
# Handle empty longitude values (column 22)
|
||||
# Check if the value exists and is not just whitespace before converting to float
|
||||
if row[22] and row[22].strip():
|
||||
lon = float(row[22])
|
||||
else:
|
||||
print(f"Skipping row with empty longitude: {row}")
|
||||
continue
|
||||
except Exception as e:
|
||||
print(f"could not parse CSV entry {row}: {e}")
|
||||
continue
|
||||
|
||||
properties = {}
|
||||
properties["label"] = name
|
||||
properties["lat"] = lat
|
||||
properties["lon"] = lon
|
||||
properties["source"] = website
|
||||
properties["type"] = "scheduled"
|
||||
properties["what"] = "sport.orienteering.test"
|
||||
properties["when"] = event_date
|
||||
|
||||
geometry = {}
|
||||
geometry["type"] = "Point"
|
||||
geometry["coordinates"] = [lon, lat]
|
||||
|
||||
obj = {}
|
||||
obj["geometry"] = geometry
|
||||
obj["properties"] = properties
|
||||
obj["type"] = "Feature"
|
||||
|
||||
submit_event(json.dumps(obj))
|
||||
|
||||
|
||||
def submit_event(data):
|
||||
# print(data)
|
||||
url = "http://api.openeventdatabase.org/event"
|
||||
|
||||
resp = requests.post(url, data=data)
|
||||
|
||||
if resp.status_code == 201:
|
||||
print(f"Event created successfully ({resp.status_code}): {resp.text}")
|
||||
elif resp.status_code == 409:
|
||||
print(f"Event already exists, skipping: {resp.text}")
|
||||
elif resp.status_code >= 400:
|
||||
print(f"Event could not be created ({resp.status_code}): {resp.text}")
|
||||
sys.exit(1)
|
||||
else:
|
||||
print(f"Unknown response ({resp.status_code}): {resp.text}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
process_csv()
|
0
oedb/__init__.py
Normal file
0
oedb/__init__.py
Normal file
0
oedb/middleware/__init__.py
Normal file
0
oedb/middleware/__init__.py
Normal file
27
oedb/middleware/headers.py
Normal file
27
oedb/middleware/headers.py
Normal file
|
@ -0,0 +1,27 @@
|
|||
"""
|
||||
Middleware components for the OpenEventDatabase.
|
||||
"""
|
||||
|
||||
from oedb.utils.logging import logger
|
||||
|
||||
class HeaderMiddleware:
|
||||
"""
|
||||
Middleware that adds standard headers to all responses.
|
||||
"""
|
||||
|
||||
def process_response(self, req, resp, resource, params):
|
||||
"""
|
||||
Add standard headers to the response.
|
||||
|
||||
Args:
|
||||
req: The request object.
|
||||
resp: The response object.
|
||||
resource: The resource object.
|
||||
params: The request parameters.
|
||||
"""
|
||||
logger.debug("Adding standard headers to response")
|
||||
resp.set_header('X-Powered-By', 'OpenEventDatabase')
|
||||
resp.set_header('Access-Control-Allow-Origin', '*')
|
||||
resp.set_header('Access-Control-Allow-Headers', 'X-Requested-With')
|
||||
resp.set_header('Access-Control-Allow-Headers', 'Content-Type')
|
||||
resp.set_header('Access-Control-Allow-Methods','GET, POST, PUT, DELETE, OPTIONS')
|
0
oedb/models/__init__.py
Normal file
0
oedb/models/__init__.py
Normal file
69
oedb/models/event.py
Normal file
69
oedb/models/event.py
Normal file
|
@ -0,0 +1,69 @@
|
|||
"""
|
||||
Event models for the OpenEventDatabase.
|
||||
"""
|
||||
|
||||
import json
|
||||
from oedb.utils.logging import logger
|
||||
|
||||
class BaseEvent:
|
||||
"""
|
||||
Base class for event resources.
|
||||
Provides common methods for converting database rows to GeoJSON features.
|
||||
"""
|
||||
|
||||
def row_to_feature(self, row, geom_only=False):
|
||||
"""
|
||||
Convert a database row to a GeoJSON feature.
|
||||
|
||||
Args:
|
||||
row: The database row.
|
||||
geom_only: Whether to return only the geometry and event ID.
|
||||
|
||||
Returns:
|
||||
dict: A GeoJSON feature.
|
||||
"""
|
||||
logger.debug(f"Converting row to feature (geom_only={geom_only})")
|
||||
|
||||
# Only return geometry and event id
|
||||
if geom_only:
|
||||
return {
|
||||
"type": "Feature",
|
||||
"geometry": json.loads(row['geometry']),
|
||||
"properties": {"id": row['events_id']}
|
||||
}
|
||||
|
||||
properties = dict(row['events_tags'])
|
||||
properties.update({
|
||||
'createdate': row['createdate'],
|
||||
'lastupdate': row['lastupdate'],
|
||||
'lon': row['lon'],
|
||||
'lat': row['lat'],
|
||||
"id": row['events_id']
|
||||
})
|
||||
if 'secret' in properties: # hide secret in results
|
||||
del properties['secret']
|
||||
if "distance" in row:
|
||||
properties['distance'] = row['distance']
|
||||
return {
|
||||
"type": "Feature",
|
||||
"geometry": json.loads(row['geometry']),
|
||||
"properties": properties
|
||||
}
|
||||
|
||||
def rows_to_collection(self, rows, geom_only=False):
|
||||
"""
|
||||
Convert multiple database rows to a GeoJSON FeatureCollection.
|
||||
|
||||
Args:
|
||||
rows: The database rows.
|
||||
geom_only: Whether to return only the geometry and event ID.
|
||||
|
||||
Returns:
|
||||
dict: A GeoJSON FeatureCollection.
|
||||
"""
|
||||
logger.debug(f"Converting {len(rows)} rows to collection")
|
||||
return {
|
||||
"type": "FeatureCollection",
|
||||
"features": [self.row_to_feature(r, geom_only) for r in rows],
|
||||
"count": len(rows)
|
||||
}
|
0
oedb/resources/__init__.py
Normal file
0
oedb/resources/__init__.py
Normal file
465
oedb/resources/event.py
Normal file
465
oedb/resources/event.py
Normal file
|
@ -0,0 +1,465 @@
|
|||
"""
|
||||
Event resource for the OpenEventDatabase.
|
||||
"""
|
||||
|
||||
import json
|
||||
import re
|
||||
import falcon
|
||||
import psycopg2
|
||||
import psycopg2.extras
|
||||
from oedb.models.event import BaseEvent
|
||||
from oedb.utils.db import db_connect
|
||||
from oedb.utils.serialization import dumps
|
||||
from oedb.utils.logging import logger
|
||||
|
||||
class EventResource(BaseEvent):
|
||||
"""
|
||||
Resource for managing events.
|
||||
Handles the /event and /event/{id} endpoints.
|
||||
"""
|
||||
|
||||
def maybe_insert_geometry(self, geometry, cur):
|
||||
"""
|
||||
Insert a geometry into the geo table if it doesn't exist.
|
||||
|
||||
Args:
|
||||
geometry: The GeoJSON geometry.
|
||||
cur: The database cursor.
|
||||
|
||||
Returns:
|
||||
tuple: The hash of the geometry.
|
||||
"""
|
||||
logger.debug("Inserting geometry if not exists")
|
||||
# Insert into geo table if not existing
|
||||
cur.execute("""INSERT INTO geo
|
||||
SELECT geom, md5(st_astext(geom)) as hash, st_centroid(geom) as geom_center FROM
|
||||
(SELECT st_setsrid(st_geomfromgeojson( %s ),4326) as geom) as g
|
||||
WHERE ST_IsValid(geom)
|
||||
ON CONFLICT DO NOTHING RETURNING hash;""",
|
||||
(geometry,))
|
||||
# Get its id (md5 hash)
|
||||
h = cur.fetchone()
|
||||
if h is None:
|
||||
cur.execute("""SELECT md5(st_asewkt(geom)),
|
||||
ST_IsValid(geom),
|
||||
ST_IsValidReason(geom) from (SELECT st_geomfromgeojson( %s ) as geom) as g ;""", (geometry,))
|
||||
h = cur.fetchone()
|
||||
return h
|
||||
|
||||
def relative_time(self, when, cur):
|
||||
"""
|
||||
Convert a relative time string to database-friendly format.
|
||||
|
||||
Args:
|
||||
when: The relative time string.
|
||||
cur: The database cursor.
|
||||
|
||||
Returns:
|
||||
tuple: The start and stop times.
|
||||
"""
|
||||
logger.debug(f"Converting relative time: {when}")
|
||||
when = when.upper().replace(' ', '+')
|
||||
event_start = cur.mogrify("%s", (when,)).decode("utf-8")
|
||||
event_stop = cur.mogrify("%s", (when,)).decode("utf-8")
|
||||
|
||||
if when == 'NOW':
|
||||
event_start = "now()"
|
||||
event_stop = "now()"
|
||||
if when == 'TODAY':
|
||||
event_start = "CURRENT_DATE"
|
||||
event_stop = "CURRENT_DATE + INTERVAL '1 DAY'"
|
||||
if when == 'TOMORROW':
|
||||
event_start = "CURRENT_DATE + INTERVAL '1 DAY'"
|
||||
event_stop = "CURRENT_DATE + INTERVAL '2 DAY'"
|
||||
if when == 'YESTERDAY':
|
||||
event_start = "CURRENT_DATE - INTERVAL '1 DAY'"
|
||||
event_stop = "CURRENT_DATE"
|
||||
m = re.match('(LAST|NEXT)(YEAR|MONTH|WEEK|DAY|HOUR|MINUTE)', when)
|
||||
if m is not None:
|
||||
when = m.group(1) + '1' + m.group(2) + 'S'
|
||||
m = re.match('(LAST|NEXT)([0-9]*)(YEAR|MONTH|WEEK|MINUTE|HOUR|DAY)S', when)
|
||||
if m is not None:
|
||||
if m.group(1) == 'LAST':
|
||||
event_start = "now() - INTERVAL '%s %s'" % m.group(2, 3)
|
||||
event_stop = "now()"
|
||||
else:
|
||||
event_start = "now()"
|
||||
event_stop = "now() + INTERVAL '%s %s'" % m.group(2, 3)
|
||||
|
||||
return event_start, event_stop
|
||||
|
||||
def on_get(self, req, resp, id=None, geom=None):
|
||||
"""
|
||||
Handle GET requests to the /event and /event/{id} endpoints.
|
||||
|
||||
Args:
|
||||
req: The request object.
|
||||
resp: The response object.
|
||||
id: The event ID (optional).
|
||||
geom: The geometry to search with (optional).
|
||||
"""
|
||||
logger.info(f"Processing GET request to /event{f'/{id}' if id else ''}")
|
||||
|
||||
db = db_connect()
|
||||
cur = db.cursor(cursor_factory=psycopg2.extras.DictCursor)
|
||||
|
||||
try:
|
||||
if id is None:
|
||||
event_sort = "createdate DESC"
|
||||
# Get query search parameters
|
||||
if geom is not None:
|
||||
# Convert our geojson geom to WKT
|
||||
geoj = json.dumps(geom)
|
||||
# Buffer around geom?
|
||||
if 'buffer' in req.params:
|
||||
buffer = float(req.params['buffer'])
|
||||
elif geom['type'] == 'Linestring':
|
||||
buffer = 1000 # 1km buffer by default around Linestrings
|
||||
else:
|
||||
buffer = 0
|
||||
if buffer == 0:
|
||||
event_bbox = cur.mogrify(" AND ST_Intersects(geom, ST_SetSRID(ST_GeomFromGeoJSON(%s),4326)) ", (geoj,)).decode("utf-8")
|
||||
else:
|
||||
event_bbox = cur.mogrify(" AND ST_Intersects(geom, ST_Buffer(ST_SetSRID(ST_GeomFromGeoJSON(%s),4326)::geography, %s)::geometry) ", (geoj, buffer)).decode("utf-8")
|
||||
event_dist = cur.mogrify("ST_Length(ST_ShortestLine(geom, ST_SetSRID(ST_GeomFromGeoJSON(%s),4326))::geography)::integer as distance, ", (geoj,)).decode("utf-8")
|
||||
event_sort = cur.mogrify("ST_Length(ST_ShortestLine(geom, ST_SetSRID(ST_GeomFromGeoJSON(%s),4326))::geography)::integer, ", (geoj,)).decode("utf-8") + event_sort
|
||||
elif 'bbox' in req.params:
|
||||
# Limit search with bbox (E,S,W,N)
|
||||
event_bbox = cur.mogrify(" AND geom && ST_SetSRID(ST_MakeBox2D(ST_Point(%s,%s),ST_Point(%s,%s)),4326) ", tuple(req.params['bbox'])).decode("utf-8")
|
||||
event_dist = ""
|
||||
elif 'near' in req.params:
|
||||
# Limit search with location+distance
|
||||
# (long, lat, distance in meters)
|
||||
if len(req.params['near']) < 3:
|
||||
dist = 1
|
||||
else:
|
||||
dist = req.params['near'][2]
|
||||
event_bbox = cur.mogrify(" AND ST_Intersects(geom, ST_Buffer(st_setsrid(st_makepoint(%s,%s),4326)::geography,%s)::geometry) ", (req.params['near'][0], req.params['near'][1], dist)).decode("utf-8")
|
||||
event_dist = cur.mogrify("ST_Length(ST_ShortestLine(geom, st_setsrid(st_makepoint(%s,%s),4326))::geography)::integer as distance,", (req.params['near'][0], req.params['near'][1])).decode("utf-8")
|
||||
event_sort = cur.mogrify("ST_Length(ST_ShortestLine(geom, st_setsrid(st_makepoint(%s,%s),4326))::geography)::integer, ", (req.params['near'][0], req.params['near'][1])).decode("utf-8") + event_sort
|
||||
elif 'polyline' in req.params:
|
||||
# Use encoded polyline as search geometry
|
||||
if 'buffer' in req.params:
|
||||
buffer = float(req.params['buffer'])
|
||||
else:
|
||||
buffer = 1000
|
||||
if 'polyline_precision' in req.params:
|
||||
precision = int(req.params['polyline_precision'])
|
||||
else:
|
||||
precision = 5
|
||||
# ST_Scale is a workaround to postgis bug not taking precision into account in ST_LineFromEncodedPolyline
|
||||
event_bbox = cur.mogrify(" AND ST_Intersects(geom, ST_Buffer(ST_Scale(ST_LineFromEncodedPolyline(%s),1/10^(%s-5),1/10^(%s-5))::geography, %s)::geometry) ", (req.params['polyline'], precision, precision, buffer)).decode("utf-8")
|
||||
event_dist = cur.mogrify("ST_Length(ST_ShortestLine(geom, ST_Scale(ST_LineFromEncodedPolyline(%s),1/10^(%s-5),1/10^(%s-5)))::geography)::integer as distance, ", (req.params['polyline'], precision, precision)).decode("utf-8")
|
||||
elif 'where:osm' in req.params:
|
||||
event_bbox = cur.mogrify(" AND events_tags ? 'where:osm' AND events_tags->>'where:osm'=%s ", (req.params['where:osm'],)).decode("utf-8")
|
||||
event_dist = ""
|
||||
elif 'where:wikidata' in req.params:
|
||||
event_bbox = cur.mogrify(" AND events_tags ? 'where:wikidata' AND events_tags->>'where:wikidata'=%s ", (req.params['where:wikidata'],)).decode("utf-8")
|
||||
event_dist = ""
|
||||
else:
|
||||
event_bbox = ""
|
||||
event_dist = ""
|
||||
|
||||
if 'when' in req.params:
|
||||
# Limit search with fixed time
|
||||
when = req.params['when'].upper()
|
||||
event_when = "tstzrange(%s,%s,'[]')" % (self.relative_time(when, cur))
|
||||
elif 'start' in req.params and 'stop' in req.params:
|
||||
# Limit search with fixed time (start to stop)
|
||||
event_start, unused = self.relative_time(req.params['start'], cur)
|
||||
unused, event_stop = self.relative_time(req.params['stop'], cur)
|
||||
event_when = "tstzrange(%s,%s,'[]')" % (event_start, event_stop)
|
||||
elif 'start' in req.params and 'stop' not in req.params:
|
||||
# Limit search with fixed time (start to now)
|
||||
event_start, unused = self.relative_time(req.params['start'], cur)
|
||||
event_when = "tstzrange(%s,now(),'[]')" % event_start
|
||||
elif 'start' not in req.params and 'stop' in req.params:
|
||||
# Limit search with fixed time (now to stop)
|
||||
unused, event_stop = self.relative_time(req.params['stop'], cur)
|
||||
event_when = "tstzrange(now(),%s,'[]')" % event_stop
|
||||
else:
|
||||
event_when = "tstzrange(now(),now(),'[]')"
|
||||
|
||||
if 'what' in req.params:
|
||||
# Limit search based on "what"
|
||||
event_what = cur.mogrify(" AND events_what LIKE %s AND events_what LIKE %s ", (req.params['what'][:4] + "%", req.params['what'] + "%")).decode("utf-8")
|
||||
else:
|
||||
event_what = ""
|
||||
|
||||
if 'type' in req.params:
|
||||
# Limit search based on type (scheduled, forecast, unscheduled)
|
||||
event_type = cur.mogrify(" AND events_type = %s ", (req.params['type'],)).decode("utf-8")
|
||||
else:
|
||||
event_type = ""
|
||||
|
||||
if 'limit' in req.params:
|
||||
limit = cur.mogrify("LIMIT %s", (req.params['limit'],)).decode("utf-8")
|
||||
else:
|
||||
limit = "LIMIT 200"
|
||||
|
||||
event_geom = "geom_center"
|
||||
geom_only = False
|
||||
if 'geom' in req.params:
|
||||
if req.params['geom'] == 'full':
|
||||
event_geom = "geom"
|
||||
elif req.params['geom'] == 'only':
|
||||
geom_only = True
|
||||
else:
|
||||
event_geom = cur.mogrify("ST_SnapToGrid(geom,%s)", (req.params['geom'],)).decode("utf-8")
|
||||
|
||||
# Search recent active events.
|
||||
sql = """SELECT events_id, events_tags, createdate, lastupdate, {event_dist} st_asgeojson({event_geom}) as geometry, st_x(geom_center) as lon, st_y(geom_center) as lat
|
||||
FROM events JOIN geo ON (hash=events_geo)
|
||||
WHERE events_when && {event_when} {event_what} {event_type} {event_bbox}
|
||||
ORDER BY {event_sort} {limit}"""
|
||||
# No user generated content here, so format is safe.
|
||||
sql = sql.format(event_dist=event_dist, event_geom=event_geom,
|
||||
event_bbox=event_bbox, event_what=event_what,
|
||||
event_when=event_when, event_type=event_type,
|
||||
event_sort=event_sort, limit=limit)
|
||||
logger.debug(f"Executing SQL: {sql}")
|
||||
cur.execute(sql)
|
||||
resp.body = dumps(self.rows_to_collection(cur.fetchall(), geom_only))
|
||||
resp.status = falcon.HTTP_200
|
||||
logger.success(f"Successfully processed GET request to /event")
|
||||
else:
|
||||
# Get single event geojson Feature by id.
|
||||
logger.debug(f"Fetching event with ID: {id}")
|
||||
cur.execute("SELECT events_id, events_tags, createdate, lastupdate, st_asgeojson(geom) as geometry, st_x(geom_center) as lon, st_y(geom_center) as lat FROM events JOIN geo ON (hash=events_geo) WHERE events_id=%s", [id])
|
||||
|
||||
e = cur.fetchone()
|
||||
if e is not None:
|
||||
resp.body = dumps(self.row_to_feature(e))
|
||||
resp.status = falcon.HTTP_200
|
||||
logger.success(f"Successfully processed GET request to /event/{id}")
|
||||
else:
|
||||
resp.status = falcon.HTTP_404
|
||||
logger.warning(f"Event not found: {id}")
|
||||
except Exception as e:
|
||||
logger.error(f"Error processing GET request: {e}")
|
||||
resp.status = falcon.HTTP_500
|
||||
resp.body = dumps({"error": str(e)})
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
def insert_or_update(self, req, resp, id, query):
|
||||
"""
|
||||
Insert or update an event.
|
||||
|
||||
Args:
|
||||
req: The request object.
|
||||
resp: The response object.
|
||||
id: The event ID (optional).
|
||||
query: The SQL query to execute.
|
||||
"""
|
||||
logger.info(f"Processing {'UPDATE' if id else 'INSERT'} request for event{f' {id}' if id else ''}")
|
||||
|
||||
# Get request body payload (geojson Feature)
|
||||
try:
|
||||
body = req.stream.read().decode('utf-8')
|
||||
j = json.loads(body)
|
||||
except Exception as e:
|
||||
logger.error(f"Invalid JSON or bad encoding: {e}")
|
||||
resp.body = 'invalid json or bad encoding'
|
||||
resp.status = falcon.HTTP_400
|
||||
return
|
||||
|
||||
resp.body = ''
|
||||
if "properties" not in j:
|
||||
resp.body = resp.body + "missing 'properties' elements\n"
|
||||
j['properties'] = dict()
|
||||
if "geometry" not in j:
|
||||
resp.body = resp.body + "missing 'geometry' elements\n"
|
||||
j['geometry'] = None
|
||||
if "when" not in j['properties'] and ("start" not in j['properties'] or "stop" not in j['properties']):
|
||||
resp.body = resp.body + "missing 'when' or 'start/stop' in properties\n"
|
||||
j['properties']['when'] = None
|
||||
if "type" not in j['properties']:
|
||||
resp.body = resp.body + "missing 'type' of event in properties\n"
|
||||
j['properties']['type'] = None
|
||||
if "what" not in j['properties']:
|
||||
resp.body = resp.body + "missing 'what' in properties\n"
|
||||
j['properties']['what'] = None
|
||||
if "type" in j and j['type'] != 'Feature':
|
||||
resp.body = resp.body + 'geojson must be "type":"Feature" only\n'
|
||||
if id is None and resp.body != '':
|
||||
resp.status = falcon.HTTP_400
|
||||
resp.set_header('Content-type', 'text/plain')
|
||||
return
|
||||
|
||||
if 'when' in j['properties']:
|
||||
event_when = j['properties']['when']
|
||||
if "start" not in j['properties']:
|
||||
event_start = j['properties']['when']
|
||||
else:
|
||||
event_start = j['properties']['start']
|
||||
if "stop" not in j['properties']:
|
||||
event_stop = j['properties']['when']
|
||||
else:
|
||||
event_stop = j['properties']['stop']
|
||||
if event_start == event_stop:
|
||||
bounds = '[]'
|
||||
else:
|
||||
bounds = '[)'
|
||||
|
||||
# Connect to db and insert
|
||||
db = db_connect()
|
||||
cur = db.cursor()
|
||||
|
||||
# 'secret' based authentication
|
||||
if 'secret' in j['properties']:
|
||||
secret = cur.mogrify(" AND (events_tags->>'secret' = %s OR events_tags->>'secret' IS NULL) ", (j['properties']['secret'],)).decode("utf-8")
|
||||
elif 'secret' in req.params:
|
||||
secret = cur.mogrify(" AND (events_tags->>'secret' = %s OR events_tags->>'secret' IS NULL) ", (req.params['secret'],)).decode("utf-8")
|
||||
else:
|
||||
secret = " AND events_tags->>'secret' IS NULL "
|
||||
|
||||
# Get the geometry part
|
||||
if j['geometry'] is not None:
|
||||
geometry = dumps(j['geometry'])
|
||||
h = self.maybe_insert_geometry(geometry, cur)
|
||||
if len(h) > 1 and h[1] is False:
|
||||
resp.body = "invalid geometry: %s\n" % h[2]
|
||||
resp.status = falcon.HTTP_400
|
||||
resp.set_header('Content-type', 'text/plain')
|
||||
return
|
||||
else:
|
||||
h = [None]
|
||||
params = (j['properties']['type'], j['properties']['what'], event_start, event_stop, bounds, dumps(j['properties']), h[0])
|
||||
if id:
|
||||
params = params + (id,)
|
||||
e = None
|
||||
rows = None
|
||||
try:
|
||||
sql = cur.mogrify(query, params)
|
||||
cur.execute(query.format(secret=secret), params)
|
||||
rows = cur.rowcount
|
||||
# Get newly created event id
|
||||
e = cur.fetchone()
|
||||
db.commit()
|
||||
logger.debug(f"SQL executed successfully: {sql}")
|
||||
except psycopg2.Error as err:
|
||||
logger.error(f"Database error: {err}, SQL: {sql}, Error: {err.pgerror}")
|
||||
db.rollback()
|
||||
pass
|
||||
|
||||
# Send back to client
|
||||
if e is None:
|
||||
if id is None:
|
||||
cur.execute("""SELECT events_id FROM events WHERE events_what=%s
|
||||
AND events_when=tstzrange(%s,%s,%s) AND events_geo=%s;""",
|
||||
(j['properties']['what'], event_start, event_stop, bounds, h[0]))
|
||||
else:
|
||||
if rows == 0:
|
||||
if 'secret' in req.params or 'secret' in j['properties']:
|
||||
resp.status = '403 Unauthorized, secret does not match'
|
||||
else:
|
||||
resp.status = '403 Unauthorized, secret required'
|
||||
return
|
||||
else:
|
||||
cur.execute("""END; WITH s AS (SELECT * FROM events WHERE events_id = %s) SELECT e.events_id FROM events e, s WHERE e.events_what=coalesce(%s, s.events_what)
|
||||
AND e.events_when=tstzrange(coalesce(%s, lower(s.events_when)),coalesce(%s,upper(s.events_when)),%s) AND e.events_geo=coalesce(%s, s.events_geo);""",
|
||||
(id, j['properties']['what'], event_start, event_stop, bounds, h[0]))
|
||||
dupe = cur.fetchone()
|
||||
resp.body = """{"duplicate":"%s"}""" % (dupe[0])
|
||||
resp.status = '409 Conflict with event %s' % dupe[0]
|
||||
logger.warning(f"Duplicate event: {dupe[0]}")
|
||||
else:
|
||||
resp.body = """{"id":"%s"}""" % (e[0])
|
||||
if id is None:
|
||||
resp.status = falcon.HTTP_201
|
||||
logger.success(f"Event created with ID: {e[0]}")
|
||||
else:
|
||||
resp.status = falcon.HTTP_200
|
||||
logger.success(f"Event updated with ID: {e[0]}")
|
||||
|
||||
cur.close()
|
||||
db.close()
|
||||
|
||||
def on_post(self, req, resp):
|
||||
"""
|
||||
Handle POST requests to the /event endpoint.
|
||||
Creates a new event.
|
||||
|
||||
Args:
|
||||
req: The request object.
|
||||
resp: The response object.
|
||||
"""
|
||||
logger.info("Processing POST request to /event")
|
||||
self.insert_or_update(req, resp, None, """INSERT INTO events ( events_type, events_what, events_when, events_tags, events_geo) VALUES (%s, %s, tstzrange(%s,%s,%s) , %s, %s) ON CONFLICT DO NOTHING RETURNING events_id;""")
|
||||
|
||||
def on_put(self, req, resp, id):
|
||||
"""
|
||||
Handle PUT requests to the /event/{id} endpoint.
|
||||
Updates an existing event (acts like PATCH).
|
||||
|
||||
Args:
|
||||
req: The request object.
|
||||
resp: The response object.
|
||||
id: The event ID.
|
||||
"""
|
||||
logger.info(f"Processing PUT request to /event/{id}")
|
||||
self.on_patch(req, resp, id)
|
||||
|
||||
def on_patch(self, req, resp, id):
|
||||
"""
|
||||
Handle PATCH requests to the /event/{id} endpoint.
|
||||
Updates an existing event.
|
||||
|
||||
Args:
|
||||
req: The request object.
|
||||
resp: The response object.
|
||||
id: The event ID.
|
||||
"""
|
||||
logger.info(f"Processing PATCH request to /event/{id}")
|
||||
# Coalesce are used to PATCH the data (new value may be NULL to keep the old one)
|
||||
self.insert_or_update(req, resp, id, """UPDATE events SET ( events_type, events_what, events_when, events_tags, events_geo) = (coalesce(%s, events_type), coalesce(%s, events_what), tstzrange(coalesce(%s, lower(events_when)),coalesce(%s, upper(events_when)),%s) , events_tags::jsonb || (%s::jsonb -'secret') , coalesce(%s, events_geo))
|
||||
WHERE events_id = %s {secret} RETURNING events_id;""")
|
||||
|
||||
def on_delete(self, req, resp, id):
|
||||
"""
|
||||
Handle DELETE requests to the /event/{id} endpoint.
|
||||
Deletes an existing event.
|
||||
|
||||
Args:
|
||||
req: The request object.
|
||||
resp: The response object.
|
||||
id: The event ID.
|
||||
"""
|
||||
logger.info(f"Processing DELETE request to /event/{id}")
|
||||
|
||||
db = db_connect()
|
||||
cur = db.cursor()
|
||||
|
||||
try:
|
||||
cur.execute("""INSERT INTO events_deleted SELECT events_id, createdate, lastupdate, events_type, events_what, events_when, events_geo, events_tags FROM events WHERE events_id = %s """, (id,))
|
||||
rows_insert = cur.rowcount
|
||||
|
||||
# 'secret' based authentication, must be null or same as during POST
|
||||
if 'secret' in req.params:
|
||||
cur.execute("""DELETE FROM events WHERE events_id = %s AND (events_tags->>'secret' = %s OR events_tags->>'secret' IS NULL)""", (id, req.params['secret']))
|
||||
else:
|
||||
cur.execute("""DELETE FROM events WHERE events_id = %s AND events_tags->>'secret' IS NULL;""", (id,))
|
||||
|
||||
if cur.rowcount == 1:
|
||||
resp.status = "204 event deleted"
|
||||
db.commit()
|
||||
logger.success(f"Event deleted: {id}")
|
||||
elif rows_insert == 1: # INSERT ok but DELETE fails due to missing secret...
|
||||
resp.status = "403 Unauthorized, secret needed to delete this event"
|
||||
db.rollback()
|
||||
logger.warning(f"Unauthorized deletion attempt for event: {id}")
|
||||
else:
|
||||
resp.status = "404 event not found"
|
||||
logger.warning(f"Event not found for deletion: {id}")
|
||||
except Exception as e:
|
||||
logger.error(f"Error deleting event {id}: {e}")
|
||||
resp.status = falcon.HTTP_500
|
||||
resp.body = dumps({"error": str(e)})
|
||||
db.rollback()
|
||||
finally:
|
||||
cur.close()
|
||||
db.close()
|
||||
|
||||
# Create a global instance of EventResource
|
||||
event = EventResource()
|
51
oedb/resources/search.py
Normal file
51
oedb/resources/search.py
Normal file
|
@ -0,0 +1,51 @@
|
|||
"""
|
||||
Search resource for the OpenEventDatabase.
|
||||
"""
|
||||
|
||||
import json
|
||||
import falcon
|
||||
from oedb.models.event import BaseEvent
|
||||
from oedb.utils.logging import logger
|
||||
|
||||
class EventSearch(BaseEvent):
|
||||
"""
|
||||
Resource for searching events by geometry.
|
||||
Handles the /event/search endpoint.
|
||||
"""
|
||||
|
||||
def on_post(self, req, resp):
|
||||
"""
|
||||
Handle POST requests to the /event/search endpoint.
|
||||
Expects a GeoJSON Feature in the request body.
|
||||
|
||||
Args:
|
||||
req: The request object.
|
||||
resp: The response object.
|
||||
"""
|
||||
logger.info("Processing POST request to /event/search")
|
||||
|
||||
try:
|
||||
# Body should contain a GeoJSON Feature
|
||||
body = req.stream.read().decode('utf-8')
|
||||
j = json.loads(body)
|
||||
|
||||
# Validate the request body
|
||||
if 'geometry' not in j:
|
||||
logger.warning("Request body missing 'geometry' field")
|
||||
resp.status = falcon.HTTP_400
|
||||
resp.body = json.dumps({"error": "Request body must contain a 'geometry' field"})
|
||||
return
|
||||
|
||||
# Pass the query with the geometry to event.on_get
|
||||
# This will be handled by the main application
|
||||
from oedb.resources.event import event
|
||||
event.on_get(req, resp, None, j['geometry'])
|
||||
logger.success("Successfully processed POST request to /event/search")
|
||||
except json.JSONDecodeError as e:
|
||||
logger.error(f"Error decoding JSON: {e}")
|
||||
resp.status = falcon.HTTP_400
|
||||
resp.body = json.dumps({"error": "Invalid JSON in request body"})
|
||||
except Exception as e:
|
||||
logger.error(f"Error processing POST request to /event/search: {e}")
|
||||
resp.status = falcon.HTTP_500
|
||||
resp.body = json.dumps({"error": str(e)})
|
57
oedb/resources/stats.py
Normal file
57
oedb/resources/stats.py
Normal file
|
@ -0,0 +1,57 @@
|
|||
"""
|
||||
Stats resource for the OpenEventDatabase.
|
||||
"""
|
||||
|
||||
import subprocess
|
||||
import falcon
|
||||
import psycopg2.extras
|
||||
from oedb.utils.db import db_connect
|
||||
from oedb.utils.serialization import dumps
|
||||
from oedb.utils.logging import logger
|
||||
|
||||
class StatsResource:
|
||||
"""
|
||||
Resource for retrieving database statistics.
|
||||
Handles the /stats endpoint.
|
||||
"""
|
||||
|
||||
def on_get(self, req, resp):
|
||||
"""
|
||||
Handle GET requests to the /stats endpoint.
|
||||
|
||||
Args:
|
||||
req: The request object.
|
||||
resp: The response object.
|
||||
"""
|
||||
logger.info("Processing GET request to /stats")
|
||||
|
||||
db = db_connect()
|
||||
cur = db.cursor(cursor_factory=psycopg2.extras.DictCursor)
|
||||
|
||||
try:
|
||||
# Estimated row count, way faster than count(*)
|
||||
cur.execute("SELECT reltuples::bigint FROM pg_class r WHERE relname = 'events';")
|
||||
count = cur.fetchone()[0]
|
||||
logger.debug(f"Estimated event count: {count}")
|
||||
|
||||
# Global info
|
||||
cur.execute("SELECT max(lastupdate) as last_updated, current_timestamp-pg_postmaster_start_time() from events;")
|
||||
pg_stats = cur.fetchone()
|
||||
last = pg_stats[0]
|
||||
pg_uptime = pg_stats[1]
|
||||
uptime = subprocess.check_output(["uptime", "-p"]).decode('utf-8')[0:-1]
|
||||
|
||||
# Summary about last 10000 events (what, last, count, sources)
|
||||
cur.execute("SELECT row_to_json(stat) from (SELECT events_what as what, left(max(upper(events_when))::text,19) as last, count(*) as count, array_agg(distinct(regexp_replace(regexp_replace(events_tags ->> 'source','^(http://|https://)',''),'/.*',''))) as source from (select * from events order by lastupdate desc limit 10000) as last group by 1 order by 2 desc) as stat;")
|
||||
recent = cur.fetchall()
|
||||
|
||||
resp.body = dumps(dict(events_count=count, last_updated=last, uptime=uptime, db_uptime=pg_uptime, recent=recent))
|
||||
resp.status = falcon.HTTP_200
|
||||
logger.success("Successfully processed GET request to /stats")
|
||||
except Exception as e:
|
||||
logger.error(f"Error processing GET request to /stats: {e}")
|
||||
resp.status = falcon.HTTP_500
|
||||
resp.body = dumps({"error": str(e)})
|
||||
finally:
|
||||
cur.close()
|
||||
db.close()
|
0
oedb/utils/__init__.py
Normal file
0
oedb/utils/__init__.py
Normal file
38
oedb/utils/db.py
Normal file
38
oedb/utils/db.py
Normal file
|
@ -0,0 +1,38 @@
|
|||
"""
|
||||
Database utility functions for the OpenEventDatabase.
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
import psycopg2
|
||||
import psycopg2.extras
|
||||
from oedb.utils.logging import logger
|
||||
|
||||
def db_connect():
|
||||
"""
|
||||
Connect to the PostgreSQL database using environment variables.
|
||||
|
||||
Returns:
|
||||
psycopg2.connection: A connection to the database.
|
||||
"""
|
||||
return psycopg2.connect(
|
||||
dbname=os.getenv("DB_NAME", "oedb"),
|
||||
host=os.getenv("DB_HOST", ""),
|
||||
password=os.getenv("POSTGRES_PASSWORD", None),
|
||||
user=os.getenv("DB_USER", ""))
|
||||
|
||||
def check_db_connection():
|
||||
"""
|
||||
Check if the database is accessible.
|
||||
|
||||
Returns:
|
||||
bool: True if the database is accessible, False otherwise.
|
||||
"""
|
||||
try:
|
||||
conn = db_connect()
|
||||
conn.close()
|
||||
logger.success("Successfully connected to PostgreSQL database")
|
||||
return True
|
||||
except psycopg2.OperationalError as e:
|
||||
logger.error(f"Failed to connect to PostgreSQL database: {e}")
|
||||
return False
|
64
oedb/utils/logging.py
Normal file
64
oedb/utils/logging.py
Normal file
|
@ -0,0 +1,64 @@
|
|||
"""
|
||||
Logging utilities for the OpenEventDatabase.
|
||||
Provides colored logging functionality based on message type.
|
||||
"""
|
||||
|
||||
import logging
|
||||
import sys
|
||||
|
||||
# ANSI color codes for terminal output
|
||||
COLORS = {
|
||||
'RESET': '\033[0m',
|
||||
'RED': '\033[31m', # Error
|
||||
'GREEN': '\033[32m', # Success
|
||||
'YELLOW': '\033[33m', # Warning
|
||||
'BLUE': '\033[34m', # Info
|
||||
'MAGENTA': '\033[35m', # Debug
|
||||
}
|
||||
|
||||
class ColoredLogger:
|
||||
"""
|
||||
A logger that outputs colored messages based on the log level.
|
||||
"""
|
||||
def __init__(self, name="OEDB"):
|
||||
self.logger = logging.getLogger(name)
|
||||
self.logger.setLevel(logging.INFO)
|
||||
|
||||
# Create console handler
|
||||
console_handler = logging.StreamHandler(sys.stdout)
|
||||
console_handler.setLevel(logging.INFO)
|
||||
|
||||
# Create formatter
|
||||
formatter = logging.Formatter('%(asctime)s [%(name)s] [%(levelname)s] %(message)s')
|
||||
console_handler.setFormatter(formatter)
|
||||
|
||||
# Add handler to logger
|
||||
self.logger.addHandler(console_handler)
|
||||
|
||||
def info(self, message):
|
||||
"""Log an info message (blue)"""
|
||||
print(f"{COLORS['BLUE']}INFO: {message}{COLORS['RESET']}")
|
||||
self.logger.info(message)
|
||||
|
||||
def success(self, message):
|
||||
"""Log a success message (green)"""
|
||||
print(f"{COLORS['GREEN']}SUCCESS: {message}{COLORS['RESET']}")
|
||||
self.logger.info(f"SUCCESS: {message}")
|
||||
|
||||
def warning(self, message):
|
||||
"""Log a warning message (yellow)"""
|
||||
print(f"{COLORS['YELLOW']}WARNING: {message}{COLORS['RESET']}")
|
||||
self.logger.warning(message)
|
||||
|
||||
def error(self, message):
|
||||
"""Log an error message (red)"""
|
||||
print(f"{COLORS['RED']}ERROR: {message}{COLORS['RESET']}")
|
||||
self.logger.error(message)
|
||||
|
||||
def debug(self, message):
|
||||
"""Log a debug message (magenta)"""
|
||||
print(f"{COLORS['MAGENTA']}DEBUG: {message}{COLORS['RESET']}")
|
||||
self.logger.debug(message)
|
||||
|
||||
# Create a global logger instance
|
||||
logger = ColoredLogger()
|
32
oedb/utils/serialization.py
Normal file
32
oedb/utils/serialization.py
Normal file
|
@ -0,0 +1,32 @@
|
|||
"""
|
||||
Serialization utilities for the OpenEventDatabase.
|
||||
Provides JSON serialization functionality for event data.
|
||||
"""
|
||||
|
||||
import json
|
||||
from datetime import datetime
|
||||
|
||||
class EventEncoder(json.JSONEncoder):
|
||||
"""
|
||||
Custom JSON encoder for event data.
|
||||
Handles datetime objects by converting them to ISO format strings.
|
||||
"""
|
||||
def default(self, o):
|
||||
if isinstance(o, datetime):
|
||||
return o.isoformat()
|
||||
try:
|
||||
return super().default(o)
|
||||
except TypeError:
|
||||
return str(o)
|
||||
|
||||
def dumps(data):
|
||||
"""
|
||||
Serialize data to JSON using the EventEncoder.
|
||||
|
||||
Args:
|
||||
data: The data to serialize.
|
||||
|
||||
Returns:
|
||||
str: The JSON string representation of the data.
|
||||
"""
|
||||
return json.dumps(data, cls=EventEncoder, sort_keys=True, ensure_ascii=False)
|
|
@ -2,3 +2,5 @@ falcon>=3.1.0
|
|||
psycopg2-binary
|
||||
geojson
|
||||
gunicorn
|
||||
uwsgi
|
||||
requests
|
||||
|
|
105
setup_db.sh
Executable file
105
setup_db.sh
Executable file
|
@ -0,0 +1,105 @@
|
|||
#!/bin/bash
|
||||
# Script to install PostgreSQL, create user with appropriate permissions, and set up the database if not ready
|
||||
|
||||
# Default values
|
||||
DB_NAME=${DB_NAME:-"oedb"}
|
||||
DB_USER=${DB_USER:-"postgres"}
|
||||
DB_HOST=${DB_HOST:-"localhost"}
|
||||
NEW_USER=${NEW_USER:-"cipherbliss"}
|
||||
NEW_PASSWORD=${NEW_PASSWORD:-"tralalahihou"}
|
||||
|
||||
# Use POSTGRES_PASSWORD for database authentication
|
||||
export PGPASSWORD="${POSTGRES_PASSWORD}"
|
||||
|
||||
# Check if running as root
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
# Install PostgreSQL if not already installed
|
||||
if ! command -v psql &> /dev/null; then
|
||||
echo "PostgreSQL not found. Installing..."
|
||||
apt-get update
|
||||
apt-get install -y postgresql postgresql-contrib postgis
|
||||
|
||||
# Start PostgreSQL service
|
||||
service postgresql start
|
||||
|
||||
echo "PostgreSQL installed successfully."
|
||||
else
|
||||
echo "PostgreSQL is already installed."
|
||||
fi
|
||||
fi
|
||||
|
||||
# PGPASSWORD is already set at the top of the script
|
||||
|
||||
# Check if the specified user exists
|
||||
if ! psql -h $DB_HOST -U $DB_USER -tAc "SELECT 1 FROM pg_roles WHERE rolname='$NEW_USER'" | grep -q 1; then
|
||||
echo "Creating user '$NEW_USER'..."
|
||||
psql -h $DB_HOST -U $DB_USER -c "CREATE USER $NEW_USER WITH PASSWORD '$NEW_PASSWORD';"
|
||||
psql -h $DB_HOST -U $DB_USER -c "ALTER USER $NEW_USER WITH SUPERUSER;"
|
||||
echo "User '$NEW_USER' created with superuser privileges."
|
||||
fi
|
||||
|
||||
# Check if database exists
|
||||
echo "Checking if database '$DB_NAME' exists..."
|
||||
if psql -h $DB_HOST -U $DB_USER -lqt | cut -d \| -f 1 | grep -qw $DB_NAME; then
|
||||
echo "Database '$DB_NAME' already exists."
|
||||
|
||||
# Grant privileges to the new user even if database already exists
|
||||
echo "Granting privileges on database '$DB_NAME' to user '$NEW_USER'..."
|
||||
psql -h $DB_HOST -U $DB_USER -c "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $NEW_USER;"
|
||||
|
||||
# Grant privileges on all tables to the new user
|
||||
echo "Granting privileges on all tables to user '$NEW_USER'..."
|
||||
psql -h $DB_HOST -U $DB_USER -d $DB_NAME -c "GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO $NEW_USER;"
|
||||
psql -h $DB_HOST -U $DB_USER -d $DB_NAME -c "GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO $NEW_USER;"
|
||||
psql -h $DB_HOST -U $DB_USER -d $DB_NAME -c "ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO $NEW_USER;"
|
||||
|
||||
# Explicitly grant permissions on the events table
|
||||
echo "Explicitly granting permissions on the events table to user '$NEW_USER'..."
|
||||
psql -h $DB_HOST -U $DB_USER -d $DB_NAME -c "GRANT ALL PRIVILEGES ON TABLE events TO $NEW_USER;"
|
||||
psql -h $DB_HOST -U $DB_USER -d $DB_NAME -c "GRANT ALL PRIVILEGES ON TABLE events_deleted TO $NEW_USER;"
|
||||
psql -h $DB_HOST -U $DB_USER -d $DB_NAME -c "GRANT ALL PRIVILEGES ON TABLE geo TO $NEW_USER;"
|
||||
else
|
||||
echo "Database '$DB_NAME' does not exist. Creating..."
|
||||
|
||||
# Create database
|
||||
createdb -h $DB_HOST -U $DB_USER $DB_NAME
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Database '$DB_NAME' created successfully."
|
||||
|
||||
# Grant privileges to the new user
|
||||
echo "Granting privileges on database '$DB_NAME' to user '$NEW_USER'..."
|
||||
psql -h $DB_HOST -U $DB_USER -c "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $NEW_USER;"
|
||||
|
||||
# Run setup.sql
|
||||
echo "Running setup.sql to initialize the database schema..."
|
||||
psql -h $DB_HOST -U $DB_USER -d $DB_NAME -f setup.sql
|
||||
|
||||
# Grant privileges on all tables to the new user
|
||||
echo "Granting privileges on all tables to user '$NEW_USER'..."
|
||||
psql -h $DB_HOST -U $DB_USER -d $DB_NAME -c "GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO $NEW_USER;"
|
||||
psql -h $DB_HOST -U $DB_USER -d $DB_NAME -c "GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO $NEW_USER;"
|
||||
psql -h $DB_HOST -U $DB_USER -d $DB_NAME -c "ALTER DATABASE $DB_NAME OWNER TO $NEW_USER;"
|
||||
|
||||
# Explicitly grant permissions on the events table
|
||||
echo "Explicitly granting permissions on the events table to user '$NEW_USER'..."
|
||||
psql -h $DB_HOST -U $DB_USER -d $DB_NAME -c "GRANT ALL PRIVILEGES ON TABLE events TO $NEW_USER;"
|
||||
psql -h $DB_HOST -U $DB_USER -d $DB_NAME -c "GRANT ALL PRIVILEGES ON TABLE events_deleted TO $NEW_USER;"
|
||||
psql -h $DB_HOST -U $DB_USER -d $DB_NAME -c "GRANT ALL PRIVILEGES ON TABLE geo TO $NEW_USER;"
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Database schema initialized successfully."
|
||||
else
|
||||
echo "Error: Failed to initialize database schema."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "Error: Failed to create database '$DB_NAME'."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Database setup completed successfully."
|
||||
./check_tables.sh
|
||||
|
||||
exit 0
|
293
test_api_params.py
Executable file
293
test_api_params.py
Executable file
|
@ -0,0 +1,293 @@
|
|||
#!/usr/bin/env python3
|
||||
# Script to test the API query parameters
|
||||
# This script tests each query parameter to ensure it works as expected
|
||||
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import requests
|
||||
from datetime import datetime, timedelta
|
||||
import time
|
||||
|
||||
# Function to load environment variables from .env file
|
||||
def load_env_from_file():
|
||||
if os.path.exists('.env'):
|
||||
print("Loading environment variables from .env file...")
|
||||
with open('.env', 'r') as f:
|
||||
for line in f:
|
||||
line = line.strip()
|
||||
if line and not line.startswith('#'):
|
||||
key, value = line.split('=', 1)
|
||||
os.environ[key] = value
|
||||
|
||||
# Load environment variables from .env file
|
||||
load_env_from_file()
|
||||
|
||||
# API base URL
|
||||
API_BASE_URL = "http://localhost:8080"
|
||||
|
||||
# Current date (2025-09-15 as specified in the issue)
|
||||
CURRENT_DATE = datetime(2025, 9, 15, 23, 0)
|
||||
|
||||
# Sample locations (Paris, Lyon, Marseille, Toulouse, Bordeaux, Lille)
|
||||
SAMPLE_LOCATIONS = [
|
||||
{"name": "Paris", "lon": 2.3522, "lat": 48.8566},
|
||||
{"name": "Lyon", "lon": 4.8357, "lat": 45.7640},
|
||||
{"name": "Marseille", "lon": 5.3698, "lat": 43.2965},
|
||||
{"name": "Toulouse", "lon": 1.4442, "lat": 43.6047},
|
||||
{"name": "Bordeaux", "lon": -0.5792, "lat": 44.8378},
|
||||
{"name": "Lille", "lon": 3.0573, "lat": 50.6292}
|
||||
]
|
||||
|
||||
# Event categories
|
||||
EVENT_CATEGORIES = ["traffic", "nature", "weather", "sport", "conference", "party"]
|
||||
|
||||
# Function to make API request and handle errors
|
||||
def make_api_request(endpoint, params=None):
|
||||
url = f"{API_BASE_URL}/{endpoint}"
|
||||
try:
|
||||
response = requests.get(url, params=params)
|
||||
response.raise_for_status() # Raise exception for 4XX/5XX responses
|
||||
return response.json()
|
||||
except requests.exceptions.RequestException as e:
|
||||
print(f"Error making request to {url}: {e}")
|
||||
return None
|
||||
|
||||
# Function to print test results
|
||||
def print_test_results(test_name, success, results=None, error=None):
|
||||
print(f"\n--- Test: {test_name} ---")
|
||||
if success:
|
||||
print("✅ SUCCESS")
|
||||
if results:
|
||||
if isinstance(results, dict) and 'features' in results:
|
||||
print(f"Found {len(results['features'])} events")
|
||||
for i, feature in enumerate(results['features'][:3]): # Show first 3 events
|
||||
props = feature['properties']
|
||||
print(f" {i+1}. {props.get('name', 'Unnamed')} ({props.get('id', 'No ID')})")
|
||||
if len(results['features']) > 3:
|
||||
print(f" ... and {len(results['features']) - 3} more events")
|
||||
else:
|
||||
print(json.dumps(results, indent=2))
|
||||
else:
|
||||
print("❌ FAILED")
|
||||
if error:
|
||||
print(f"Error: {error}")
|
||||
|
||||
# Test 1: Basic event retrieval (no parameters)
|
||||
def test_basic_retrieval():
|
||||
print("\n=== Testing Basic Event Retrieval ===")
|
||||
results = make_api_request("event")
|
||||
success = results is not None and 'features' in results
|
||||
print_test_results("Basic Event Retrieval", success, results)
|
||||
return success
|
||||
|
||||
# Test 2: Filter by 'what' parameter
|
||||
def test_what_parameter():
|
||||
print("\n=== Testing 'what' Parameter ===")
|
||||
all_success = True
|
||||
|
||||
for category in EVENT_CATEGORIES:
|
||||
results = make_api_request("event", {"what": category})
|
||||
success = results is not None and 'features' in results
|
||||
|
||||
# Verify that all returned events have the correct category
|
||||
if success and results['features']:
|
||||
for feature in results['features']:
|
||||
if 'events_what' in feature['properties'] and feature['properties']['events_what'] != category:
|
||||
success = False
|
||||
break
|
||||
|
||||
print_test_results(f"Filter by what={category}", success, results)
|
||||
all_success = all_success and success
|
||||
|
||||
return all_success
|
||||
|
||||
# Test 3: Filter by 'when' parameter
|
||||
def test_when_parameter():
|
||||
print("\n=== Testing 'when' Parameter ===")
|
||||
all_success = True
|
||||
|
||||
# Test with 'now'
|
||||
results = make_api_request("event", {"when": "now"})
|
||||
success = results is not None and 'features' in results
|
||||
print_test_results("Filter by when=now", success, results)
|
||||
all_success = all_success and success
|
||||
|
||||
# Test with 'today'
|
||||
results = make_api_request("event", {"when": "today"})
|
||||
success = results is not None and 'features' in results
|
||||
print_test_results("Filter by when=today", success, results)
|
||||
all_success = all_success and success
|
||||
|
||||
# Test with 'yesterday'
|
||||
results = make_api_request("event", {"when": "yesterday"})
|
||||
success = results is not None and 'features' in results
|
||||
print_test_results("Filter by when=yesterday", success, results)
|
||||
all_success = all_success and success
|
||||
|
||||
# Test with 'tomorrow'
|
||||
results = make_api_request("event", {"when": "tomorrow"})
|
||||
success = results is not None and 'features' in results
|
||||
print_test_results("Filter by when=tomorrow", success, results)
|
||||
all_success = all_success and success
|
||||
|
||||
# Test with 'lasthour'
|
||||
results = make_api_request("event", {"when": "lasthour"})
|
||||
success = results is not None and 'features' in results
|
||||
print_test_results("Filter by when=lasthour", success, results)
|
||||
all_success = all_success and success
|
||||
|
||||
# Test with 'nexthour'
|
||||
results = make_api_request("event", {"when": "nexthour"})
|
||||
success = results is not None and 'features' in results
|
||||
print_test_results("Filter by when=nexthour", success, results)
|
||||
all_success = all_success and success
|
||||
|
||||
# Test with ISO8601 date
|
||||
iso_date = CURRENT_DATE.isoformat()
|
||||
results = make_api_request("event", {"when": iso_date})
|
||||
success = results is not None and 'features' in results
|
||||
print_test_results(f"Filter by when={iso_date}", success, results)
|
||||
all_success = all_success and success
|
||||
|
||||
return all_success
|
||||
|
||||
# Test 4: Filter by 'start' and 'stop' parameters
|
||||
def test_start_stop_parameters():
|
||||
print("\n=== Testing 'start' and 'stop' Parameters ===")
|
||||
all_success = True
|
||||
|
||||
# Test with start only
|
||||
start_date = (CURRENT_DATE - timedelta(days=10)).isoformat()
|
||||
results = make_api_request("event", {"start": start_date})
|
||||
success = results is not None and 'features' in results
|
||||
print_test_results(f"Filter by start={start_date}", success, results)
|
||||
all_success = all_success and success
|
||||
|
||||
# Test with stop only
|
||||
stop_date = (CURRENT_DATE + timedelta(days=10)).isoformat()
|
||||
results = make_api_request("event", {"stop": stop_date})
|
||||
success = results is not None and 'features' in results
|
||||
print_test_results(f"Filter by stop={stop_date}", success, results)
|
||||
all_success = all_success and success
|
||||
|
||||
# Test with both start and stop
|
||||
results = make_api_request("event", {"start": start_date, "stop": stop_date})
|
||||
success = results is not None and 'features' in results
|
||||
print_test_results(f"Filter by start={start_date} and stop={stop_date}", success, results)
|
||||
all_success = all_success and success
|
||||
|
||||
# Test with relative keywords
|
||||
results = make_api_request("event", {"start": "last7days", "stop": "next30days"})
|
||||
success = results is not None and 'features' in results
|
||||
print_test_results("Filter by start=last7days and stop=next30days", success, results)
|
||||
all_success = all_success and success
|
||||
|
||||
return all_success
|
||||
|
||||
# Test 5: Filter by 'bbox' parameter
|
||||
def test_bbox_parameter():
|
||||
print("\n=== Testing 'bbox' Parameter ===")
|
||||
|
||||
# Create a bounding box around France
|
||||
bbox = ["-5.0", "41.0", "10.0", "52.0"] # [E, S, W, N]
|
||||
results = make_api_request("event", {"bbox": bbox})
|
||||
success = results is not None and 'features' in results
|
||||
print_test_results(f"Filter by bbox={','.join(bbox)}", success, results)
|
||||
|
||||
return success
|
||||
|
||||
# Test 6: Filter by 'near' parameter
|
||||
def test_near_parameter():
|
||||
print("\n=== Testing 'near' Parameter ===")
|
||||
all_success = True
|
||||
|
||||
# Test with Paris coordinates
|
||||
paris = SAMPLE_LOCATIONS[0]
|
||||
near_params = [paris["lon"], paris["lat"], 50000] # 50km radius
|
||||
results = make_api_request("event", {"near": near_params})
|
||||
success = results is not None and 'features' in results
|
||||
print_test_results(f"Filter by near={paris['lon']},{paris['lat']},50000", success, results)
|
||||
all_success = all_success and success
|
||||
|
||||
# Test with Lyon coordinates
|
||||
lyon = SAMPLE_LOCATIONS[1]
|
||||
near_params = [lyon["lon"], lyon["lat"], 30000] # 30km radius
|
||||
results = make_api_request("event", {"near": near_params})
|
||||
success = results is not None and 'features' in results
|
||||
print_test_results(f"Filter by near={lyon['lon']},{lyon['lat']},30000", success, results)
|
||||
all_success = all_success and success
|
||||
|
||||
return all_success
|
||||
|
||||
# Test 7: Combine multiple parameters
|
||||
def test_combined_parameters():
|
||||
print("\n=== Testing Combined Parameters ===")
|
||||
|
||||
# Combine 'what' and 'when' parameters
|
||||
params = {
|
||||
"what": "traffic",
|
||||
"when": "now"
|
||||
}
|
||||
results = make_api_request("event", params)
|
||||
success = results is not None and 'features' in results
|
||||
print_test_results("Filter by what=traffic and when=now", success, results)
|
||||
|
||||
return success
|
||||
|
||||
# Main function to run all tests
|
||||
def main():
|
||||
print("Starting API parameter tests...")
|
||||
|
||||
# Check if the server is running
|
||||
try:
|
||||
response = requests.get(f"{API_BASE_URL}/stats")
|
||||
if response.status_code != 200:
|
||||
print(f"❌ Server is not responding correctly. Status code: {response.status_code}")
|
||||
return False
|
||||
print("✅ Server is running and responding to requests.")
|
||||
except requests.exceptions.ConnectionError:
|
||||
print("❌ Cannot connect to the server. Make sure it's running on http://localhost:8080")
|
||||
return False
|
||||
|
||||
# Run all tests
|
||||
tests = [
|
||||
("Basic Event Retrieval", test_basic_retrieval),
|
||||
("'what' Parameter", test_what_parameter),
|
||||
("'when' Parameter", test_when_parameter),
|
||||
("'start' and 'stop' Parameters", test_start_stop_parameters),
|
||||
("'bbox' Parameter", test_bbox_parameter),
|
||||
("'near' Parameter", test_near_parameter),
|
||||
("Combined Parameters", test_combined_parameters)
|
||||
]
|
||||
|
||||
results = {}
|
||||
all_success = True
|
||||
|
||||
for test_name, test_func in tests:
|
||||
print(f"\n{'=' * 50}")
|
||||
print(f"Running test: {test_name}")
|
||||
try:
|
||||
success = test_func()
|
||||
results[test_name] = success
|
||||
all_success = all_success and success
|
||||
except Exception as e:
|
||||
print(f"❌ Test failed with exception: {e}")
|
||||
results[test_name] = False
|
||||
all_success = False
|
||||
|
||||
# Print summary
|
||||
print("\n\n" + "=" * 50)
|
||||
print("TEST SUMMARY")
|
||||
print("=" * 50)
|
||||
for test_name, success in results.items():
|
||||
status = "✅ PASSED" if success else "❌ FAILED"
|
||||
print(f"{test_name}: {status}")
|
||||
|
||||
overall_status = "✅ ALL TESTS PASSED" if all_success else "❌ SOME TESTS FAILED"
|
||||
print(f"\nOverall: {overall_status}")
|
||||
|
||||
return all_success
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
42
test_db_check.py
Executable file
42
test_db_check.py
Executable file
|
@ -0,0 +1,42 @@
|
|||
#!/usr/bin/env python3
|
||||
# Test script to verify database connectivity check
|
||||
|
||||
import os
|
||||
import sys
|
||||
import psycopg2
|
||||
|
||||
# Import the db_connect and check_db_connection functions from oedb.utils.db
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
from oedb.utils.db import db_connect, check_db_connection
|
||||
|
||||
def test_db_connection():
|
||||
"""Test the database connection check functionality"""
|
||||
print("Testing database connection...")
|
||||
|
||||
# Test with valid connection
|
||||
result = check_db_connection()
|
||||
if result:
|
||||
print("✅ Database connection successful")
|
||||
else:
|
||||
print("❌ Database connection failed with valid credentials")
|
||||
|
||||
# Test with invalid connection (by temporarily modifying environment variables)
|
||||
original_host = os.environ.get("DB_HOST", "")
|
||||
os.environ["DB_HOST"] = "nonexistent-host"
|
||||
|
||||
result = check_db_connection()
|
||||
if not result:
|
||||
print("✅ Correctly detected invalid database connection")
|
||||
else:
|
||||
print("❌ Failed to detect invalid database connection")
|
||||
|
||||
# Restore original environment
|
||||
if original_host:
|
||||
os.environ["DB_HOST"] = original_host
|
||||
else:
|
||||
os.environ.pop("DB_HOST", None)
|
||||
|
||||
print("Database connection test completed")
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_db_connection()
|
45
test_permissions.sh
Executable file
45
test_permissions.sh
Executable file
|
@ -0,0 +1,45 @@
|
|||
#!/bin/bash
|
||||
# Script to test database permissions for the events table
|
||||
|
||||
# Load environment variables from .env file
|
||||
if [ -f .env ]; then
|
||||
echo "Loading environment variables from .env file..."
|
||||
export $(grep -v '^#' .env | xargs)
|
||||
fi
|
||||
|
||||
# Default values if not set in .env
|
||||
DB_NAME=${DB_NAME:-"oedb"}
|
||||
DB_USER=${DB_USER:-"postgres"}
|
||||
DB_HOST=${DB_HOST:-"localhost"}
|
||||
|
||||
# Set PGPASSWORD for authentication
|
||||
export PGPASSWORD="${POSTGRES_PASSWORD}"
|
||||
|
||||
echo "Testing database permissions for user '$DB_USER'..."
|
||||
echo "Attempting to select from events table..."
|
||||
|
||||
# Try to select from the events table
|
||||
result=$(psql -h $DB_HOST -U $DB_USER -d $DB_NAME -t -c "SELECT COUNT(*) FROM events;")
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Success! User '$DB_USER' has permission to access the events table."
|
||||
echo "Count of events: $result"
|
||||
else
|
||||
echo "❌ Error: User '$DB_USER' does not have permission to access the events table."
|
||||
echo "Running setup_db.sh to fix permissions..."
|
||||
./setup_db.sh
|
||||
|
||||
# Test again after running setup_db.sh
|
||||
echo "Testing permissions again..."
|
||||
result=$(psql -h $DB_HOST -U $DB_USER -d $DB_NAME -t -c "SELECT COUNT(*) FROM events;")
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Success! Permissions fixed. User '$DB_USER' now has access to the events table."
|
||||
echo "Count of events: $result"
|
||||
else
|
||||
echo "❌ Error: Still unable to access the events table. Please check database configuration."
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Test completed."
|
||||
exit 0
|
42
test_table_permissions.sh
Executable file
42
test_table_permissions.sh
Executable file
|
@ -0,0 +1,42 @@
|
|||
#!/bin/bash
|
||||
# Script to test permissions on the events table
|
||||
|
||||
# Load environment variables from .env file
|
||||
if [ -f .env ]; then
|
||||
echo "Loading environment variables from .env file..."
|
||||
export $(grep -v '^#' .env | xargs)
|
||||
fi
|
||||
|
||||
# Default values if not set in .env
|
||||
DB_NAME=${DB_NAME:-"oedb"}
|
||||
DB_USER=${DB_USER:-"postgres"}
|
||||
DB_HOST=${DB_HOST:-"localhost"}
|
||||
|
||||
# Set PGPASSWORD for authentication
|
||||
export PGPASSWORD="${POSTGRES_PASSWORD}"
|
||||
|
||||
echo "Testing permissions on the events table for user '${DB_USER}'..."
|
||||
|
||||
# Try to select from the events table
|
||||
PGPASSWORD="${POSTGRES_PASSWORD}" psql -h $DB_HOST -U $DB_USER -d $DB_NAME -c "SELECT COUNT(*) FROM events;"
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Success! User '${DB_USER}' has permission to access the events table."
|
||||
else
|
||||
echo "❌ Error: User '${DB_USER}' does not have permission to access the events table."
|
||||
echo "Running setup_db.sh to fix permissions..."
|
||||
./setup_db.sh
|
||||
|
||||
# Test again after running setup_db.sh
|
||||
echo "Testing permissions again..."
|
||||
PGPASSWORD="${POSTGRES_PASSWORD}" psql -h $DB_HOST -U $DB_USER -d $DB_NAME -c "SELECT COUNT(*) FROM events;"
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Success! Permissions fixed. User '${DB_USER}' now has access to the events table."
|
||||
else
|
||||
echo "❌ Error: Still unable to access the events table. Please check database configuration."
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Test completed."
|
||||
exit 0
|
Loading…
Add table
Add a link
Reference in a new issue