├── .gitignore ├── README.md ├── postgis-intro ├── .editorconfig └── sources │ ├── en │ ├── 3d.rst │ ├── Makefile │ ├── about_data.rst │ ├── advanced_geometry_construction.rst │ ├── advanced_geometry_construction │ │ ├── adv_geom0.jpg │ │ ├── adv_geom1.jpg │ │ ├── adv_geom2.jpg │ │ ├── adv_geom3.jpg │ │ ├── adv_geom4.jpg │ │ └── adv_geom5.jpg │ ├── backup.rst │ ├── clusterindex.rst │ ├── conf.py │ ├── creating_db.rst │ ├── de9im.rst │ ├── equality.rst │ ├── equality │ │ ├── polygon-table.png │ │ ├── polygon1.png │ │ ├── polygon2.png │ │ ├── polygon3.png │ │ ├── polygon4.png │ │ ├── polygon5.png │ │ ├── polygons.svg │ │ ├── start13.png │ │ ├── start14.png │ │ ├── start15.png │ │ └── start17.png │ ├── geography.rst │ ├── geography │ │ ├── cartesian_spherical.jpg │ │ ├── lax_cdg.jpg │ │ ├── lax_nrt.png │ │ └── lax_tok.jpg │ ├── geography_exercises.rst │ ├── geometries.rst │ ├── geometries │ │ ├── represent-07.png │ │ ├── start01.png │ │ ├── start08.png │ │ └── table01.png │ ├── geometries_exercises.rst │ ├── geometry_returning.rst │ ├── geometry_returning │ │ ├── buffer.png │ │ ├── centroid.jpg │ │ ├── intersection.jpg │ │ ├── liberty_negative.jpg │ │ ├── liberty_positive.jpg │ │ ├── st_buffer.png │ │ ├── union.jpg │ │ └── union_counties.png │ ├── geometry_returning_exercises.rst │ ├── glossary.rst │ ├── history_tracking.rst │ ├── index.rst │ ├── indexing.rst │ ├── indexing │ │ ├── bbox.png │ │ ├── index-01.png │ │ └── index-02.png │ ├── installation.rst │ ├── introduction.rst │ ├── introduction │ │ ├── beginning.png │ │ ├── boundingbox.png │ │ ├── hierarchy.png │ │ ├── lines.png │ │ ├── mbr.png │ │ ├── points.png │ │ └── polygons.png │ ├── joins.rst │ ├── joins_advanced.rst │ ├── joins_exercises.rst │ ├── knn.rst │ ├── license.rst │ ├── linear_referencing.rst │ ├── loading_data.rst │ ├── postgis-functions.rst │ ├── projection.rst │ ├── projection_exercises.rst │ ├── rasters.rst │ ├── rasters │ │ ├── hello-ny.png │ │ ├── hello-raster-ny-mean.png │ │ ├── hello-raster-ny.png │ │ ├── hello.png │ │ ├── postgis_raster.jpg │ │ ├── postgis_raster.odg │ │ ├── raster-hello-ny.png │ │ ├── raster-ny.png │ │ ├── raster-st-pixel-as-polygons-pgAdmin-Grid.png │ │ ├── raster-st-pixel-as-polygons-pgAdmin-geomviewer.png │ │ ├── raster_as_geometry.png │ │ ├── st-dump-as-polygons.png │ │ ├── st_colormap_ny_dem.png │ │ ├── st_transform_nooverlaps.png │ │ └── st_transform_overlaps.png │ ├── schemas.rst │ ├── screenshots │ │ ├── backup1.jpg │ │ ├── backup2.jpg │ │ ├── backup3.jpg │ │ ├── backup4.jpg │ │ ├── backup5.jpg │ │ ├── centroid_neighborhood.png │ │ ├── clustering1.jpg │ │ ├── clustering2.jpg │ │ ├── clustering3.jpg │ │ ├── clustering4.jpg │ │ ├── clustering5.png │ │ ├── collection.png │ │ ├── collection2.png │ │ ├── dashboard_01.png │ │ ├── dashboard_02.png │ │ ├── data_loading_1.png │ │ ├── data_loading_2.png │ │ ├── data_loading_2a.png │ │ ├── data_loading_3.png │ │ ├── data_loading_4.png │ │ ├── de9im1.jpg │ │ ├── de9im10.jpg │ │ ├── de9im11.jpg │ │ ├── de9im12.jpg │ │ ├── de9im2.jpg │ │ ├── de9im3.jpg │ │ ├── de9im4.jpg │ │ ├── de9im5.jpg │ │ ├── de9im6.jpg │ │ ├── de9im7.jpg │ │ ├── de9im8.jpg │ │ ├── de9im9.jpg │ │ ├── install_components.png │ │ ├── install_directory.png │ │ ├── install_finish.png │ │ ├── install_installing.png │ │ ├── install_license.png │ │ ├── install_macos_01.png │ │ ├── install_macos_02.png │ │ ├── install_pgadmin_01.png │ │ ├── install_ready.png │ │ ├── install_startmenu.png │ │ ├── install_welcome.png │ │ ├── install_windows_01.png │ │ ├── knn1.jpg │ │ ├── knn2.jpg │ │ ├── knn3.jpg │ │ ├── knn4.png │ │ ├── knn5.png │ │ ├── lrs1.jpg │ │ ├── nyc_census_blocks.png │ │ ├── nyc_neighborhoods.png │ │ ├── nyc_streets.png │ │ ├── nyc_subway_stations.png │ │ ├── nyc_tracts_flatbush.jpg │ │ ├── pgadmin_01.png │ │ ├── pgadmin_02.png │ │ ├── pgadmin_02a.png │ │ ├── pgadmin_03.png │ │ ├── pgadmin_03a.png │ │ ├── pgadmin_04.png │ │ ├── pgadmin_05.png │ │ ├── pgadmin_06.png │ │ ├── pgadmin_07.png │ │ ├── pgadmin_08.png │ │ ├── pgadmin_09.png │ │ ├── pgshapeloader_01.png │ │ ├── pgshapeloader_01a.png │ │ ├── pgshapeloader_02.png │ │ ├── pgshapeloader_03.png │ │ ├── polygons.png │ │ ├── prj2epsg_01.png │ │ ├── qgis_dbmanager.png │ │ ├── refresh.png │ │ ├── schemas.jpg │ │ ├── ssl_conf.jpg │ │ ├── ssl_create.jpg │ │ ├── ssl_props.jpg │ │ └── subways_buffered.png │ ├── security.rst │ ├── simple_sql.rst │ ├── simple_sql_exercises.rst │ ├── spatial_relationships.rst │ ├── spatial_relationships │ │ ├── atlantic_commons.jpg │ │ ├── broad_st.jpg │ │ ├── cortland.jpg │ │ ├── distance-01.png │ │ ├── st_buffer.png │ │ ├── st_crosses.png │ │ ├── st_disjoint.png │ │ ├── st_dwithin.png │ │ ├── st_equals.png │ │ ├── st_intersection.png │ │ ├── st_intersects.png │ │ ├── st_overlaps.png │ │ ├── st_touches.png │ │ └── st_within.png │ ├── spatial_relationships_exercises.rst │ ├── static │ │ └── workshop-sql.txt │ ├── topology.rst │ ├── topology │ │ ├── basic_types.png │ │ ├── boros_topogeom.png │ │ ├── boros_universal_face.png │ │ ├── components.png │ │ ├── edge_left_right.png │ │ ├── edge_perspective.png │ │ ├── face_directions.png │ │ ├── geomtable2topotable.png │ │ ├── hierarchy.png │ │ ├── next_edge_base.png │ │ ├── next_edge_one_edge.png │ │ ├── next_edge_one_edge_left.png │ │ ├── next_edge_one_edge_right.png │ │ ├── next_left_edge_perspective.png │ │ ├── next_right_edge_perspective.png │ │ ├── read_topoelement.png │ │ ├── topo_keys.png │ │ ├── topogeo2components.png │ │ └── topology_main_concept.png │ ├── topology_base_types.rst │ ├── topology_topo_types.rst │ ├── tuning.rst │ ├── tuning │ │ ├── conf01.png │ │ ├── conf02.png │ │ ├── conf03.png │ │ ├── conf04.png │ │ ├── conf05.png │ │ ├── conf06.png │ │ ├── conf07.png │ │ ├── conf08.png │ │ ├── conf09.png │ │ └── conf10.png │ ├── upgrades.rst │ ├── validity.rst │ ├── validity │ │ ├── banana.png │ │ └── figure_eight.png │ └── welcome.rst │ ├── jp │ ├── Makefile │ ├── about_data.rst │ ├── conf.py │ ├── creating_db.rst │ ├── equality.rst │ ├── equality │ │ ├── polygon-table.png │ │ ├── polygon1.png │ │ ├── polygon2.png │ │ ├── polygon3.png │ │ ├── polygon4.png │ │ ├── polygon5.png │ │ ├── polygons.svg │ │ ├── start13.png │ │ ├── start14.png │ │ ├── start15.png │ │ └── start17.png │ ├── favicon.ico │ ├── geography.rst │ ├── geography │ │ ├── cartesian_spherical.jpg │ │ ├── lax_cdg.jpg │ │ ├── lax_nrt.png │ │ └── lax_tok.jpg │ ├── geometries.rst │ ├── geometries │ │ ├── represent-04.png │ │ ├── represent-05.png │ │ ├── represent-06.png │ │ ├── represent-07.png │ │ ├── start01.png │ │ ├── start08.png │ │ └── table01.png │ ├── geometries_exercises.rst │ ├── geometry_returning.rst │ ├── geometry_returning │ │ ├── buffer.png │ │ ├── centroid.jpg │ │ ├── intersection.jpg │ │ ├── liberty_negative.jpg │ │ ├── liberty_positive.jpg │ │ ├── st_buffer.png │ │ ├── union.jpg │ │ └── union_counties.png │ ├── glossary.rst │ ├── index.rst │ ├── indexing.rst │ ├── indexing │ │ ├── bbox.png │ │ └── index-01.png │ ├── installation.rst │ ├── introduction.rst │ ├── introduction │ │ ├── beginning.png │ │ ├── boundingbox.png │ │ ├── hierarchy.png │ │ ├── lines.png │ │ ├── mbr.png │ │ ├── points.png │ │ └── polygons.png │ ├── joins.rst │ ├── joins_advanced.rst │ ├── joins_exercises.rst │ ├── license.rst │ ├── loading_data.rst │ ├── postgis-functions.rst │ ├── projection.rst │ ├── projection_exercises.rst │ ├── screenshots │ │ ├── centroid_neighborhood.png │ │ ├── collection.png │ │ ├── collection2.png │ │ ├── dashboard_01.png │ │ ├── dashboard_02.png │ │ ├── install_01.png │ │ ├── install_02.png │ │ ├── install_03.png │ │ ├── install_04.png │ │ ├── install_05.png │ │ ├── install_06.png │ │ ├── install_07.png │ │ ├── install_08.png │ │ ├── nyc_census_blocks.png │ │ ├── nyc_neighborhoods.png │ │ ├── nyc_streets.png │ │ ├── nyc_subway_stations.png │ │ ├── pgadmin_01.png │ │ ├── pgadmin_02.png │ │ ├── pgadmin_03.png │ │ ├── pgadmin_04.png │ │ ├── pgadmin_05.png │ │ ├── pgadmin_06.png │ │ ├── pgadmin_07.png │ │ ├── pgadmin_08.png │ │ ├── pgadmin_09.png │ │ ├── pgshapeloader_01.png │ │ ├── pgshapeloader_02.png │ │ ├── polygons.png │ │ ├── prj2epsg_01.png │ │ ├── refresh.png │ │ └── subways_buffered.png │ ├── simple_sql.rst │ ├── simple_sql_exercises.rst │ ├── spatial_relationships.rst │ ├── spatial_relationships │ │ ├── atlantic_commons.jpg │ │ ├── broad_st.jpg │ │ ├── cortland.jpg │ │ ├── distance-01.png │ │ ├── st_buffer.png │ │ ├── st_crosses.png │ │ ├── st_disjoint.png │ │ ├── st_dwithin.png │ │ ├── st_equals.png │ │ ├── st_intersection.png │ │ ├── st_intersects.png │ │ ├── st_overlaps.png │ │ ├── st_touches.png │ │ └── st_within.png │ ├── spatial_relationships_exercises.rst │ ├── tuning.rst │ ├── tuning │ │ ├── conf01.png │ │ ├── conf02.png │ │ ├── conf03.png │ │ ├── conf04.png │ │ ├── conf05.png │ │ ├── conf06.png │ │ ├── conf07.png │ │ ├── conf08.png │ │ ├── conf09.png │ │ └── conf10.png │ ├── validity.rst │ ├── validity │ │ ├── banana.png │ │ └── figure_eight.png │ └── welcome.rst │ └── locale │ ├── README │ ├── de │ └── LC_MESSAGES │ │ ├── 3d.po │ │ ├── about_data.mo │ │ ├── about_data.po │ │ ├── advanced_geometry_construction.po │ │ ├── backup.po │ │ ├── clusterindex.po │ │ ├── creating_db.po │ │ ├── de9im.po │ │ ├── equality.po │ │ ├── geography.po │ │ ├── geography_exercises.po │ │ ├── geometries.po │ │ ├── geometries_exercises.po │ │ ├── geometry_returning.po │ │ ├── geometry_returning_exercises.po │ │ ├── glossary.po │ │ ├── history_tracking.po │ │ ├── index.po │ │ ├── indexing.po │ │ ├── installation.po │ │ ├── introduction.po │ │ ├── joins.po │ │ ├── joins_advanced.po │ │ ├── joins_exercises.po │ │ ├── knn.po │ │ ├── license.po │ │ ├── linear_referencing.po │ │ ├── loading_data.po │ │ ├── postgis-functions.po │ │ ├── projection.po │ │ ├── projection_exercises.po │ │ ├── rasters.po │ │ ├── schemas.po │ │ ├── security.po │ │ ├── simple_sql.po │ │ ├── simple_sql_exercises.po │ │ ├── spatial_relationships.po │ │ ├── spatial_relationships_exercises.po │ │ ├── topology.po │ │ ├── tuning.po │ │ ├── upgrades.po │ │ ├── validity.po │ │ └── welcome.po │ ├── es │ └── LC_MESSAGES │ │ ├── 3d.po │ │ ├── about_data.po │ │ ├── advanced_geometry_construction.po │ │ ├── backup.po │ │ ├── clusterindex.po │ │ ├── creating_db.po │ │ ├── de9im.po │ │ ├── equality.po │ │ ├── geography.po │ │ ├── geography_exercises.po │ │ ├── geometries.po │ │ ├── geometries_exercises.po │ │ ├── geometry_returning.po │ │ ├── geometry_returning_exercises.po │ │ ├── glossary.po │ │ ├── history_tracking.po │ │ ├── index.po │ │ ├── indexing.po │ │ ├── installation.po │ │ ├── introduction.po │ │ ├── joins.po │ │ ├── joins_advanced.po │ │ ├── joins_exercises.po │ │ ├── knn.po │ │ ├── license.po │ │ ├── linear_referencing.po │ │ ├── loading_data.po │ │ ├── postgis-functions.po │ │ ├── projection.po │ │ ├── projection_exercises.po │ │ ├── rasters.po │ │ ├── schemas.po │ │ ├── security.po │ │ ├── simple_sql.po │ │ ├── simple_sql_exercises.po │ │ ├── spatial_relationships.po │ │ ├── spatial_relationships_exercises.po │ │ ├── topology.po │ │ ├── tuning.po │ │ ├── upgrades.po │ │ ├── validity.po │ │ └── welcome.po │ ├── fr │ └── LC_MESSAGES │ │ ├── glossary.po │ │ ├── index.po │ │ └── welcome.po │ ├── it │ └── LC_MESSAGES │ │ ├── 3d.mo │ │ ├── 3d.po │ │ ├── backup.mo │ │ ├── backup.po │ │ ├── clusterindex.mo │ │ ├── clusterindex.po │ │ ├── geography.po │ │ ├── geography_exercises.mo │ │ ├── geography_exercises.po │ │ ├── geometries_exercises.mo │ │ ├── geometries_exercises.po │ │ ├── glossary.mo │ │ ├── glossary.po │ │ ├── index.mo │ │ ├── index.po │ │ ├── license.mo │ │ ├── license.po │ │ ├── loading_data.mo │ │ ├── loading_data.po │ │ ├── simple_sql_exercises.mo │ │ ├── simple_sql_exercises.po │ │ ├── spatial_relationships.mo │ │ ├── spatial_relationships.po │ │ ├── tuning.mo │ │ └── tuning.po │ ├── ja │ └── LC_MESSAGES │ │ ├── 3d.po │ │ ├── about_data.po │ │ ├── advanced_geometry_construction.po │ │ ├── backup.po │ │ ├── clusterindex.po │ │ ├── creating_db.po │ │ ├── de9im.po │ │ ├── equality.po │ │ ├── geography.po │ │ ├── geography_exercises.po │ │ ├── geometries.po │ │ ├── geometries_exercises.po │ │ ├── geometry_returning.po │ │ ├── geometry_returning_exercises.po │ │ ├── glossary.po │ │ ├── history_tracking.po │ │ ├── index.po │ │ ├── indexing.po │ │ ├── installation.po │ │ ├── introduction.po │ │ ├── joins.po │ │ ├── joins_advanced.po │ │ ├── joins_exercises.po │ │ ├── knn.po │ │ ├── license.po │ │ ├── linear_referencing.po │ │ ├── loading_data.po │ │ ├── postgis-functions.po │ │ ├── projection.po │ │ ├── projection_exercises.po │ │ ├── rasters.po │ │ ├── schemas.po │ │ ├── security.po │ │ ├── simple_sql.po │ │ ├── simple_sql_exercises.po │ │ ├── spatial_relationships.po │ │ ├── spatial_relationships_exercises.po │ │ ├── topology.po │ │ ├── tuning.po │ │ ├── upgrades.po │ │ ├── validity.po │ │ └── welcome.po │ ├── ko │ └── LC_MESSAGES │ │ ├── about_data.po │ │ ├── backup.po │ │ ├── creating_db.po │ │ ├── glossary.po │ │ ├── index.po │ │ ├── installation.po │ │ ├── introduction.po │ │ ├── loading_data.po │ │ ├── rasters.po │ │ ├── simple_sql.po │ │ └── welcome.po │ ├── pot │ ├── 3d.pot │ ├── about_data.pot │ ├── advanced_geometry_construction.pot │ ├── backup.pot │ ├── clusterindex.pot │ ├── creating_db.pot │ ├── de9im.pot │ ├── equality.pot │ ├── geography.pot │ ├── geography_exercises.pot │ ├── geometries.pot │ ├── geometries_exercises.pot │ ├── geometry_returning.pot │ ├── geometry_returning_exercises.pot │ ├── glossary.pot │ ├── history_tracking.pot │ ├── index.pot │ ├── indexing.pot │ ├── installation.pot │ ├── introduction.pot │ ├── joins.pot │ ├── joins_advanced.pot │ ├── joins_exercises.pot │ ├── knn.pot │ ├── license.pot │ ├── linear_referencing.pot │ ├── loading_data.pot │ ├── postgis-functions.pot │ ├── projection.pot │ ├── projection_exercises.pot │ ├── rasters.pot │ ├── schemas.pot │ ├── security.pot │ ├── simple_sql.pot │ ├── simple_sql_exercises.pot │ ├── spatial_relationships.pot │ ├── spatial_relationships_exercises.pot │ ├── topology.pot │ ├── tuning.pot │ ├── upgrades.pot │ ├── validity.pot │ └── welcome.pot │ ├── sv │ └── LC_MESSAGES │ │ ├── 3d.po │ │ ├── about_data.po │ │ ├── advanced_geometry_construction.po │ │ ├── backup.po │ │ ├── clusterindex.po │ │ ├── creating_db.po │ │ ├── de9im.po │ │ ├── equality.po │ │ ├── geography.po │ │ ├── geography_exercises.po │ │ ├── geometries.po │ │ ├── geometries_exercises.po │ │ ├── geometry_returning.po │ │ ├── geometry_returning_exercises.po │ │ ├── glossary.po │ │ ├── history_tracking.po │ │ ├── index.po │ │ ├── indexing.po │ │ ├── installation.po │ │ ├── introduction.po │ │ ├── joins.po │ │ ├── joins_advanced.po │ │ ├── joins_exercises.po │ │ ├── knn.po │ │ ├── license.po │ │ ├── linear_referencing.po │ │ ├── loading_data.po │ │ ├── postgis-functions.po │ │ ├── projection.po │ │ ├── projection_exercises.po │ │ ├── rasters.po │ │ ├── schemas.po │ │ ├── security.po │ │ ├── simple_sql.po │ │ ├── simple_sql_exercises.po │ │ ├── spatial_relationships.po │ │ ├── spatial_relationships_exercises.po │ │ ├── topology.po │ │ ├── tuning.po │ │ ├── upgrades.po │ │ ├── validity.po │ │ └── welcome.po │ ├── uk │ └── LC_MESSAGES │ │ ├── glossary.po │ │ ├── introduction.po │ │ └── welcome.po │ └── zh_Hans │ └── LC_MESSAGES │ ├── 3d.po │ ├── about_data.po │ ├── advanced_geometry_construction.po │ ├── clusterindex.po │ ├── creating_db.po │ ├── equality.po │ ├── geography.po │ ├── geography_exercises.po │ ├── geometries.po │ ├── geometries_exercises.po │ ├── glossary.po │ ├── history_tracking.po │ ├── index.po │ ├── indexing.po │ ├── installation.po │ ├── introduction.po │ ├── joins.po │ ├── joins_exercises.po │ ├── license.po │ ├── loading_data.po │ ├── postgis-functions.po │ ├── projection.po │ ├── projection_exercises.po │ ├── simple_sql.po │ ├── simple_sql_exercises.po │ ├── spatial_relationships.po │ ├── spatial_relationships_exercises.po │ ├── upgrades.po │ └── welcome.po └── themes ├── foss4g2013 ├── layout.html ├── static │ ├── extra.css │ ├── favicon.ico │ └── img │ │ ├── cc-by-sa.png │ │ ├── opengeo-logo.png │ │ └── page-heading-bg.png └── theme.conf └── postgis ├── layout.html ├── static ├── extra.css ├── favicon.ico └── img │ ├── cc-by-sa.png │ ├── opengeo-logo.png │ ├── page-heading-bg.png │ └── postgis-logo.png └── theme.conf /.gitignore: -------------------------------------------------------------------------------- 1 | # Sphinx default build target 2 | postgis-intro/doc 3 | # OSX nonsense 4 | .DS_Store 5 | _build 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PostGIS Workshops 2 | 3 | Training materials for PostGIS 4 | 5 | ## Workshops 6 | 7 | The workshop pages are viewable at below. 8 | Note that we are working on the translations from English to other languages. 9 | 10 | * English: [[pdf]](https://postgis.net/workshops/en/postgis-intro/PostGISIntro.pdf) https://postgis.net/workshops/en/postgis-intro/ 11 | * Japanese: https://postgis.net/workshops/ja/postgis-intro/ 12 | * Chinese (Simplified): https://postgis.net/workshops/zh_Hans/postgis-intro/ 13 | * Swedish: https://postgis.net/workshops/sv/postgis-intro/ 14 | * German: [[pdf]](https://postgis.net/workshops/de/postgis-intro/PostGISIntro.pdf) https://postgis.net/workshops/de/postgis-intro/ 15 | * Korean: https://postgis.net/workshops/ko/postgis-intro/ 16 | * Spanish: https://postgis.net/workshops/es/postgis-intro/ 17 | * Italian: https://postgis.net/workshops/it/postgis-intro/ 18 | * French: https://postgis.net/workshops/fr/postgis-intro/ 19 | * Ukrainian: https://postgis.net/workshops/uk/postgis-intro/ 20 | 21 | ## Translations 22 | We are using [Weblate software](https://weblate.org) for translation. If you want to help out, log into [OSGeo Weblate](https://weblate.osgeo.org/projects/postgis-workshop/). 23 | 24 | If you don't already have an OSGeo account, [you can get one here](https://id.osgeo.org/ldap/create). An OSGeo account will allow you to participate in translating both the PostGIS workshop and PostGIS documentation as well is several other [OSGeo projects](https://www.osgeo.org/projects/). 25 | 26 | 27 | Translation status 28 | 29 | 30 | ## Building the Workshop Content 31 | 32 | * Install Sphinx: http://www.sphinx-doc.org/en/1.8/usage/installation.html 33 | * python3 -m venv ~/pw-env 34 | * source ~/pw-env/bin/activate 35 | * Go to the source directory: `cd postgis-intro/sources/en/` 36 | * Build the HTML: `make html` 37 | * Check the outputs: `cd ../../doc/en` 38 | 39 | If you get an error about TemplateNotFound('sphinxdoc/layout.html') then 40 | Try doing below (for python3, might need to use pip3 instead of pip): 41 | `pip install sphinx-rtd-theme` 42 | 43 | ## running in Python3 with virtual-env 44 | ``` 45 | sudo apt install python3-pip 46 | sudo apt install python3-venv 47 | python3 -m venv ~/pw-env 48 | source ~/pw-env/bin/activate #enter the venv 49 | pip3 install --upgrade pip 50 | pip3 install sphinx-rtd-theme 51 | ``` 52 | 53 | ## setting up po translation files 54 | ``` 55 | pip3 install sphinx-intl 56 | cd postgis-intro/sources/en 57 | make pot 58 | make po 59 | ``` 60 | 61 | ## Building translated docs 62 | ``` 63 | cd postgis-intro/sources/en 64 | LANG=ja make html-translation 65 | LANG=de make html-translation 66 | LANG=es make html-translation 67 | LANG=it make html-translation 68 | 69 | # to build pdfs 70 | LANG=de make pdf-translation 71 | 72 | # if you get errors building, you might need to install lang specific 73 | sudo apt install texlive-lang-german 74 | sudo apt install texlive-lang-japanese 75 | ``` 76 | 77 | ## PDF builds 78 | ``` 79 | make pdf #builds just english 80 | #if you get errors about cmap.sty missing try doing: 81 | sudo apt install texlive-fonts-recommended texlive-latex-recommended texlive-latex-extra 82 | ``` 83 | 84 | ### Slide Decks 85 | 86 | * TBD, probably using reveal.js 87 | -------------------------------------------------------------------------------- /postgis-intro/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | # these are the defaults 7 | [*.rst] 8 | charset = utf-8 9 | end_of_line = lf 10 | trim_trailing_whitespace = true 11 | insert_final_newline = true 12 | indent_style = space 13 | indent_size = 2 14 | 15 | [*.py] 16 | indent_style = space 17 | indent_size = 4 18 | 19 | # Makefiles want tab indentation 20 | [Makefile] 21 | indent_style = tab 22 | 23 | # .bat files want CRLF 24 | [*.bat] 25 | end_of_line = crlf 26 | 27 | -------------------------------------------------------------------------------- /postgis-intro/sources/en/advanced_geometry_construction/adv_geom0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/advanced_geometry_construction/adv_geom0.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/advanced_geometry_construction/adv_geom1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/advanced_geometry_construction/adv_geom1.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/advanced_geometry_construction/adv_geom2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/advanced_geometry_construction/adv_geom2.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/advanced_geometry_construction/adv_geom3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/advanced_geometry_construction/adv_geom3.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/advanced_geometry_construction/adv_geom4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/advanced_geometry_construction/adv_geom4.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/advanced_geometry_construction/adv_geom5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/advanced_geometry_construction/adv_geom5.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/clusterindex.rst: -------------------------------------------------------------------------------- 1 | .. _clusterindex: 2 | 3 | Clustering on Indices 4 | ===================== 5 | 6 | Databases can only retrieve information as fast as they can get it off of disk. Small databases will float up entirely into RAM cache, and get away from physical disk limitations, but for large databases, access to the physical disk will be a limiting stop in disk access speed. 7 | 8 | Data is written to disk opportunistically, so there is not necessarily any correlation between the order data is stored on the disk and the way it will be accessed or organized by applications. 9 | 10 | .. image:: ./screenshots/clustering1.jpg 11 | :class: inline 12 | 13 | One way to speed up access to data is to ensure that records which is likely to be retrieved together in the same result set are located in similar physical locations on the hard disk platters. This is called "clustering". 14 | 15 | The right clustering scheme to use can be tricky, but a general rule applies: indexes define a natural ordering scheme for data which is similar to the access pattern that will be used in retrieving the data. 16 | 17 | .. image:: ./screenshots/clustering2.jpg 18 | :class: inline 19 | 20 | Because of this, ordering the data on the disk in the same order as the index can provide a speed advantage in some cases. 21 | 22 | Clustering on the R-Tree 23 | ------------------------ 24 | 25 | Spatial data tends to be accessed in spatially correlated windows: think of the map window in a web or desktop application. All the data in the windows has similar location value (or it wouldn't be in the window!) 26 | 27 | So, clustering based on a spatial index makes sense for spatial data that is going to be accessed with spatial queries: similar things tend to have similar locations. 28 | 29 | Let's cluster our ``nyc_census_blocks`` based on their spatial index: 30 | 31 | .. code-block:: sql 32 | 33 | -- Cluster the blocks based on their spatial index 34 | CLUSTER nyc_census_blocks USING nyc_census_blocks_geom_idx; 35 | 36 | The command re-writes the ``nyc_census_blocks`` in the order defined by the spatial index ``nyc_census_blocks_geom_gist``. Can you perceive a speed difference? Maybe not, because the original data may have already had some pre-existing spatial ordering (this is not uncommon in GIS data sets). 37 | 38 | Disk Versus Memory/SSD 39 | ---------------------- 40 | 41 | Most modern databases are run using SSD storage, which is much faster at random access than old spinning magnetic media. Also, most modern databases are running on top of data which is small enough to fit into the RAM of the database server, and ends up there as the operating system "virtual filesystem" caches it. 42 | 43 | Is clustering still necessary? 44 | 45 | Surprisingly, yes. Keeping records that are "near each other" in space "near each other" in memory increases the odds that related records will move up the servers "memory cache hierarchy" together, and thus make memory accesses faster. 46 | 47 | .. image:: ./screenshots/clustering5.png 48 | :class: inline 49 | 50 | System RAM is not the fastest memory on a modern computer. There are several levels of cache between system RAM and the actual CPU, and the underlying operating system and processor will move data up and down the cache hierarchy in blocks. If the block getting moved up happens to include the piece of data the system will need next... that's a big win. Correlating the memory structure with the spatial structure is a way in increase the odds of that win happening. 51 | 52 | Does Index Structure Matter? 53 | ---------------------------- 54 | 55 | In theory, yes. In practice, no really. As long as the index is a "pretty good" spatial decomposition of the data, the main determinant of performance will be the order of the actual table tuples. 56 | 57 | The difference between "no index" and "index" is generally huge and highly measurable. The difference between "mediocre index" and "great index" usually takes quite careful measurement to discern, and can be very sensitive to the workload being tested. 58 | 59 | 60 | Function List 61 | ------------- 62 | 63 | `CLUSTER `_: Re-orders the data in a table to match the ordering in the index. 64 | -------------------------------------------------------------------------------- /postgis-intro/sources/en/creating_db.rst: -------------------------------------------------------------------------------- 1 | .. _creating_db: 2 | 3 | Creating a Spatial Database 4 | =========================== 5 | 6 | PgAdmin 7 | ------- 8 | 9 | PostgreSQL has a number of administrative front-ends. The primary one is `psql `_, a command-line tool for entering SQL queries. Another popular PostgreSQL front-end is the free and open source graphical tool `pgAdmin `_. All queries done in pgAdmin can also be done on the command line with ``psql``. 10 | pgAdmin also includes a geometry viewer you can use to spatial view PostGIS queries. 11 | 12 | #. Find pgAdmin and start it up. 13 | 14 | .. image:: ./screenshots/pgadmin_01.png 15 | :class: inline 16 | 17 | #. If this is the first time you have run pgAdmin, you probably don't have any servers configured. Right click the ``Servers`` item in the Browser panel. 18 | 19 | We'll name our server **PostGIS**. In the Connection tab, enter the ``Host name/address``. If you're working with a local PostgreSQL install, you'll be able to use ``localhost``. If you're using a cloud service, you should be able to retrieve the host name from your account. 20 | 21 | Leave **Port** set at ``5432``, and both **Maintenance database** and **Username** as ``postgres``. The **Password** should be what you specified with a local install or with your cloud service. 22 | 23 | .. image:: ./screenshots/pgadmin_02a.png 24 | :class: inline 25 | 26 | Creating a Database 27 | ------------------- 28 | 29 | #. Open the Databases tree item and have a look at the available databases. The ``postgres`` database is the user database for the default postgres user and is not too interesting to us. 30 | 31 | #. Right-click on the ``Databases`` item and select ``New Database``. 32 | 33 | .. image:: ./screenshots/pgadmin_02.png 34 | :class: inline 35 | 36 | #. Fill in the ``Create Database`` form as shown below and click **OK**. 37 | 38 | .. list-table:: 39 | 40 | * - **Name** 41 | - ``nyc`` 42 | * - **Owner** 43 | - ``postgres`` 44 | 45 | 46 | .. image:: ./screenshots/pgadmin_03.png 47 | :class: inline 48 | 49 | #. Select the new ``nyc`` database and open it up to display the tree of objects. You'll see the ``public`` schema. 50 | 51 | .. image:: ./screenshots/pgadmin_04.png 52 | 53 | #. Click on the SQL query button indicated below (or go to *Tools > Query Tool*). 54 | 55 | .. image:: ./screenshots/pgadmin_05.png 56 | 57 | #. Enter the following query into the query text field to load the PostGIS spatial extension: 58 | 59 | .. code-block:: sql 60 | 61 | CREATE EXTENSION postgis; 62 | 63 | #. Click the **Play** button in the toolbar (or press **F5**) to "Execute the query." 64 | 65 | #. Now confirm that PostGIS is installed by running a PostGIS function: 66 | 67 | .. code-block:: sql 68 | 69 | SELECT postgis_full_version(); 70 | 71 | You have successfully created a PostGIS spatial database!! 72 | 73 | 74 | Function List 75 | ------------- 76 | 77 | `PostGIS_Full_Version `_: Reports full PostGIS version and build configuration info. 78 | -------------------------------------------------------------------------------- /postgis-intro/sources/en/equality/polygon-table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/polygon-table.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/equality/polygon1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/polygon1.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/equality/polygon2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/polygon2.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/equality/polygon3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/polygon3.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/equality/polygon4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/polygon4.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/equality/polygon5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/polygon5.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/equality/start13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/start13.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/equality/start14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/start14.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/equality/start15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/start15.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/equality/start17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/start17.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/geography/cartesian_spherical.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geography/cartesian_spherical.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/geography/lax_cdg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geography/lax_cdg.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/geography/lax_nrt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geography/lax_nrt.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/geography/lax_tok.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geography/lax_tok.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/geography_exercises.rst: -------------------------------------------------------------------------------- 1 | .. _geography_exercises: 2 | 3 | Geography Exercises 4 | =================== 5 | 6 | Here's a reminder of all the functions we have seen so far. They should be useful for the exercises! 7 | 8 | * :command:`Sum(number)` adds up all the numbers in the result set 9 | * :command:`ST_GeogFromText(text)` returns a geography 10 | * :command:`ST_Distance(geography, geography)` returns the distance between geographies 11 | * :command:`ST_Transform(geometry, srid)` returns geometry, in the new projection 12 | * :command:`ST_Length(geography)` returns the length of the line 13 | * :command:`ST_Intersects(geometry, geometry)` returns true if the objects are not disjoint in planar space 14 | * :command:`ST_Intersects(geography, geography)` returns true if the objects are not disjoint in spheroidal space 15 | 16 | Also remember the tables we have available: 17 | 18 | * ``nyc_streets`` 19 | 20 | * name, type, geom 21 | 22 | * ``nyc_neighborhoods`` 23 | 24 | * name, boroname, geom 25 | 26 | 27 | Exercises 28 | --------- 29 | 30 | * **How far is New York from Seattle? What are the units of the answer?** 31 | 32 | .. note:: 33 | 34 | New York = ``POINT(-74.0064 40.7142)`` and Seattle = ``POINT(-122.3331 47.6097)`` 35 | 36 | .. code-block:: sql 37 | 38 | SELECT ST_Distance( 39 | 'POINT(-74.0064 40.7142)'::geography, 40 | 'POINT(-122.3331 47.6097)'::geography 41 | ); 42 | 43 | :: 44 | 45 | 3875538.57141352 46 | 47 | 48 | * **What is the total length of all streets in New York, calculated on the spheroid?** 49 | 50 | .. code-block:: sql 51 | 52 | SELECT Sum( 53 | ST_Length(Geography( 54 | ST_Transform(geom,4326) 55 | ))) 56 | FROM nyc_streets; 57 | 58 | :: 59 | 60 | 10421999.666 61 | 62 | .. note:: 63 | 64 | The length calculated in the planar "UTM Zone 18" projection is 10418904.717, 0.02% different. UTM is good at preserving area and distance, within the zone boundaries. 65 | 66 | 67 | * **Does ‘POINT(1 2.0001)’ intersect with ‘POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))’ in geography? In geometry? Why the difference?** 68 | 69 | .. code-block:: sql 70 | 71 | SELECT ST_Intersects( 72 | 'POINT(1 2.0001)'::geography, 73 | 'POLYGON((0 0,0 2,2 2,2 0,0 0))'::geography 74 | ); 75 | 76 | SELECT ST_Intersects( 77 | 'POINT(1 2.0001)'::geometry, 78 | 'POLYGON((0 0,0 2,2 2,2 0,0 0))'::geometry 79 | ); 80 | 81 | :: 82 | 83 | true and false 84 | 85 | .. note:: 86 | 87 | The upper edge of the square is a straight line in geometry, and passes **below** the point, so the square does not contain the point. The upper edge of the square is a great circle in geography, and passes **above** the point, so the square does contain the point. 88 | 89 | -------------------------------------------------------------------------------- /postgis-intro/sources/en/geometries/represent-07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometries/represent-07.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/geometries/start01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometries/start01.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/geometries/start08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometries/start08.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/geometries/table01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometries/table01.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/geometry_returning/buffer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometry_returning/buffer.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/geometry_returning/centroid.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometry_returning/centroid.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/geometry_returning/intersection.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometry_returning/intersection.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/geometry_returning/liberty_negative.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometry_returning/liberty_negative.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/geometry_returning/liberty_positive.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometry_returning/liberty_positive.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/geometry_returning/st_buffer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometry_returning/st_buffer.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/geometry_returning/union.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometry_returning/union.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/geometry_returning/union_counties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometry_returning/union_counties.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/geometry_returning_exercises.rst: -------------------------------------------------------------------------------- 1 | .. _geometry_returning_exercises: 2 | 3 | Geometry Constructing Exercises 4 | =============================== 5 | 6 | Here's a reminder of some of the functions we have seen. Hint: they should be useful for the exercises! 7 | 8 | * :command:`sum(expression)` aggregate to return a sum for a set of records 9 | * :command:`ST_Area(geometry)` returns the area of the geometry 10 | * :command:`ST_Centroid(geometry)` returns the ``geometry`` centroid 11 | * :command:`ST_Transform(geometry, srid)` converts ``geometries`` into different spatial reference systems 12 | * :command:`ST_Buffer(geometry, radius)` returns an expanded ``geometry`` shape 13 | * :command:`ST_Contains(geometry1, geometry2)` returns true if geometry1 contains geometry2 14 | * :command:`ST_Union(geometry[])` returns the aggregate union of all geometries in the group 15 | * :command:`ST_GeometryType(geometry)` returns the type of the geometry 16 | * :command:`ST_NumGeometries(geometry)` returns the number of geometries in a collection or 1 for simple geometries 17 | * :command:`ST_Intersection(geometry, geometry)` returns the area that the two input geometries share in common 18 | 19 | 20 | Remember the tables we have available: 21 | 22 | * ``nyc_census_blocks`` 23 | 24 | * name, popn_total, boroname, geom 25 | 26 | * ``nyc_streets`` 27 | 28 | * name, type, geom 29 | 30 | * ``nyc_subway_stations`` 31 | 32 | * name, geom 33 | 34 | * ``nyc_neighborhoods`` 35 | 36 | * name, boroname, geom 37 | 38 | Exercises 39 | --------- 40 | 41 | * **How many census blocks don’t contain their own centroid?** 42 | 43 | .. code-block:: sql 44 | 45 | SELECT Count(*) 46 | FROM nyc_census_blocks 47 | WHERE NOT 48 | ST_Contains( 49 | geom, 50 | ST_Centroid(geom) 51 | ); 52 | 53 | :: 54 | 55 | 481 56 | 57 | * **Union all the census blocks into a single output. What kind of geometry is it? How many parts does it have?** 58 | 59 | .. code-block:: sql 60 | 61 | CREATE TABLE nyc_census_blocks_merge AS 62 | SELECT ST_Union(geom) AS geom 63 | FROM nyc_census_blocks; 64 | 65 | SELECT ST_GeometryType(geom) 66 | FROM nyc_census_blocks_merge; 67 | 68 | :: 69 | 70 | ST_MultiPolygon 71 | 72 | .. code-block:: sql 73 | 74 | SELECT ST_NumGeometries(geom) 75 | FROM nyc_census_blocks_merge; 76 | 77 | :: 78 | 79 | 63 80 | 81 | 82 | * **What is the area of a one unit buffer around the origin? How different is it from what you would expect? Why?** 83 | 84 | .. code-block:: sql 85 | 86 | SELECT ST_Area(ST_Buffer('POINT(0 0)', 1)); 87 | 88 | :: 89 | 90 | 3.121445152258052 91 | 92 | .. note:: 93 | 94 | A unit circle (circle with radius of one) should have an area of pi, 3.1415926... The difference is due to the linear stroking of the edges of the buffer. The buffer has a finite number of edges. Increasing the number of edges in the buffer will get the value closer to pi, but it will always be smaller due to the linearization. 95 | 96 | * **The Brooklyn neighborhoods of ‘Park Slope’ and ‘Carroll Gardens’ are going to war! Construct a polygon delineating a 100 meter wide DMZ on the border between the neighborhoods. What is the area of the DMZ?** 97 | 98 | .. code-block:: sql 99 | 100 | CREATE TABLE brooklyn_dmz AS 101 | SELECT 102 | ST_Intersection( 103 | ST_Buffer(ps.geom, 50), 104 | ST_Buffer(cg.geom, 50)) 105 | AS geom 106 | FROM 107 | nyc_neighborhoods ps, 108 | nyc_neighborhoods cg 109 | WHERE ps.name = 'Park Slope' 110 | AND cg.name = 'Carroll Gardens'; 111 | 112 | SELECT ST_Area(geom) FROM brooklyn_dmz; 113 | 114 | .. note:: 115 | 116 | It is easy to buffer both the neighborhoods of interest, but to get the intersection requires a self-join of the table, creating one relation (``ps``) with just the "Park Slope" record and another (``cg``) with just the "Carroll Gardens" record. Note that the area of the intersection is in square meters because we are still working in UTM 18 (EPSG:26918). 117 | 118 | :: 119 | 120 | 180990.964207547 121 | 122 | -------------------------------------------------------------------------------- /postgis-intro/sources/en/index.rst: -------------------------------------------------------------------------------- 1 | .. Introduction to PostGIS master file. 2 | 3 | Introduction to PostGIS 4 | ======================= 5 | 6 | Getting Started 7 | --------------- 8 | 9 | * This workshop uses a `data bundle `_. Download it and extract to a convenient location. 10 | 11 | * The **presentation deck** that goes with this workshop is available `on Google Slides `_. 12 | 13 | * The **cheat sheet** of SQL commands that are run in this workshop is `available here `_. 14 | 15 | 16 | Data Bundle 17 | ----------- 18 | 19 | Inside the data bundle, you will find: 20 | 21 | **data/** 22 | a directory containing the data files we will be loading 23 | 24 | **printing/** 25 | a directory containing the exercise pages and data model pages 26 | 27 | 28 | License & Copying 29 | ----------------- 30 | 31 | All the data in the package is public domain and freely redistributable. All the software in the package is open source, and freely redistributable. This workshop is licensed as Creative Commons "`share alike with attribution `_", and is freely redistributable under the terms of that license. 32 | 33 | 34 | Workshop Modules 35 | ---------------- 36 | 37 | .. toctree:: 38 | :maxdepth: 1 39 | :numbered: 40 | 41 | welcome 42 | introduction 43 | installation 44 | creating_db 45 | loading_data 46 | about_data 47 | simple_sql 48 | simple_sql_exercises 49 | geometries 50 | geometries_exercises 51 | spatial_relationships 52 | spatial_relationships_exercises 53 | joins 54 | joins_exercises 55 | indexing 56 | projection 57 | projection_exercises 58 | geography 59 | geography_exercises 60 | geometry_returning 61 | geometry_returning_exercises 62 | joins_advanced 63 | validity 64 | equality 65 | linear_referencing 66 | de9im 67 | clusterindex 68 | 3d 69 | knn 70 | rasters 71 | topology 72 | topology_base_types 73 | topology_topo_types 74 | history_tracking 75 | tuning 76 | security 77 | schemas 78 | backup 79 | upgrades 80 | advanced_geometry_construction 81 | 82 | postgis-functions 83 | glossary 84 | license 85 | 86 | 87 | Links to have on hand 88 | --------------------- 89 | 90 | * PostGIS - https://postgis.net/ 91 | 92 | - Docs - https://postgis.net/docs/ 93 | 94 | * PostgreSQL - https://www.postgresql.org/ 95 | 96 | - Docs - https://www.postgresql.org/docs/ 97 | - Downloads - https://www.postgresql.org/download/ 98 | - JDBC Driver - https://jdbc.postgresql.org/ 99 | - .Net Driver - https://www.npgsql.org/ 100 | - Python Driver - http://www.pygresql.org/ 101 | - C/C++ Driver - https://www.postgresql.org/docs/current/static/libpq.html 102 | 103 | * PgAdmin - https://www.pgadmin.org/ 104 | 105 | * Open Source Desktop Clients 106 | 107 | - QGIS - https://qgis.org/ 108 | - OpenJUMP - http://openjump.org/ 109 | - uDig - https://udig.github.io/ 110 | 111 | -------------------------------------------------------------------------------- /postgis-intro/sources/en/indexing/bbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/indexing/bbox.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/indexing/index-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/indexing/index-01.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/indexing/index-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/indexing/index-02.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/installation.rst: -------------------------------------------------------------------------------- 1 | .. _installation: 2 | 3 | Installation 4 | ============ 5 | 6 | To explore the PostgreSQL/PostGIS database, and learn about writing spatial queries in SQL, we will need some software, either installed locally or available remotely on the cloud. 7 | 8 | * There are instructions below on how to access PostgreSQL for installation on Windows or MacOS. PostgreSQL for Windows and MacOS either include PostGIS or have an easy way to add it on. 9 | * There are instructions below on how to install `PgAdmin `_. PgAdmin is a graphical database explorer and SQL editor which provides a "user facing" interface to the database engine that does all the work. 10 | 11 | For always up-to-date directions on installing PostgreSQL, go to the `PostgreSQL download page `_ and select the operating system you are using. 12 | 13 | 14 | PostgreSQL for Microsoft Windows 15 | -------------------------------- 16 | 17 | For a Windows install: 18 | 19 | #. Go to the `Windows PostgreSQL download page `_. 20 | 21 | #. Select the latest version of PostgreSQL and save the installer to disk. 22 | 23 | #. Run the installer and accept the defaults. 24 | 25 | #. Find and run the "StackBuilder" program that was installed with the database. 26 | 27 | #. Select the "Spatial Extensions" section and choose latest "PostGIS ..Bundle" option. 28 | 29 | .. image:: ./screenshots/install_windows_01.png 30 | :class: inline 31 | 32 | #. Accept the defaults and install. 33 | 34 | 35 | PostgreSQL for Apple MacOS 36 | -------------------------- 37 | 38 | For a MacOS install: 39 | 40 | #. Go to the `Postgres.app `_ site, and download the latest release. 41 | 42 | #. Open the disk image, and drag the **Postgres** icon into the **Applications** folder. 43 | 44 | .. image:: ./screenshots/install_macos_01.png 45 | :class: inline 46 | 47 | #. In the **Applications** folder, double-click the **Postgres** icon to start the server. 48 | 49 | #. Click the **Initialize** button to create a new blank database instance. 50 | 51 | .. image:: ./screenshots/install_macos_02.png 52 | :class: inline, border 53 | 54 | #. In the **Applications** folder, go to the **Utilities** folder and open **Terminal**. 55 | 56 | #. Add the command-line utilities to your `PATH` for convenience. 57 | 58 | :: 59 | 60 | sudo mkdir -p /etc/paths.d 61 | echo /Applications/Postgres.app/Contents/Versions/latest/bin | sudo tee /etc/paths.d/postgresapp 62 | 63 | 64 | PgAdmin for Windows and MacOS 65 | ----------------------------- 66 | 67 | PgAdmin is available for multiple platforms, at https://www.pgadmin.org/download/. 68 | 69 | #. Download and install the latest version for your platform. 70 | 71 | #. Start PgAdmin! 72 | 73 | .. image:: ./screenshots/install_pgadmin_01.png 74 | :class: inline 75 | 76 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /postgis-intro/sources/en/introduction/beginning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/introduction/beginning.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/introduction/boundingbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/introduction/boundingbox.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/introduction/hierarchy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/introduction/hierarchy.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/introduction/lines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/introduction/lines.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/introduction/mbr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/introduction/mbr.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/introduction/points.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/introduction/points.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/introduction/polygons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/introduction/polygons.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/license.rst: -------------------------------------------------------------------------------- 1 | .. _license: 2 | 3 | Appendix C: License 4 | =================== 5 | 6 | This work is licensed under the Creative Commons Attribution-Share Alike, United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. 7 | 8 | Our attribution requirement is that you retain the visible copyright notices in all materials. 9 | -------------------------------------------------------------------------------- /postgis-intro/sources/en/postgis-functions.rst: -------------------------------------------------------------------------------- 1 | .. _postgis-functions: 2 | 3 | Appendix A: PostGIS Functions 4 | ============================= 5 | 6 | Constructors 7 | ------------ 8 | 9 | :command:`ST_MakePoint(Longitude, Latitude)` 10 | Returns a new point. Note the order of the coordinates (longitude then latitude). 11 | 12 | :command:`ST_GeomFromText(WellKnownText, srid)` 13 | Returns a new geometry from a standard WKT string and srid. 14 | 15 | :command:`ST_SetSRID(geometry, srid)` 16 | Updates the srid on a geometry. Returns the same geometry. This does not alter the coordinates of the geometry, it just updates the srid. This function is useful for conditioning geometries created without an srid. 17 | 18 | :command:`ST_Expand(geometry, Radius)` 19 | Returns a new geometry that is an expanded bounding box of the input geometry. This function is useful for creating envelopes for use in indexed searches. 20 | 21 | Outputs 22 | ------- 23 | 24 | :command:`ST_AsText(geometry)` 25 | Returns a geometry in a human-readable text format. 26 | 27 | :command:`ST_AsGML(geometry)` 28 | Returns a geometry in standard OGC :term:`GML` format. 29 | 30 | :command:`ST_AsGeoJSON(geometry)` 31 | Returns a geometry to a standard `GeoJSON `_ format. 32 | 33 | Measurements 34 | ------------ 35 | 36 | :command:`ST_Area(geometry)` 37 | Returns the area of the geometry in the units of the spatial reference system. 38 | 39 | :command:`ST_Length(geometry)` 40 | Returns the length of the geometry in the units of the spatial reference system. 41 | 42 | :command:`ST_Perimeter(geometry)` 43 | Returns the perimeter of the geometry in the units of the spatial reference system. 44 | 45 | :command:`ST_NumPoints(linestring)` 46 | Returns the number of vertices in a linestring. 47 | 48 | :command:`ST_NumRings(polygon)` 49 | Returns the number of rings in a polygon. 50 | 51 | :command:`ST_NumGeometries(geometry)` 52 | Returns the number of geometries in a geometry collection. 53 | 54 | Relationships 55 | ------------- 56 | 57 | :command:`ST_Distance(geometry, geometry)` 58 | Returns the distance between two geometries in the units of the spatial reference system. 59 | 60 | :command:`ST_DWithin(geometry, geometry, radius)` 61 | Returns true if the geometries are within the radius distance of one another, otherwise false. 62 | 63 | :command:`ST_Intersects(geometry, geometry)` 64 | Returns true if the geometries are not disjoint, otherwise false. 65 | 66 | :command:`ST_Contains(geometry, geometry)` 67 | Returns true if the first geometry fully contains the second geometry, otherwise false. 68 | 69 | :command:`ST_Crosses(geometry, geometry)` 70 | Returns true if a line or polygon boundary crosses another line or polygon boundary, otherwise false. 71 | -------------------------------------------------------------------------------- /postgis-intro/sources/en/rasters/hello-ny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/hello-ny.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/rasters/hello-raster-ny-mean.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/hello-raster-ny-mean.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/rasters/hello-raster-ny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/hello-raster-ny.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/rasters/hello.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/hello.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/rasters/postgis_raster.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/postgis_raster.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/rasters/postgis_raster.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/postgis_raster.odg -------------------------------------------------------------------------------- /postgis-intro/sources/en/rasters/raster-hello-ny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/raster-hello-ny.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/rasters/raster-ny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/raster-ny.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/rasters/raster-st-pixel-as-polygons-pgAdmin-Grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/raster-st-pixel-as-polygons-pgAdmin-Grid.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/rasters/raster-st-pixel-as-polygons-pgAdmin-geomviewer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/raster-st-pixel-as-polygons-pgAdmin-geomviewer.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/rasters/raster_as_geometry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/raster_as_geometry.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/rasters/st-dump-as-polygons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/st-dump-as-polygons.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/rasters/st_colormap_ny_dem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/st_colormap_ny_dem.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/rasters/st_transform_nooverlaps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/st_transform_nooverlaps.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/rasters/st_transform_overlaps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/st_transform_overlaps.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/backup1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/backup1.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/backup2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/backup2.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/backup3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/backup3.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/backup4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/backup4.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/backup5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/backup5.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/centroid_neighborhood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/centroid_neighborhood.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/clustering1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/clustering1.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/clustering2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/clustering2.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/clustering3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/clustering3.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/clustering4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/clustering4.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/clustering5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/clustering5.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/collection.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/collection2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/collection2.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/dashboard_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/dashboard_01.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/dashboard_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/dashboard_02.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/data_loading_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/data_loading_1.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/data_loading_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/data_loading_2.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/data_loading_2a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/data_loading_2a.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/data_loading_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/data_loading_3.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/data_loading_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/data_loading_4.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/de9im1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im1.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/de9im10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im10.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/de9im11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im11.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/de9im12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im12.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/de9im2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im2.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/de9im3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im3.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/de9im4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im4.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/de9im5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im5.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/de9im6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im6.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/de9im7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im7.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/de9im8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im8.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/de9im9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im9.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/install_components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_components.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/install_directory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_directory.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/install_finish.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_finish.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/install_installing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_installing.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/install_license.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_license.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/install_macos_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_macos_01.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/install_macos_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_macos_02.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/install_pgadmin_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_pgadmin_01.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/install_ready.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_ready.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/install_startmenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_startmenu.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/install_welcome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_welcome.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/install_windows_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_windows_01.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/knn1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/knn1.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/knn2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/knn2.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/knn3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/knn3.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/knn4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/knn4.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/knn5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/knn5.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/lrs1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/lrs1.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/nyc_census_blocks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/nyc_census_blocks.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/nyc_neighborhoods.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/nyc_neighborhoods.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/nyc_streets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/nyc_streets.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/nyc_subway_stations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/nyc_subway_stations.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/nyc_tracts_flatbush.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/nyc_tracts_flatbush.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/pgadmin_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_01.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/pgadmin_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_02.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/pgadmin_02a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_02a.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/pgadmin_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_03.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/pgadmin_03a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_03a.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/pgadmin_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_04.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/pgadmin_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_05.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/pgadmin_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_06.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/pgadmin_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_07.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/pgadmin_08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_08.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/pgadmin_09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_09.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/pgshapeloader_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgshapeloader_01.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/pgshapeloader_01a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgshapeloader_01a.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/pgshapeloader_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgshapeloader_02.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/pgshapeloader_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgshapeloader_03.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/polygons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/polygons.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/prj2epsg_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/prj2epsg_01.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/qgis_dbmanager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/qgis_dbmanager.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/refresh.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/schemas.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/schemas.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/ssl_conf.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/ssl_conf.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/ssl_create.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/ssl_create.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/ssl_props.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/ssl_props.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/screenshots/subways_buffered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/subways_buffered.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/spatial_relationships/atlantic_commons.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/atlantic_commons.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/spatial_relationships/broad_st.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/broad_st.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/spatial_relationships/cortland.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/cortland.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/en/spatial_relationships/distance-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/distance-01.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/spatial_relationships/st_buffer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_buffer.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/spatial_relationships/st_crosses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_crosses.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/spatial_relationships/st_disjoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_disjoint.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/spatial_relationships/st_dwithin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_dwithin.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/spatial_relationships/st_equals.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_equals.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/spatial_relationships/st_intersection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_intersection.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/spatial_relationships/st_intersects.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_intersects.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/spatial_relationships/st_overlaps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_overlaps.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/spatial_relationships/st_touches.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_touches.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/spatial_relationships/st_within.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_within.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/spatial_relationships_exercises.rst: -------------------------------------------------------------------------------- 1 | .. _spatial_relationships_exercises: 2 | 3 | Spatial Relationships Exercises 4 | =============================== 5 | 6 | Here's a reminder of the functions we saw in the last section. They should be useful for the exercises! 7 | 8 | * :command:`sum(expression)` aggregate to return a sum for a set of records 9 | * :command:`count(expression)` aggregate to return the size of a set of records 10 | * :command:`ST_Contains(geometry A, geometry B)` returns true if geometry A contains geometry B 11 | * :command:`ST_Crosses(geometry A, geometry B)` returns true if geometry A crosses geometry B 12 | * :command:`ST_Disjoint(geometry A , geometry B)` returns true if the geometries do not "spatially intersect" 13 | * :command:`ST_Distance(geometry A, geometry B)` returns the minimum distance between geometry A and geometry B 14 | * :command:`ST_DWithin(geometry A, geometry B, radius)` returns true if geometry A is radius distance or less from geometry B 15 | * :command:`ST_Equals(geometry A, geometry B)` returns true if geometry A is the same as geometry B 16 | * :command:`ST_Intersects(geometry A, geometry B)` returns true if geometry A intersects geometry B 17 | * :command:`ST_Overlaps(geometry A, geometry B)` returns true if geometry A and geometry B share space, but are not completely contained by each other. 18 | * :command:`ST_Touches(geometry A, geometry B)` returns true if the boundary of geometry A touches geometry B 19 | * :command:`ST_Within(geometry A, geometry B)` returns true if geometry A is within geometry B 20 | 21 | Also remember the tables we have available: 22 | 23 | * ``nyc_census_blocks`` 24 | 25 | * blkid, popn_total, boroname, geom 26 | 27 | * ``nyc_streets`` 28 | 29 | * name, type, geom 30 | 31 | * ``nyc_subway_stations`` 32 | 33 | * name, geom 34 | 35 | * ``nyc_neighborhoods`` 36 | 37 | * name, boroname, geom 38 | 39 | Exercises 40 | --------- 41 | 42 | * **What is the geometry value for the street named 'Atlantic Commons'?** 43 | 44 | .. code-block:: sql 45 | 46 | SELECT ST_AsText(geom) 47 | FROM nyc_streets 48 | WHERE name = 'Atlantic Commons'; 49 | 50 | :: 51 | 52 | MULTILINESTRING((586781.701577724 4504202.15314339,586863.51964484 4504215.9881701)) 53 | 54 | * **What neighborhood and borough is Atlantic Commons in?** 55 | 56 | .. code-block:: sql 57 | 58 | SELECT name, boroname 59 | FROM nyc_neighborhoods 60 | WHERE ST_Intersects( 61 | geom, 62 | ST_GeomFromText('LINESTRING(586782 4504202,586864 4504216)', 26918) 63 | ); 64 | 65 | :: 66 | 67 | name | boroname 68 | ------------+---------- 69 | Fort Green | Brooklyn 70 | 71 | .. note:: 72 | 73 | "Hey, why did you change from a 'MULTILINESTRING' to a 'LINESTRING'?" Spatially they describe the same shape, so going from a single-item multi-geometry to a singleton saves a few keystrokes. 74 | 75 | More importantly, we also rounded the coordinates to make them easier to read, which does actually change results: we couldn't use the ST_Touches() predicate to find out which roads join Atlantic Commons, because the coordinates are not exactly the same anymore. 76 | 77 | 78 | * **What streets does Atlantic Commons join with?** 79 | 80 | .. code-block:: sql 81 | 82 | SELECT name 83 | FROM nyc_streets 84 | WHERE ST_DWithin( 85 | geom, 86 | ST_GeomFromText('LINESTRING(586782 4504202,586864 4504216)', 26918), 87 | 0.1 88 | ); 89 | 90 | :: 91 | 92 | name 93 | ------------------ 94 | Cumberland St 95 | Atlantic Commons 96 | 97 | .. image:: ./spatial_relationships/atlantic_commons.jpg 98 | 99 | 100 | * **Approximately how many people live on (within 50 meters of) Atlantic Commons?** 101 | 102 | .. code-block:: sql 103 | 104 | SELECT Sum(popn_total) 105 | FROM nyc_census_blocks 106 | WHERE ST_DWithin( 107 | geom, 108 | ST_GeomFromText('LINESTRING(586782 4504202,586864 4504216)', 26918), 109 | 50 110 | ); 111 | 112 | :: 113 | 114 | 1438 115 | 116 | -------------------------------------------------------------------------------- /postgis-intro/sources/en/topology/basic_types.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/basic_types.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/topology/boros_topogeom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/boros_topogeom.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/topology/boros_universal_face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/boros_universal_face.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/topology/components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/components.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/topology/edge_left_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/edge_left_right.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/topology/edge_perspective.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/edge_perspective.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/topology/face_directions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/face_directions.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/topology/geomtable2topotable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/geomtable2topotable.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/topology/hierarchy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/hierarchy.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/topology/next_edge_base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/next_edge_base.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/topology/next_edge_one_edge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/next_edge_one_edge.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/topology/next_edge_one_edge_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/next_edge_one_edge_left.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/topology/next_edge_one_edge_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/next_edge_one_edge_right.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/topology/next_left_edge_perspective.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/next_left_edge_perspective.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/topology/next_right_edge_perspective.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/next_right_edge_perspective.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/topology/read_topoelement.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/read_topoelement.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/topology/topo_keys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/topo_keys.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/topology/topogeo2components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/topogeo2components.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/topology/topology_main_concept.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/topology_main_concept.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/tuning/conf01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf01.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/tuning/conf02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf02.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/tuning/conf03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf03.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/tuning/conf04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf04.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/tuning/conf05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf05.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/tuning/conf06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf06.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/tuning/conf07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf07.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/tuning/conf08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf08.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/tuning/conf09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf09.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/tuning/conf10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf10.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/validity/banana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/validity/banana.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/validity/figure_eight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/validity/figure_eight.png -------------------------------------------------------------------------------- /postgis-intro/sources/en/welcome.rst: -------------------------------------------------------------------------------- 1 | .. _welcome: 2 | 3 | Welcome 4 | ******* 5 | 6 | Workshop Conventions 7 | ==================== 8 | 9 | These sections conform to a number of conventions to make it easier to follow the conversation. This section gives a brief overview of what to expect in the way of typographic conventions, as well as a short overview of the structure of each workbook. 10 | 11 | Directions 12 | ---------- 13 | 14 | Directions for you, the workshop attendee, will be noted by **bold** font. 15 | 16 | For example: 17 | 18 | Click **Next** to continue. 19 | 20 | Code 21 | ---- 22 | 23 | SQL query examples will be displayed in an offset box 24 | 25 | .. code-block:: sql 26 | 27 | SELECT postgis_full_version(); 28 | 29 | These examples can be entered into the query window or command line interface. 30 | 31 | Notes 32 | ----- 33 | 34 | Notes are used to provide information that is useful but not critical to the overall understanding of the topic. 35 | 36 | .. note:: If you haven't eaten an apple today, the doctor may be on the way. 37 | 38 | Functions 39 | --------- 40 | 41 | Where function names are defined in the text, they will be rendered in a :command:`bold` font. 42 | 43 | For example: 44 | 45 | :command:`ST_Touches(geometry A, geometry B)` returns TRUE if either of the geometries' boundaries intersect 46 | 47 | Files, Tables and Column Names 48 | ------------------------------ 49 | 50 | File names, paths, table names and column names will be shown in ``fixed-width`` font. 51 | 52 | For example: 53 | 54 | Select the ``name`` column in the ``nyc_streets`` table. 55 | 56 | Menus and Form elements 57 | ----------------------- 58 | 59 | Menus/submenus and form elements such as fields or check boxes and other on-screen artifacts are displayed in *italics*. 60 | 61 | For example: 62 | 63 | Click on the *File > New* menu. Check the box that says *Confirm*. 64 | 65 | Workflow 66 | -------- 67 | 68 | Sections are designed to be progressive. Each section will start with the assumption that you have completed and understood the previous section in the series and will build on that knowledge. A single section will progress through a handful of ideas and provide working examples wherever possible. At the end of a section, where appropriate, we have included a handful of exercises to allow you to try out the ideas we've presented. In some cases the section will include "Things To Try". These tasks contain more complex problems than the exercises and is designed to challenge participants with advanced knowledge. 69 | -------------------------------------------------------------------------------- /postgis-intro/sources/jp/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = sphinx-build 7 | PAPER = 8 | 9 | # Internal variables. 10 | DOC = ../../doc/jp 11 | PAPEROPT_a4 = -D latex_paper_size=a4 12 | PAPEROPT_letter = -D latex_paper_size=letter 13 | ALLSPHINXOPTS = -d $(DOC)/.build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . 14 | 15 | .PHONY: help clean html web pickle htmlhelp latex changes linkcheck 16 | 17 | help: 18 | @echo "Please use \`make ' where is one of" 19 | @echo " html to make standalone HTML files" 20 | @echo " pickle to make pickle files (usable by e.g. sphinx-web)" 21 | @echo " htmlhelp to make HTML files and a HTML help project" 22 | @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" 23 | @echo " changes to make an overview over all changed/added/deprecated items" 24 | @echo " linkcheck to check all external links for integrity" 25 | 26 | clean: 27 | -rm -rf $(DOC) 28 | 29 | html: 30 | mkdir -p ../../doc $(DOC) $(DOC)/.build/doctrees 31 | $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(DOC) 32 | @echo 33 | @echo "Build finished. The HTML pages are in $(DOC)." 34 | 35 | # find $(DOC) -name .svn -type d -exec /bin/rm -rf {} ';' 36 | 37 | pickle: 38 | mkdir -p $(DOC)/.build/pickle $(DOC)/.build/doctrees 39 | $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(DOC)/.build/pickle 40 | @echo 41 | @echo "Build finished; now you can process the pickle files or run" 42 | @echo " sphinx-web $(DOC)/.build/pickle" 43 | @echo "to start the sphinx-web server." 44 | 45 | web: pickle 46 | 47 | htmlhelp: 48 | mkdir -p $(DOC)/.build/htmlhelp $(DOC)/.build/doctrees 49 | $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(DOC)/.build/htmlhelp 50 | @echo 51 | @echo "Build finished; now you can run HTML Help Workshop with the" \ 52 | ".hhp project file in $(DOC)/.build/htmlhelp." 53 | 54 | latex: 55 | mkdir -p $(DOC)/.build/latex $(DOC)/.build/doctrees 56 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(DOC)/.build/latex 57 | @echo 58 | @echo "Build finished; the LaTeX files are in $(DOC)/.build/latex." 59 | @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \ 60 | "run these through (pdf)latex." 61 | 62 | #sed -i bak 's/includegraphics/includegraphics\[scale=0.45\]/g' "$(DOC)/.build/latex/PostGISIntro.tex" 63 | 64 | changes: 65 | mkdir -p $(DOC)/.build/changes $(DOC)/.build/doctrees 66 | $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(DOC)/.build/changes 67 | @echo 68 | @echo "The overview file is in $(DOC)/.build/changes." 69 | 70 | linkcheck: 71 | mkdir -p $(DOC)/.build/linkcheck $(DOC)/.build/doctrees 72 | $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(DOC)/.build/linkcheck 73 | @echo 74 | @echo "Link check complete; look for any errors in the above output " \ 75 | "or in $(DOC)/.build/linkcheck/output.txt." 76 | -------------------------------------------------------------------------------- /postgis-intro/sources/jp/creating_db.rst: -------------------------------------------------------------------------------- 1 | .. _creating_db: 2 | 3 | 第3章: 空間データベースの作成 4 | ====================================== 5 | 6 | DashboardとPgAdmin 7 | ------------------------- 8 | 9 | "Dashboard"は、OpenGeoスイートのすべての部分にアクセスする主要なアプリケーションです。 10 | 11 | 最初にDashboardを起動すると、GeoServerにアクセスするためのデフォルトのパスワードに関しての画面が表示されます。 12 | 13 | .. image:: ./screenshots/dashboard_01.png 14 | 15 | .. note:: 16 | 17 | PostGISは、無制限のアクセス権を持つローカルユーザーでインストールされています。もし、リモートコンピュータから接続する場合は、ユーザーは、 "postgres" 、パスワードは "postgres" を指定して下さい。 18 | 19 | ここでは、Dashboardの「PostGIS」を使用することになります。 20 | 21 | #. 最初に、PostGISを起動する必要があります。Dashboardの右上隅の緑色の **Start** ボタンをクリックします。 22 | 23 | #. Suiteが初めて起動したときは、データ領域を初期化して、template databasesが設定されます。これは数分かかることがあります。Suiteの起動後、pdAdminを起動するためにComponentsのPostGISに存在する **Manage** オプションをクリックすることができます。 24 | 25 | .. image:: ./screenshots/dashboard_02.png 26 | 27 | .. note:: 28 | 29 | PostgreSQLには、多くの管理用のフロントエンドがあります。プライマリは、SQLを入力するためのコマンドラインツール `psql `_ があります。その他にも人気があるPostgreSQLのフロントエンドは、オープンソースのツールとして、 `pgAdmin `_ があります。 30 | 31 | #. もし、pgAdminが初めてインストールされた場合は、pgAdminにおいて構成された **PostGIS(localhost: 54321)** のためのサーバエントリーがあります。PostGISエントリーをダブルクリックすると、データベースに接続するためにパスワードが求められますのでパスワードを入力してください。 32 | 33 | .. image:: ./screenshots/pgadmin_01.png 34 | 35 | .. note:: 36 | 37 | お使いのコンピュータにPgAdminをインストールしている場合は、 **(localhost: 54321)** のエントリーは必要ありません。新しい接続を作成する必要があります。OpenGeoスイートのPostGISに接続するには、*File > Add Server*に移動して、 **localhost** とポート **54321** (標準ではないポート番号にしてください)で新しいサーバを登録してください。 38 | 39 | データベースの作成 40 | ------------------- 41 | PostgreSQLには、新しいデータベースを初期化するために使用できる **template database** の考えがあります。新しいデータベースが自動的にテンプレートからすべての情報を自動的に取得します。PostGISをインストールすると、 ``template_postgis`` を使用して空間情報が有効になるデータベースが作成されます。新しい空間データベースを作成する場合には ``template_postgis`` を使用します。 42 | 43 | #. データベースのツリー項目を開き、利用可能なデータベースを見てください。``postgres`` データベースは、デフォルトのpostgresユーザへのユーザデータベースです。``template_postgis``は、空間データベースを作成するために使用されます。 44 | 45 | #. ``Databases``項目を選択し、``New Database``上で右クリックしてください。 46 | 47 | .. image:: ./screenshots/pgadmin_01.png 48 | 49 | .. note:: 50 | 51 | もし、データベース( ``template_postgis`` )が、他のユーザによってアクセスされていることを示すエラーが表示される場合は、 ``PostGIS (localhost:54321)`` 項目上で、右クリックして、 ``Disconnect`` を選択してください。再接続して、再度、同じ項目をダブルクリックしてください。 52 | 53 | #. ``New Database`` には、以下に示すように設定して、 **OK** をクリックしてください。 54 | 55 | .. list-table:: 56 | 57 | * - **Name** 58 | - ``nyc`` 59 | * - **Owner** 60 | - ``postgres`` 61 | * - **Encoding** 62 | - ``UTF8`` 63 | * - **Template** 64 | - ``template_postgis`` 65 | 66 | .. image:: ./screenshots/pgadmin_03.png 67 | 68 | #. 新しい ``nyc`` データベースを選択してください。以下に示すようにobjectsのツリーが表示されます。Schemasの ``public`` 配下のTablesには、PostGIS固有のテーブルである ``geometry_columns`` と ``spatial_ref_sys`` が存在します。 69 | 70 | .. image:: ./screenshots/pgadmin_04.png 71 | 72 | #. 以下に示したSQLボタンをクリックしてください。(または、 *Tools > Query Tool* を選択してください) 73 | 74 | .. image:: ./screenshots/pgadmin_05.png 75 | 76 | #. SQLのテキストフィールドに次のSQL文を入力してください。 77 | 78 | .. code-block:: sql 79 | 80 | SELECT postgis_full_version(); 81 | 82 | .. note:: 83 | 84 | これは、最初のSQL文になります。 ``postgis_full_version()`` は、PostGISのバージョン情報とコンフィギュレーション情報を返します。 85 | 86 | #. ツールバーの **Play** ボタン、または、 **F5** を押して、クエリーを実行してください。PostGISは、データベースが適切で有効になっていることを確認して、以下の内容を表示します。 87 | 88 | .. image:: ./screenshots/pgadmin_06.png 89 | 90 | PostGIS空間データベースの作成に成功しました! 91 | 92 | 関数一覧 93 | ------------- 94 | 95 | `PostGISのフルバージョン `_ : レポートは、完全なPostGISのバージョン情報とコンフィギュレーション情報を報告します。 96 | -------------------------------------------------------------------------------- /postgis-intro/sources/jp/equality.rst: -------------------------------------------------------------------------------- 1 | .. _equality: 2 | 3 | 第22章:等値性 4 | ================================= 5 | 6 | 等値 7 | -------- 8 | 9 | ジオメトリを取り扱う際に等値を判別するのはややこしくなりがちです。PostGISは、透明性のためには下記の定義が用いたれますが、異なるレベルの等値を判別する目的の3種類の関数をサポートしています。これらの関数を描くためには、次のようなポリゴンを用います。 10 | 11 | .. image:: ./equality/polygon-table.png 12 | 13 | これらのポリゴンは、以下のコマンドを用いてロードされます。 14 | 15 | .. code-block:: sql 16 | 17 | CREATE TABLE polygons (name varchar, poly geometry); 18 | 19 | INSERT INTO polygons VALUES 20 | ('Polygon 1', 'POLYGON((-1 1.732,1 1.732,2 0,1 -1.732, 21 | -1 -1.732,-2 0,-1 1.732))'), 22 | ('Polygon 2', 'POLYGON((-1 1.732,-2 0,-1 -1.732,1 -1.732, 23 | 2 0,1 1.732,-1 1.732))'), 24 | ('Polygon 3', 'POLYGON((1 -1.732,2 0,1 1.732,-1 1.732, 25 | -2 0,-1 -1.732,1 -1.732))'), 26 | ('Polygon 4', 'POLYGON((-1 1.732,0 1.732, 1 1.732,1.5 0.866, 27 | 2 0,1.5 -0.866,1 -1.732,0 -1.732,-1 -1.732,-1.5 -0.866, 28 | -2 0,-1.5 0.866,-1 1.732))'), 29 | ('Polygon 5', 'POLYGON((-2 -1.732,2 -1.732,2 1.732, 30 | -2 1.732,-2 -1.732))'); 31 | 32 | SELECT Populate_Geometry_Columns(); 33 | 34 | .. image:: ./equality/start13.png 35 | 36 | 完全等値 37 | ^^^^^^^^^^^^^ 38 | 39 | 完全等値は、二つのポリゴンについて、位置が同じであることを確認するために、頂点を順に比較することで決定されます。以下の例は、この手法が有効性においてどう制限されることがあるかを示してます。 40 | 41 | .. code-block:: sql 42 | 43 | SELECT a.name, b.name, CASE WHEN ST_OrderingEquals(a.poly, b.poly) 44 | THEN 'Exactly Equal' ELSE 'Not Exactly Equal' end 45 | FROM polygons as a, polygons as b; 46 | 47 | .. image:: ./equality/start14.png 48 | 49 | この例では、ポリゴンはそれぞれ自身に等しいのみで、その他の外見は同等なポリゴン(Polygon 1から3の例)とは等しくありません。Polygon 1,2,3の場合、頂点は位置は同一ですが、順序が異なっています。Polygon 4はPolygon 1と同等でなくなるような、六角形の辺の上に同一線上で冗長な頂点があります。 50 | 51 | 空間等値 52 | ^^^^^^^^^^^^^^^ 53 | 54 | 上で見たように、完全等値はジオメトリの空間的性質を考慮しません。ジオメトリの空間的な等値あるいは等価を試すために、`ST_Equals`と適切に名付けられた関数があります。 55 | 56 | .. code-block:: sql 57 | 58 | SELECT a.name, b.name, CASE WHEN ST_Equals(a.poly, b.poly) 59 | THEN 'Spatially Equal' ELSE 'Not Equal' end 60 | FROM polygons as a, polygons as b; 61 | 62 | .. image:: ./equality/start15.png 63 | 64 | これらの結果は、等値の直感的な理解に合致しています。Polygon 1から4は同じ領域を閉じているため等値と見なされます。ポリゴンが描かれる方向、ポリゴンを定義するための始点、点の数は、ここではいずれも重要ではありません。重要なことは、ポリゴンが同じ空間を含んでいると言うことです。 65 | 66 | 等値境界 67 | ^^^^^^^^^^^^ 68 | 69 | 完全等値は最悪の場合、等値を判別するためにジオメトリのすべての頂点を比較することを必要とします。これは時間がかかりますし、ジオメトリの膨大な数の比較を行うには適切でないこともあります。スピーディな比較をするためには、等値境界演算子の、`=`が用意されています。この演算子はバウンディングボックス(矩形)上のみで、ジオメトリが同じ二次元の範囲を専有している(しかし同じ空間の必要はありません)ことを確認しながら動作します。 70 | 71 | .. code-block:: sql 72 | 73 | SELECT a.name, b.name, CASE WHEN a.poly = b.poly 74 | THEN 'Equal Bounds' ELSE 'Non-equal Bounds' end 75 | FROM polygons as a, polygons as b; 76 | 77 | .. image:: ./equality/start17.png 78 | 79 | ご覧のように、すべての空間的に等値なジオメトリは等値な境界を持ちます。残念ながら、Polygon 5も、この試験では等値を返します。なぜならそれは同一のバウンディングボックスをその他のジオメトリとして共有しているからです。では、これは使い物になるのでしょうか。この答えは後ほど詳しく説明しますが、手短に答えますと、この演算子によって、データの結合やフィルタリングを行う際に、膨大な比較セットを管理しやすいブロックに低減するという、空間インデックスの利用が可能となります。 80 | -------------------------------------------------------------------------------- /postgis-intro/sources/jp/equality/polygon-table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/polygon-table.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/equality/polygon1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/polygon1.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/equality/polygon2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/polygon2.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/equality/polygon3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/polygon3.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/equality/polygon4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/polygon4.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/equality/polygon5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/polygon5.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/equality/start13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/start13.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/equality/start14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/start14.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/equality/start15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/start15.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/equality/start17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/start17.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/favicon.ico -------------------------------------------------------------------------------- /postgis-intro/sources/jp/geography/cartesian_spherical.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geography/cartesian_spherical.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/jp/geography/lax_cdg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geography/lax_cdg.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/jp/geography/lax_nrt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geography/lax_nrt.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/geography/lax_tok.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geography/lax_tok.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/jp/geometries/represent-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometries/represent-04.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/geometries/represent-05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometries/represent-05.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/geometries/represent-06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometries/represent-06.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/geometries/represent-07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometries/represent-07.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/geometries/start01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometries/start01.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/geometries/start08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometries/start08.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/geometries/table01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometries/table01.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/geometry_returning/buffer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometry_returning/buffer.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/geometry_returning/centroid.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometry_returning/centroid.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/jp/geometry_returning/intersection.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometry_returning/intersection.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/jp/geometry_returning/liberty_negative.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometry_returning/liberty_negative.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/jp/geometry_returning/liberty_positive.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometry_returning/liberty_positive.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/jp/geometry_returning/st_buffer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometry_returning/st_buffer.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/geometry_returning/union.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometry_returning/union.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/jp/geometry_returning/union_counties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometry_returning/union_counties.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/glossary.rst: -------------------------------------------------------------------------------- 1 | .. _glossary: 2 | 3 | 付録 B: 用語解説 4 | ==================== 5 | 6 | .. glossary:: 7 | 8 | CRS 9 | 座標参照系のことで、測地座標系と投影座標系の組み合わせからなります。 10 | 11 | GDAL 12 | `Geospatial Data Abstraction Library `_ の略で、オープンソースのラスタ・アクセス・ライブラリです。多様なフォーマットに対応し、オープンソース・ソフトウェアとプロプライエタリ・ソフトウェアの両方で幅広く利用されています。"GOO-duhl"と発音します。 13 | 14 | GeoJSON 15 | JavaScriptバーチャルマシン上で非常に高速に解析可能なテキストフォーマットのことで、"Javascript Object Notation"の略です。空間分野では `GeoJSON `_ という拡張仕様が一般的に利用されています。 16 | 17 | GIS 18 | `Geographic information system `_ 、もしくは、"geographical information system"。位置情報に関連するデータの取込み、保存、分析、管理、表現するためのシステムです。 19 | 20 | GML 21 | `Geography Markup Language `_ の略です。GMLは:term:`OGC`スタンダードの規約で、空間的なフィーチャ情報を表現するためのXMLフォーマットです。 22 | 23 | JSON 24 | JavaScriptバーチャルマシン上で非常に高速にパース可能なテキストフォーマットのことで、"Javascript Object Notation"の略です。空間分野では `GeoJSON `_ という拡張仕様が一般的に利用されています。 25 | 26 | JSTL 27 | :term:`JSP`用のタグライブラリである"JavaServer Page Template Library"の略で、JSPにおいてデータベースへの問い合わせや、繰り返し、条件文などをハンドリングする多数の標準関数を、簡潔な構文にカプセル化したものです。 28 | 29 | JSP 30 | "JavaServer Pages"の略で、マークアップとJavaの実行コードのインタリーブを可能にするJavaサーバ・アプリケーション用のスクリプト・システムのことです。 31 | 32 | KML 33 | "Keyhole Markup Language"の略で、Google Earthで利用されている空間的なXMLフォーマットのことです。Google Earthは当初は"Keyhole"という名前の会社によって開発されたため、その名称に名残が残っています。 34 | 35 | OGC 36 | `The Open Geospatial Consortium `_ (OGC)は、地理空間サービスの仕様を整備する標準機関です。 37 | 38 | OSGeo 39 | `The Open Source Geospatial Foundation `_ (OSGeo)は、オープンソース地理空間システムの促進とサポートに献身する非営利財団です。 40 | 41 | SFSQL 42 | `Simple Features for SQL `_ (SFSQL)は、標準的な空間データベースを構築するためのデータ型や関数を定義した:term:`OGC`の仕様です。 43 | 44 | SLD 45 | `Styled Layer Descriptor `_ (SLD)は、:term:`OGC`によって定義されている、ベクタ・フィーチャーを地図上にどのようにレンダリングするかを記述するフォーマットの仕様です。 46 | 47 | SRID 48 | "Spatial reference ID"の略で、特定の"空間参照系"にユニークな数値を割り当てたものです。PostGISの**spatial_ref_sys**テーブルには、よく利用される非常に多くSRIDと、テキスト表現された座標参照系が格納されています。 49 | 50 | SQL 51 | "Structured query language"の略で、リレーショナルデータベースへの問い合わせに利用される標準的な言語です。詳しくは http://ja.wikipedia.org/wiki/SQL を参照してください。 52 | 53 | SQL/MM 54 | `SQL Multimedia `_ の略です。拡張データ型の項もいくつか含まれており、さらにそこには相当数の空間データ型が記述されています。 55 | 56 | SVG 57 | "Scalable vector graphics"の略で、静的・動的(対話式やアニメーション)に2次元のベクターグラフィックを描画するための、XMLをベースとするフォーマット仕様です。詳しくは http://ja.wikipedia.org/wiki/Scalable_Vector_Graphics を参照してください。 58 | 59 | WFS 60 | `Web Feature Service `_ (WFS) は :term:`OGC` によって定義されている、Webを通じた地理的フィーチャーの入出力インタフェース仕様のことです。 61 | 62 | WMS 63 | `Web Map Service `_ (WMS) は :term:`OGC` によって定義されている、レンダリングされた地図画像をWebを通してリクエストするためのインタフェース仕様です。 64 | 65 | WKB 66 | "Well-known binary"の略です。Simple Feature for SQL(:term:`SFSQL`)の、ジオメトリのバイナリ表現を参照してください。 67 | 68 | WKT 69 | "Well-known text"の略です。"POINT"、"LINESTRING"、"POLYGON"などで始まる、ジオメトリをテキスト表現した文字列のことか、"PROJCS"、"GEOGCS"などで始まる、:term:`CRS` をテキスト表現したものを指します。WKT表現は :term:`OGC` 標準ですが、固有の仕様書はありません。ジオメトリとCRSについてのWKTが最初に登場したのは、 :term:`SFSQL` のバージョン1.0の仕様書です。 70 | -------------------------------------------------------------------------------- /postgis-intro/sources/jp/index.rst: -------------------------------------------------------------------------------- 1 | .. Introduction to PostGIS master file. 2 | 3 | PostGIS入門 4 | ======================= 5 | 6 | はじめに 7 | --------------- 8 | 9 | * このワークショップでは、ソフトウェアとデータ一式をまとめた以下のZIPファイルを使用します。 10 | http://s3.opengeo.org/postgisintro-2010-2.zip 11 | * ZIPファイルをダウンロードして適当な場所に解凍してください。 12 | 13 | ワークショップで使用するもの 14 | ------------------ 15 | 16 | ZIPファイルの内容は以下のとおりです: 17 | 18 | **workshop/** 19 | HTML版ワークショップ(本ページ) 20 | 21 | **software/** 22 | インストールするソフトウェア(および予備ファイル) 23 | 24 | **data/** 25 | シェープファイル 26 | 27 | パッケージに含まれる全データはパブリックドメインであり自由に再配布可能です。パッケージに含まれるソフトウェアはオープンソースであり自由に再配布可能です。このワークショップはクリエイティブコモンズのライセンスのライセンスの元に、"`表示-継承 `_"され、先のライセンス下のもとに自由に再配布することができます。 28 | 29 | ワークショップモジュール 30 | ---------------- 31 | 32 | .. toctree:: 33 | :maxdepth: 1 34 | 35 | welcome 36 | introduction 37 | installation 38 | creating_db 39 | loading_data 40 | about_data 41 | simple_sql 42 | simple_sql_exercises 43 | geometries 44 | geometries_exercises 45 | spatial_relationships 46 | spatial_relationships_exercises 47 | joins 48 | joins_exercises 49 | indexing 50 | projection 51 | projection_exercises 52 | geography 53 | geometry_returning 54 | joins_advanced 55 | validity 56 | tuning 57 | equality 58 | postgis-functions 59 | glossary 60 | license 61 | 62 | 63 | 参考リンク 64 | --------------------- 65 | 66 | * PostGIS - http://postgis.net/ 67 | 68 | - ドキュメント - http://postgis.net/docs/ 69 | 70 | * PostgreSQL - http://www.postgresl.org/ 71 | 72 | - ダウンロード - http://www.postgresql.org/download/ 73 | - ドキュメント - http://www.postgresql.org/docs/ 74 | - JDBCドラバー - http://jdbc.postgresql.org/ 75 | - .Netドライバー - http://npgsql.projects.postgresql.org/ 76 | - Pythonドライバー - http://www.pygresql.org/ 77 | - C/C++ドラバー - http://www.postgresql.org/docs/8.4/static/libpq.html 78 | 79 | * PgAdmin III - http://www.pgadmin.org/ 80 | 81 | * オープンソースGISデスクトップクライアント 82 | 83 | - uDig - http://udig.refractions.net/ 84 | - QGIS - http://qgis.org/ 85 | - OpenJUMP - http://openjump.org/ 86 | 87 | -------------------------------------------------------------------------------- /postgis-intro/sources/jp/indexing/bbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/indexing/bbox.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/indexing/index-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/indexing/index-01.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/installation.rst: -------------------------------------------------------------------------------- 1 | .. _installation: 2 | 3 | 第2章: インストール 4 | ======================= 5 | 6 | まず最初にOpenGeoスイートのインストールを行います。OpenGeoスイートは、PostGIS/PostgreSQLに加えGeoServer、OpenLayersやその他様々なWebツールを含んだソフトウェアパッケージであり、Windows、Apple OS/X、Linux向けにインストーラが提供されています。 7 | .. note:: 8 | 9 | PostgreSQLだけをインストールしたい場合には、PostgreSQLプロジェクトサイト( http://postgresql.org/download/ )から直接ソースコードやバイナリをダウンロードすることができます。PostgreSQLインストール後に、"StackBuilder"ユーティリティーを使ってPostGISエクステンションを追加してください。 10 | 11 | .. note:: 12 | 13 | この文書はWindows向けに書かれていますが、OS/Xでも大きな違いはありません。OpenGeoスイートのインストール後は、どちらのOSでも同じような操作となります。 14 | 15 | #. ディレクトリ :file:`postgisintro\\software\\` の配下に :file:`opengeosuite-2.1.3.exe` (OS/Xの場合は, :file:`opengeosuite-2.1.3.dmg`)というファイル名のインストーラがあります。これをダブルクリックして実行してください。 16 | 17 | #. OpenGeoからの心のこもったメッセージが表示されます。一読した後に **Next** ボタンをクリックしてください。 18 | 19 | .. image:: ./screenshots/install_01.png 20 | 21 | 22 | #. OpenGeoスイートはGNU GPLライセンスのもとで提供されています。規約に同意されたら **I Agree** ボタンを押してください。 23 | 24 | .. image:: ./screenshots/install_02.png 25 | 26 | 27 | #. OpenGeoスイートのインストール先は通常 ``C:\Program Files\`` 以下となります。データの配置場所はホームディレクトリの :file:`.opengeo` となります。指定したら **Next** ボタンを押してください。 28 | 29 | .. image:: ./screenshots/install_03.png 30 | 31 | 32 | #. スタートメニューの中にショートカットを作成します。指定したら **Next**ボタン を押してください。 33 | 34 | .. image:: ./screenshots/install_04.png 35 | 36 | 37 | #. OpenGeoスイートのすべてのコンポーネントが必須となります。すべて選択したうえで**Next**ボタンを押してください。 38 | 39 | .. image:: ./screenshots/install_05.png 40 | 41 | 42 | #. インストールの準備が整いました。 **Install** ボタンを押してください。 43 | 44 | .. image:: ./screenshots/install_06.png 45 | 46 | 47 | #. インストールが実行されます。所要時間は数分程度です。 48 | 49 | .. image:: ./screenshots/install_07.png 50 | 51 | 52 | #. インストールが完了したら、ワークショップの次のステップに進むためにダッシュボードを起動してください。 **Finish** ボタンを押して、インストールは完了です。 53 | 54 | .. image:: ./screenshots/install_08.png 55 | 56 | 57 | -------------------------------------------------------------------------------- /postgis-intro/sources/jp/introduction/beginning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/introduction/beginning.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/introduction/boundingbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/introduction/boundingbox.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/introduction/hierarchy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/introduction/hierarchy.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/introduction/lines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/introduction/lines.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/introduction/mbr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/introduction/mbr.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/introduction/points.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/introduction/points.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/introduction/polygons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/introduction/polygons.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/joins_exercises.rst: -------------------------------------------------------------------------------- 1 | .. _joins_exercises: 2 | 3 | 第13章: 空間結合 - 演習 - 4 | =================================== 5 | 6 | 以下は今までに見てきた関数の一部です。この演習ではこれらの関数を使用します。 7 | 8 | * :command:`sum(expression)` はレコードの合計値を集計します。 9 | * :command:`count(expression)` はレコードのサイズ(総数)を集計します。 10 | * :command:`ST_Area(geometry)` はポリゴンのエリアを返します。 11 | * :command:`ST_AsText(geometry)` はWKT形式の``テキスト``を返します。 12 | * :command:`ST_Contains(geometry A, geometry B)` はジオメトリAがジオメトリBを含んでいるときにtrueを返します。 13 | * :command:`ST_Distance(geometry A, geometry B)` はジオメトリAとジオメトリBの間の最短距離を返します。 14 | * :command:`ST_DWithin(geometry A, geometry B, radius)` はジオメトリAがジオメトリBから特定の距離以内にあるときにtrueを返します。 15 | * :command:`ST_GeomFromText(text)`は``ジオメトリ`` を返します。 16 | * :command:`ST_Intersects(geometry A, geometry B)` はジオメトリAとジオメトリBが交差するあるいは部分的に重なるときにtrueを返します。 17 | * :command:`ST_Length(linestring)` はラインの長さを返します。 18 | * :command:`ST_Touches(geometry A, geometry B)` はジオメトリAの境界部分がジオメトリBと接しているときにtureを返します。 19 | * :command:`ST_Within(geometry A, geometry B)` はジオメトリAがジオメトリBの内部に存在するときにtureを返します。 20 | 21 | また、各テーブルの構成は次のようになっています: 22 | 23 | * ``nyc_census_blocks`` 24 | 25 | * name, popn_total, boroname, the_geom 26 | 27 | * ``nyc_streets`` 28 | 29 | * name, type, the_geom 30 | 31 | * ``nyc_subway_stations`` 32 | 33 | * name, routes, the_geom 34 | 35 | * ``nyc_neighborhoods`` 36 | 37 | * name, boroname, the_geom 38 | 39 | 演習 40 | --------- 41 | 42 | * **"'Little Italy'にある地下鉄駅はどこでしょう?またその駅はどこの路線でしょう?"** 43 | 44 | .. code-block:: sql 45 | 46 | SELECT s.name, s.routes 47 | FROM nyc_subway_stations AS s 48 | JOIN nyc_neighborhoods AS n 49 | ON ST_Contains(n.the_geom, s.the_geom) 50 | WHERE n.name = 'Little Italy'; 51 | 52 | :: 53 | 54 | name | routes 55 | -----------+-------- 56 | Spring St | 6 57 | 58 | * **"地下鉄の6番線沿いにある地域の名称をすべて求めなさい。"** (ヒント: ``nyc_subway_stations`` の ``routes`` 列の値は'B,D,6,V'や'C,6'のようになっています) 59 | 60 | .. code-block:: sql 61 | 62 | SELECT DISTINCT n.name, n.boroname 63 | FROM nyc_subway_stations AS s 64 | JOIN nyc_neighborhoods AS n 65 | ON ST_Contains(n.the_geom, s.the_geom) 66 | WHERE strpos(s.routes,'6') > 0; 67 | 68 | :: 69 | 70 | name | boroname 71 | --------------------+----------- 72 | Midtown | Manhattan 73 | Hunts Point | The Bronx 74 | Gramercy | Manhattan 75 | Little Italy | Manhattan 76 | Financial District | Manhattan 77 | South Bronx | The Bronx 78 | Yorkville | Manhattan 79 | Murray Hill | Manhattan 80 | Mott Haven | The Bronx 81 | Upper East Side | Manhattan 82 | Chinatown | Manhattan 83 | East Harlem | Manhattan 84 | Greenwich Village | Manhattan 85 | Parkchester | The Bronx 86 | Soundview | The Bronx 87 | 88 | .. 補足:: 89 | 90 | 地域によっては同じ路線の駅を複数持つこともあるので、 ``DISTINCT`` キーワードを使って重複するレコードは取り除いています。 91 | 92 | * **"9/11以降、'Battery Park'地域は数日の間立ち入り禁止区域に指定されました。これにより移動を余儀なくされた人々はどれくらいいたでしょうか?"** 93 | 94 | .. code-block:: sql 95 | 96 | SELECT Sum(popn_total) 97 | FROM nyc_neighborhoods AS n 98 | JOIN nyc_census_blocks AS c 99 | ON ST_Intersects(n.the_geom, c.the_geom) 100 | WHERE n.name = 'Battery Park'; 101 | 102 | :: 103 | 104 | 9928 105 | 106 | * **"'Upper West Side'と'Upper East Side'の人口密度(人/km^2)はどれくらいでしょうか?"** (ヒント: 1 km^2 = 1000000 m^2) 107 | 108 | .. code-block:: sql 109 | 110 | SELECT 111 | n.name, 112 | Sum(c.popn_total) / (ST_Area(n.the_geom) / 1000000.0) AS popn_per_sqkm 113 | FROM nyc_census_blocks AS c 114 | JOIN nyc_neighborhoods AS n 115 | ON ST_Intersects(c.the_geom, n.the_geom) 116 | WHERE n.name = 'Upper West Side' 117 | OR n.name = 'Upper East Side' 118 | GROUP BY n.name, n.the_geom; 119 | 120 | :: 121 | 122 | name | popn_per_sqkm 123 | -----------------+------------------ 124 | Upper East Side | 47943.3590089405 125 | Upper West Side | 39729.5779474286 126 | 127 | -------------------------------------------------------------------------------- /postgis-intro/sources/jp/license.rst: -------------------------------------------------------------------------------- 1 | .. _license: 2 | 3 | 付録 C: ライセンス 4 | =================== 5 | 6 | この作業はクリエイティブ・コモンズ 表示-継承 3.0 の元にライセンスされています。このライセンスの複製を入手する場合は、http://creativecommons.org/licenses/by-sa/3.0/us/を訪れるか、Creative Commons(171 Second Street, Suite 300, San Francisco, California, 94105, USA)宛に手紙を送付してください。 7 | 8 | 利用に際しては、すべての資料に対して目に見える形でのコピーライト表記が必要です。 9 | -------------------------------------------------------------------------------- /postgis-intro/sources/jp/postgis-functions.rst: -------------------------------------------------------------------------------- 1 | .. _postgis-functions: 2 | 3 | 付録 A: PostGISの関数 4 | ============================= 5 | 6 | コンストラクタ 7 | ------------ 8 | 9 | :command:`ST_MakePoint(Longitude, Latitude)` 10 | 新しいジオメトリポイントを生成します。座標 (経度, 緯度)の順序に注意して下さい。 11 | 12 | :command:`ST_GeomFromText(WellKnownText, srid)` 13 | Well-Known Text表現(WKT)とSRIDから新しいST_Geometryを返します。 14 | 15 | :command:`ST_SetSRID(geometry, srid)` 16 | ジオメトリのSRIDを更新します。同じジオメトリを返します。これは、ジオメトリは変更せず、ジオメトリのSRIDだけを更新します。 17 | 18 | :command:`ST_Expand(geometry, Radius)` 19 | 入力ジオメトリのバウンディングボックスから全ての方向に拡張されたバウンディングボックスを返します。インデックス検索で使用するために範囲を作成する場合に便利です。 20 | 21 | 出力 22 | ------- 23 | 24 | :command:`ST_AsText(geometry)` 25 | ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Text(WKT)表現を返します。 26 | 27 | :command:`ST_AsGML(geometry)` 28 | OGC標準のGeography Markup Language (GML)要素としてジオメトリを返します。 29 | 30 | :command:`ST_AsGeoJSON(geometry)` 31 | OGC標準のGeometry Javascript Object Notation (GeoJSON)要素としてジオメトリを返します。 `GeoJSON `_ フォーマット。 32 | 33 | 測定 34 | ------------ 35 | 36 | :command:`ST_Area(geometry)` 37 | 空間参照系の単位でジオメトリの面積を返します。 38 | 39 | :command:`ST_Length(geometry)` 40 | 空間参照系の単位でジオメトリの長さを返します。 41 | 42 | :command:`ST_Perimeter(geometry)` 43 | 空間参照系の単位でジオメトリの境界の長さの計測値を返します。 44 | 45 | :command:`ST_NumPoints(linestring)` 46 | ラインストリング内のポイント数を返します。 47 | 48 | :command:`ST_NumRings(polygon)` 49 | ポリゴンのリング数を返します。 50 | 51 | :command:`ST_NumGeometries(geometry)` 52 | ジオメトリコレクション内のジオメトリの数を返します。 53 | 54 | 関係 55 | ------------- 56 | 57 | :command:`ST_Distance(geometry, geometry)` 58 | 空間参照系の単位の2つのジオメトリ間の距離を返します。 59 | 60 | :command:`ST_DWithin(geometry, geometry, radius)` 61 | ジオメトリが、指定したジオメトリから指定した距離内にある場合に、TRUEを返します。そうでない場合は、FALSEを返します。 62 | 63 | :command:`ST_Intersects(geometry, geometry)` 64 | ジオメトリが、「空間的にインタセクトする」(空間に共有部分がある)場合には、TRUEを返します。そうでない場合は、FALSEを返します。 65 | 66 | :command:`ST_Contains(geometry, geometry)` 67 | もし、最初のジオメトリが完全に次のジオメトリに含まれている場合は、TRUEを返します。そうでない場合は、FALSEを返します。 68 | 69 | :command:`ST_Crosses(geometry, geometry)` 70 | ライン、またはポリゴンの境界が、他のライン、またはポリゴンの境界とクロスする場合は、TRUEを返します。そうでない場合は、FALSEを返します。 71 | -------------------------------------------------------------------------------- /postgis-intro/sources/jp/projection_exercises.rst: -------------------------------------------------------------------------------- 1 | .. _projection_exercises: 2 | 3 | 第16章:投影法についての演習 4 | ================================ 5 | 6 | これまで見てきた関数のおさらいをしておきます。ヒント:本実践で役に立つものばかりです。 7 | 8 | * :command:`sum(expression)`: レコードセットの合計値を返します。 9 | * :command:`ST_Length(linestring)`: ラインストリングの長さを返します。 10 | * :command:`ST_SRID(geometry, srid)`: ジオメトリのSRIDを返します。 11 | * :command:`ST_Transform(geometry, srid)`: 異なる空間参照系へジオメトリを変換します。 12 | * :command:`ST_GeomFromText(text)`: ジオメトリを返します。 13 | * :command:`ST_AsText(geometry)`: WKTテキストを返します。 14 | * :command:`ST_AsGML(geometry)`: GMLテキストを返します。 15 | 16 | オンラインで下記の情報を参照することができます。 17 | 18 | * http://spatialreference.org 19 | * http://prj2epsg.org 20 | 21 | 22 | 下記のテーブルが利用できることを確認してください。 23 | 24 | * ``nyc_census_blocks`` 25 | 26 | * name, popn_total, boroname, the_geom 27 | 28 | * ``nyc_streets`` 29 | 30 | * name, type, the_geom 31 | 32 | * ``nyc_subway_stations`` 33 | 34 | * name, the_geom 35 | 36 | * ``nyc_neighborhoods`` 37 | 38 | * name, boroname, the_geom 39 | 40 | 41 | 演習 42 | --------- 43 | 44 | * **UTM ゾーン18で計測した場合のニューヨーク市内にある道路の合計距離は?** 45 | 46 | .. code-block:: sql 47 | 48 | SELECT Sum(ST_Length(the_geom)) 49 | FROM nyc_streets; 50 | 51 | :: 52 | 53 | 10418904.7172 54 | 55 | * **SRID 2831のWKTでの定義は?** 56 | 57 | .. code-block:: sql 58 | 59 | SELECT srtext FROM spatial_ref_sys 60 | WHERE SRID = 2831; 61 | 62 | 63 | ※ `prj2epsg `_ でも知ることができます。 64 | 65 | 66 | :: 67 | 68 | PROJCS["NAD83(HARN) / New York Long Island", 69 | GEOGCS["NAD83(HARN)", 70 | DATUM["NAD83 (High Accuracy Regional Network)", 71 | SPHEROID["GRS 1980", 6378137.0, 298.257222101, AUTHORITY["EPSG","7019"]], 72 | TOWGS84[-0.991, 1.9072, 0.5129, 0.0257899075194932, -0.009650098960270402, -0.011659943232342112, 0.0], 73 | AUTHORITY["EPSG","6152"]], 74 | PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]], 75 | UNIT["degree", 0.017453292519943295], 76 | AXIS["Geodetic longitude", EAST], 77 | AXIS["Geodetic latitude", NORTH], 78 | AUTHORITY["EPSG","4152"]], 79 | PROJECTION["Lambert Conic Conformal (2SP)", AUTHORITY["EPSG","9802"]], 80 | PARAMETER["central_meridian", -74.0], 81 | PARAMETER["latitude_of_origin", 40.166666666666664], 82 | PARAMETER["standard_parallel_1", 41.03333333333333], 83 | PARAMETER["false_easting", 300000.0], 84 | PARAMETER["false_northing", 0.0], 85 | PARAMETER["scale_factor", 1.0], 86 | PARAMETER["standard_parallel_2", 40.666666666666664], 87 | UNIT["m", 1.0], 88 | AXIS["Easting", EAST], 89 | AXIS["Northing", NORTH], 90 | AUTHORITY["EPSG","2831"]] 91 | 92 | 93 | * **SRID 2831で計測した場合のニューヨーク市内にある道路の合計距離は?** 94 | 95 | 96 | .. code-block:: sql 97 | 98 | SELECT Sum(ST_Length(ST_Transform(the_geom,2831))) 99 | FROM nyc_streets; 100 | 101 | :: 102 | 103 | 10421993.706374 104 | 105 | .. note:: 106 | 107 | UTM 18とState Plane Long islandとの計測値差異は(10,421,993 - 10,418,904) / 10,418,904であり、0.02%です。セクション17のジオグラフィで回転楕円体上で計算したところ、道路の総距離は10,421,999で、State Planeでの値に近い結果を得ました。これは珍しいことではなく、Stateplane Long island投影法はニューヨーク市というとても狭い地域に対して正確に計測できるようになっているからです。一方でUTM ゾーン18はより広い地域において妥当な結果が得られるように定義されています。 108 | 109 | * **地下鉄「Broad通り」駅の地点をKMLで表現するとどうなりますか?** 110 | 111 | .. code-block:: sql 112 | 113 | SELECT ST_AsKML(the_geom) 114 | FROM nyc_subway_stations 115 | WHERE name = 'Broad St'; 116 | 117 | :: 118 | 119 | -74.010671468873468,40.707104815584088 120 | 121 | :command:`ST_Transform` を呼び出していないにもかかわらず、座標値が地理座標系で表示されています。なぜでしょうか? 122 | KML標準においては、すべての座標は地理座標系(EPSG 4326)の範囲内にある必要があり、そのため、 :command:`ST_AsKML` 関数が自動的に変換することができるのです。 123 | -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/centroid_neighborhood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/centroid_neighborhood.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/collection.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/collection2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/collection2.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/dashboard_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/dashboard_01.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/dashboard_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/dashboard_02.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/install_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/install_01.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/install_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/install_02.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/install_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/install_03.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/install_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/install_04.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/install_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/install_05.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/install_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/install_06.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/install_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/install_07.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/install_08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/install_08.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/nyc_census_blocks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/nyc_census_blocks.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/nyc_neighborhoods.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/nyc_neighborhoods.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/nyc_streets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/nyc_streets.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/nyc_subway_stations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/nyc_subway_stations.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/pgadmin_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgadmin_01.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/pgadmin_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgadmin_02.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/pgadmin_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgadmin_03.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/pgadmin_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgadmin_04.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/pgadmin_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgadmin_05.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/pgadmin_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgadmin_06.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/pgadmin_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgadmin_07.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/pgadmin_08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgadmin_08.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/pgadmin_09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgadmin_09.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/pgshapeloader_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgshapeloader_01.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/pgshapeloader_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgshapeloader_02.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/polygons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/polygons.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/prj2epsg_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/prj2epsg_01.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/refresh.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/screenshots/subways_buffered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/subways_buffered.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/simple_sql_exercises.rst: -------------------------------------------------------------------------------- 1 | .. _simple_sql_exercises: 2 | 3 | 第7章: シンプルなSQLの演習 4 | =============================== 5 | 6 | ``nyc_census_blocks`` を使って以下の問いに答えてください。(答えがわかっても声に出しちゃだめですよ。) 7 | 8 | 演習を始める前に、役に立つ情報を整理しておきましょう。 9 | まずは`データについて`の章の``nyc_census_blocks``テーブルの定義です。 10 | 11 | .. list-table:: 12 | :widths: 20 80 13 | 14 | * - **blkid** 15 | - すべての統計**block**を一意に特定するための15桁のコード 例:360050001009000 16 | * - **popn_total** 17 | - その統計ブロックの合計人口 18 | * - **popn_white** 19 | - その統計ブロックの「白人」と自己認識する人口 20 | * - **popn_black** 21 | - その統計ブロックの「黒人」と自己認識する人口 22 | * - **popn_nativ** 23 | - その統計ブロックの「アメリカ原住民」と自己認識する人口 24 | * - **popn_asian** 25 | - その統計ブロックの「アジア民族」と自己認識する人口 26 | * - **popn_other** 27 | - その統計ブロックのその他の民族と自己認識する人口 28 | * - **hous_total** 29 | - その統計ブロックの世帯数 30 | * - **hous_own** 31 | - その統計ブロックの持ち家数 32 | * - **hous_rent** 33 | - その統計ブロックの借家数 34 | * - **boroname** 35 | - ニューヨークの区名(Manhattan, The Bronx, Brooklyn, Staten Island, Queens) 36 | * - **the_geom** 37 | - その統計ブロックのポリゴン境界 38 | 39 | 40 | もうひとつは、よく使われる便利な集約関数です。 41 | 42 | * avg() - レコードの値の平均値を返します 43 | * sum() - レコードの値の合計値を返します 44 | * count() - レコードの数を返します 45 | 46 | さて問題です。 47 | 48 | * **"ニューヨーク市の人口は何人でしょうか?"** 49 | 50 | .. code-block:: sql 51 | 52 | SELECT Sum(popn_total) AS population 53 | FROM nyc_census_blocks; 54 | 55 | :: 56 | 57 | 8008278 58 | 59 | .. note:: 60 | 61 | この ``AS`` とは何でしょうか。これはテーブルやフィールド名の別名で、自由に付けることが出来ます。別名は、問い合わせをしやすくしたり、わかりやすくするために用いられます。この例では出力項目の名称を、 ``sum`` の代わりに、 **AS** 句を使って ``population`` というわかりやすい名称に置き換えています。 62 | 63 | * **"ブロンクス区(The Bronx)の人口は何人でしょうか?"** 64 | 65 | .. code-block:: sql 66 | 67 | SELECT Sum(popn_total) AS population 68 | FROM nyc_census_blocks 69 | WHERE boroname = 'The Bronx'; 70 | 71 | :: 72 | 73 | 1332650 74 | 75 | * **"ニューヨーク市の世帯当たりの家族数の平均は何人でしょうか?"** 76 | 77 | .. code-block:: sql 78 | 79 | SELECT Sum(popn_total)/Sum(hous_total) AS popn_per_house 80 | FROM nyc_census_blocks; 81 | 82 | :: 83 | 84 | 2.6503540522400804 85 | 86 | * **"各区の白人の割合は何%でしょうか?"** 87 | 88 | .. code-block:: sql 89 | 90 | SELECT 91 | boroname, 92 | 100 * Sum(popn_white)/Sum(popn_total) AS white_pct 93 | FROM nyc_census_blocks 94 | GROUP BY boroname; 95 | 96 | :: 97 | 98 | boroname | white_pct 99 | ---------------+--------------------- 100 | Brooklyn | 41.2005552206888663 101 | The Bronx | 29.8655310846808990 102 | Manhattan | 54.3594013771837665 103 | Queens | 44.0806610271290794 104 | Staten Island | 77.5968611401579346 105 | 106 | 関数一覧 107 | ------------- 108 | 109 | `avg(expression) `_: PostgreSQL集約関数:数値フィールドの平均値を返します 110 | 111 | `count(expression) `_: PostgreSQL集約関数:レコードの数を返します 112 | 113 | `sum(expression) `_: PostgreSQL集約関数:レコードの値の合計値を返します 114 | -------------------------------------------------------------------------------- /postgis-intro/sources/jp/spatial_relationships/atlantic_commons.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/atlantic_commons.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/jp/spatial_relationships/broad_st.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/broad_st.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/jp/spatial_relationships/cortland.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/cortland.jpg -------------------------------------------------------------------------------- /postgis-intro/sources/jp/spatial_relationships/distance-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/distance-01.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/spatial_relationships/st_buffer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_buffer.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/spatial_relationships/st_crosses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_crosses.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/spatial_relationships/st_disjoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_disjoint.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/spatial_relationships/st_dwithin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_dwithin.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/spatial_relationships/st_equals.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_equals.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/spatial_relationships/st_intersection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_intersection.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/spatial_relationships/st_intersects.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_intersects.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/spatial_relationships/st_overlaps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_overlaps.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/spatial_relationships/st_touches.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_touches.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/spatial_relationships/st_within.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_within.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/spatial_relationships_exercises.rst: -------------------------------------------------------------------------------- 1 | .. _spatial_relationships_exercises: 2 | 3 | 第11章: 空間演算 - 演習 - 4 | =========================================== 5 | 6 | 前節で紹介した関数のおさらいをしましょう。この演習ではこれらの関数を使用します。 7 | 8 | * :command:`sum(expression)` はレコードの合計値を集計します。 9 | * :command:`count(expression)` はレコードのサイズ(総数)を集計します。 10 | * :command:`ST_Contains(geometry A, geometry B)` はジオメトリAがジオメトリBを含んでいるときにtrueを返します。 11 | * :command:`ST_Crosses(geometry A, geometry B)` はジオメトリAがジオメトリBと交差するときにtrueを返します。 12 | * :command:`ST_Disjoint(geometry A , geometry B)` はジオメトリ同士が空間的に交わりを持たないときにtrueを返します。 13 | * :command:`ST_Distance(geometry A, geometry B)` はジオメトリAとジオメトリBの間の最短距離を返します。 14 | * :command:`ST_DWithin(geometry A, geometry B, radius)` はジオメトリAがジオメトリBから特定の距離以内にあるときにtrueを返します。 15 | * :command:`ST_Equals(geometry A, geometry B)` はジオメトリAとジオメトリBが等しいときにtrueを返します。 16 | * :command:`ST_Intersects(geometry A, geometry B)` はジオメトリAとジオメトリBが交差するあるいは部分的に重なるときにtrueを返します。 17 | * :command:`ST_Overlaps(geometry A, geometry B)` はジオメトリAとジオメトリBが空間を共有し、なおかつお互いがどちらかに完全に含まれることが無い場合にtrueを返します。 18 | * :command:`ST_Touches(geometry A, geometry B)` はジオメトリAの境界部分がジオメトリBと接しているときにtureを返します。 19 | * :command:`ST_Within(geometry A, geometry B)` はジオメトリAがジオメトリBの内部に存在するときにtureを返します。 20 | 21 | また、各テーブルの構成は次のようになっていました: 22 | 23 | * ``nyc_census_blocks`` 24 | 25 | * name, popn_total, boroname, the_geom 26 | 27 | * ``nyc_streets`` 28 | 29 | * name, type, the_geom 30 | 31 | * ``nyc_subway_stations`` 32 | 33 | * name, the_geom 34 | 35 | * ``nyc_neighborhoods`` 36 | 37 | * name, boroname, the_geom 38 | 39 | 演習 40 | --------- 41 | 42 | * **"'Atlantic Commons'という通りのジオメトリは何でしょうか?"** 43 | 44 | .. code-block:: sql 45 | 46 | SELECT the_geom 47 | FROM nyc_streets 48 | WHERE name = 'Atlantic Commons'; 49 | 50 | :: 51 | 52 | 01050000202669000001000000010200000002000000093235673BE82141F319CD89A22E514170E30E0ADFE82141CB2D3EFFA52E5141 53 | 54 | * **"Atlantic Commonsのある地域の名前と、そこの属する区は何でしょうか?"** 55 | 56 | .. code-block:: sql 57 | 58 | SELECT name, boroname 59 | FROM nyc_neighborhoods 60 | WHERE ST_Intersects( 61 | the_geom, 62 | '01050000202669000001000000010200000002000000093235673BE82141F319CD89A22E514170E30E0ADFE82141CB2D3EFFA52E5141' 63 | ); 64 | 65 | :: 66 | 67 | name | boroname 68 | ------------+---------- 69 | Fort Green | Brooklyn 70 | 71 | 72 | * **"Atlantic Commonsと接する通りは何でしょうか?"** 73 | 74 | .. code-block:: sql 75 | 76 | SELECT name 77 | FROM nyc_streets 78 | WHERE ST_Touches( 79 | the_geom, 80 | '01050000202669000001000000010200000002000000093235673BE82141F319CD89A22E514170E30E0ADFE82141CB2D3EFFA52E5141' 81 | ); 82 | 83 | :: 84 | 85 | name 86 | --------------- 87 | S Oxford St 88 | Cumberland St 89 | 90 | .. image:: ./spatial_relationships/atlantic_commons.jpg 91 | 92 | 93 | * **"Atlantic Commonsの近隣(50m以内の範囲)にはどれくらいの人口がいるでしょうか?"** 94 | 95 | .. code-block:: sql 96 | 97 | SELECT Sum(popn_total) 98 | FROM nyc_census_blocks 99 | WHERE ST_DWithin( 100 | the_geom, 101 | '01050000202669000001000000010200000002000000093235673BE82141F319CD89A22E514170E30E0ADFE82141CB2D3EFFA52E5141', 102 | 50 103 | ); 104 | 105 | :: 106 | 107 | 1186 108 | 109 | -------------------------------------------------------------------------------- /postgis-intro/sources/jp/tuning/conf01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf01.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/tuning/conf02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf02.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/tuning/conf03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf03.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/tuning/conf04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf04.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/tuning/conf05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf05.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/tuning/conf06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf06.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/tuning/conf07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf07.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/tuning/conf08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf08.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/tuning/conf09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf09.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/tuning/conf10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf10.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/validity/banana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/validity/banana.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/validity/figure_eight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/validity/figure_eight.png -------------------------------------------------------------------------------- /postgis-intro/sources/jp/welcome.rst: -------------------------------------------------------------------------------- 1 | .. _welcome: 2 | 3 | ようこそ 4 | ******* 5 | 6 | OpenGeoについて 7 | ============= 8 | 9 | `OpenGeo `_ は、世界中の政府・自治体およびその他の団体へオープンソースソフトウェア導入の成功事例を提供しています。 10 | 11 | * 充分な吟味とサポートの上に統合化された企業向けオープンソースソリューションを提供し、開かれた政府を支援しています。 12 | * PostGIS, GeoServer, GeoWebCache, GeoExt, OpenLayersの主要開発者を擁し、オープンソースコミュニティーをサポートしています。 13 | * MassGIS, Tri-Met, Landgate, Google, The Work Bank, Open Geospatialコンソーシアムといったクライアントへのコンサルティングサービスにおいて8年の実績を持ちます。 14 | * オープンでアクセスしやすい情報は変革を後押しすると考えます。OpenGeoの目標は、広く一般にアクセスでき、また、必要とされている環境で利用できるようにすることで、地理空間情報をもっとオープンにすることです。 15 | * 私たちの市場の成功こそが私たちの業績の価値を証明するものであることから、クライアントの要望を満たすとともに、さらにその上をいくソフトウェアを構築するよう尽力しています。 16 | 17 | OpenGeoは、 `OpenPlans `_ の地理空間部門であり、ニューヨークにおいて、記事やオープンソースソフトウェアを通じ、コミュニティーへ参加・情報提供を行う501(c)(3)非営利団体です。 18 | 19 | ワークショップにおける記述ルール 20 | ==================== 21 | 22 | 各章は、いくつかの記述ルールに従って書かれています。このセクションで、書式の概要と各ワークブックの大まかな構成を簡単に説明します。 23 | 24 | 操作 25 | ---------- 26 | 27 | ワークショップ参加者に実行してもらう操作は、**太字** フォントで表わします。 28 | 29 | 例: 30 | 31 | **Next** をクリックして次へ進みます 32 | 33 | コード 34 | ---- 35 | 36 | SQLクエリーのサンプルは、以下のような囲みで表わします。 37 | 38 | .. code-block:: sql 39 | 40 | SELECT postgis_full_version(); 41 | 42 | これらのサンプルはクエリーウィンドやコマンドラインで入力します。 43 | 44 | note 45 | ----- 46 | 47 | note(補足)は、有用な情報を提供するものでありますが、トピックの全体的理解に必須ではない場合に用います。 48 | 49 | .. note:: もし今日リンゴを食べていないならば、病気になるかもしれない。 50 | 51 | 関数 52 | --------- 53 | 54 | 文中に定義されている関数名は、 :command:`太字` フォントで表わします。 55 | 56 | 例: 57 | 58 | :command:`ST_Touches(geometry A, geometry B)` は、両ジオメトリの境界が交差するときにTRUEを返します。 59 | 60 | ファイル名、テーブル名、フィールド名 61 | ------------------------------ 62 | 63 | ファイル名、パス、テーブル名、フィールド名は、 ``固定幅`` フォントで表わします。 64 | 65 | 66 | 例: 67 | 68 | ``nyc_streets`` テーブルの ``name`` フィールドを選択してください。 69 | 70 | メニューとフォーム要素 71 | ----------------------- 72 | 73 | フィールドまたはチェックボックスといったメニューおよびサブメニュー、フォームの構成要素は、*斜体*で表わします。 74 | 75 | 例: 76 | 77 | *File > New* メニューをクリックしてください。 *Confirm* と書かれたチェックボックスをクリックしてください。 78 | 79 | ワークフロー 80 | -------- 81 | 82 | 各章は順次進行していく形をとっています。前の章を完了し理解したものとして、次の章を進めていきます。いずれの章も、いくつかアイディアを通し、また、できるだけ実行サンプルを示しながら進めていきます。各章の最後には、提供したアイディアを試すことができるよういくつかの演習を含めています。一部の章では、"課題"を設けています。これらは演習で扱ったものよりさらに複雑な問題が含まれており、もっと学びたいという上級者用に作られています。 83 | -------------------------------------------------------------------------------- /postgis-intro/sources/locale/README: -------------------------------------------------------------------------------- 1 | Translation files for the postgis-intro workshop 2 | 3 | Compilation of the files require the ``pip install sphinx-intl`` python3. 4 | 5 | To build localized refer to the README.md in root. 6 | 7 | Using Weblate 8 | --------------- 9 | 10 | Weblate web-ui for translation is at: 11 | https://weblate.osgeo.org/projects/postgis-workshop/ 12 | 13 | There is a web-hook `https://weblate.osgeo.org/hooks/github/` defined in https://github.com/postgis/postgis-workshops/settings/hooks that pushes changes to weblate. 14 | 15 | Weblate does require that the pot files be kept up to date. 16 | To do so: 17 | 18 | ``` 19 | #if using python virtual env 20 | python3 -m venv ~/pw-env 21 | 22 | cd postgis-intro/sources/en 23 | make pot 24 | #test the translations 25 | LANG=ja make html-translation 26 | LANG=sv make html-translation 27 | LANG=de make html-translation 28 | LANG=es make html-translation 29 | LANG=it make html-translation 30 | git add . 31 | git commit -m "Update pots" 32 | git push 33 | ``` 34 | 35 | The github account osgeoweblate has commit rights to this repo. 36 | Any translations that pass approval in the weblate https://weblate.osgeo.org/projects/postgis-workshop/ get pushed and automatically committed. 37 | 38 | The postgis.net, has a cronjob that runs every 5 minutes or so checking for updates and runs this script `/var/www/postgis_workshop_update.sh` if any changes. This builds the main english and all the translations. If new translations are added, then this script needs to be updated to build them. 39 | 40 | Respective docs currently set to build are as follows: 41 | 42 | * English: https://postgis.net/workshops/en/postgis-intro/ 43 | * German: https://postgis.net/workshops/de/postgis-intro/ 44 | * Japanese: https://postgis.net/workshops/ja/postgis-intro/ 45 | * Swedish: https://postgis.net/workshops/sv/postgis-intro/ 46 | * Italian: https://postgis.net/workshops/it/postgis-intro/ 47 | * Spanish: https://postgis.net/workshops/es/postgis-intro/ 48 | -------------------------------------------------------------------------------- /postgis-intro/sources/locale/de/LC_MESSAGES/about_data.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/de/LC_MESSAGES/about_data.mo -------------------------------------------------------------------------------- /postgis-intro/sources/locale/de/LC_MESSAGES/geography_exercises.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2012, Paul Ramsey | Mark Leslie 3 | # This file is distributed under the same license as the Introduction to 4 | # PostGIS package. 5 | # FIRST AUTHOR , 2021. 6 | # 7 | #, fuzzy 8 | msgid "" 9 | msgstr "" 10 | "Project-Id-Version: Introduction to PostGIS 1.0\n" 11 | "Report-Msgid-Bugs-To: \n" 12 | "POT-Creation-Date: 2023-01-07 21:46-0500\n" 13 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 | "Last-Translator: FULL NAME \n" 15 | "Language-Team: LANGUAGE \n" 16 | "Language: \n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=UTF-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.9.1\n" 21 | 22 | #: ../../en/geography_exercises.rst:4 23 | msgid "Geography Exercises" 24 | msgstr "" 25 | 26 | #: ../../en/geography_exercises.rst:6 27 | msgid "" 28 | "Here's a reminder of all the functions we have seen so far. They should be " 29 | "useful for the exercises!" 30 | msgstr "" 31 | 32 | #: ../../en/geography_exercises.rst:8 33 | msgid ":command:`Sum(number)` adds up all the numbers in the result set" 34 | msgstr "" 35 | 36 | #: ../../en/geography_exercises.rst:9 37 | msgid ":command:`ST_GeogFromText(text)` returns a geography" 38 | msgstr "" 39 | 40 | #: ../../en/geography_exercises.rst:10 41 | msgid "" 42 | ":command:`ST_Distance(geography, geography)` returns the distance between " 43 | "geographies" 44 | msgstr "" 45 | 46 | #: ../../en/geography_exercises.rst:11 47 | msgid "" 48 | ":command:`ST_Transform(geometry, srid)` returns geometry, in the new " 49 | "projection" 50 | msgstr "" 51 | 52 | #: ../../en/geography_exercises.rst:12 53 | msgid ":command:`ST_Length(geography)` returns the length of the line" 54 | msgstr "" 55 | 56 | #: ../../en/geography_exercises.rst:13 57 | msgid "" 58 | ":command:`ST_Intersects(geometry, geometry)` returns true if the objects are " 59 | "not disjoint in planar space" 60 | msgstr "" 61 | 62 | #: ../../en/geography_exercises.rst:14 63 | msgid "" 64 | ":command:`ST_Intersects(geography, geography)` returns true if the objects " 65 | "are not disjoint in spheroidal space" 66 | msgstr "" 67 | 68 | #: ../../en/geography_exercises.rst:16 69 | msgid "Also remember the tables we have available:" 70 | msgstr "" 71 | 72 | #: ../../en/geography_exercises.rst:18 73 | msgid "``nyc_streets``" 74 | msgstr "" 75 | 76 | #: ../../en/geography_exercises.rst:20 77 | msgid "name, type, geom" 78 | msgstr "" 79 | 80 | #: ../../en/geography_exercises.rst:22 81 | msgid "``nyc_neighborhoods``" 82 | msgstr "" 83 | 84 | #: ../../en/geography_exercises.rst:24 85 | msgid "name, boroname, geom" 86 | msgstr "" 87 | 88 | #: ../../en/geography_exercises.rst:28 89 | msgid "Exercises" 90 | msgstr "" 91 | 92 | #: ../../en/geography_exercises.rst:30 93 | msgid "**How far is New York from Seattle? What are the units of the answer?**" 94 | msgstr "" 95 | 96 | #: ../../en/geography_exercises.rst:34 97 | msgid "" 98 | "New York = ``POINT(-74.0064 40.7142)`` and Seattle = ``POINT(-122.3331 " 99 | "47.6097)``" 100 | msgstr "" 101 | 102 | #: ../../en/geography_exercises.rst:48 103 | msgid "" 104 | "**What is the total length of all streets in New York, calculated on the " 105 | "spheroid?**" 106 | msgstr "" 107 | 108 | #: ../../en/geography_exercises.rst:64 109 | msgid "" 110 | "The length calculated in the planar \"UTM Zone 18\" projection is " 111 | "10418904.717, 0.02% different. UTM is good at preserving area and distance, " 112 | "within the zone boundaries." 113 | msgstr "" 114 | 115 | #: ../../en/geography_exercises.rst:67 116 | msgid "" 117 | "**Does ‘POINT(1 2.0001)’ intersect with ‘POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))’ " 118 | "in geography? In geometry? Why the difference?**" 119 | msgstr "" 120 | 121 | #: ../../en/geography_exercises.rst:87 122 | msgid "" 123 | "The upper edge of the square is a straight line in geometry, and passes " 124 | "**below** the point, so the square does not contain the point. The upper " 125 | "edge of the square is a great circle in geography, and passes **above** the " 126 | "point, so the square does contain the point." 127 | msgstr "" 128 | -------------------------------------------------------------------------------- /postgis-intro/sources/locale/de/LC_MESSAGES/license.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2012, Paul Ramsey | Mark Leslie 3 | # This file is distributed under the same license as the Introduction to 4 | # PostGIS package. 5 | # FIRST AUTHOR , 2021. 6 | # 7 | #, fuzzy 8 | msgid "" 9 | msgstr "" 10 | "Project-Id-Version: Introduction to PostGIS 1.0\n" 11 | "Report-Msgid-Bugs-To: \n" 12 | "POT-Creation-Date: 2023-01-07 21:46-0500\n" 13 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 | "Last-Translator: FULL NAME \n" 15 | "Language-Team: LANGUAGE \n" 16 | "Language: \n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=UTF-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.9.1\n" 21 | 22 | #: ../../en/license.rst:4 23 | msgid "Appendix C: License" 24 | msgstr "" 25 | 26 | #: ../../en/license.rst:6 27 | msgid "" 28 | "This work is licensed under the Creative Commons Attribution-Share Alike, " 29 | "United States License. To view a copy of this license, visit http://" 30 | "creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative " 31 | "Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA." 32 | msgstr "" 33 | 34 | #: ../../en/license.rst:8 35 | msgid "" 36 | "Our attribution requirement is that you retain the visible copyright notices " 37 | "in all materials." 38 | msgstr "" 39 | -------------------------------------------------------------------------------- /postgis-intro/sources/locale/es/LC_MESSAGES/license.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2012, Paul Ramsey | Mark Leslie 3 | # This file is distributed under the same license as the Introduction to 4 | # PostGIS package. 5 | # FIRST AUTHOR , 2021. 6 | # Lucho Ferrer , 2024. 7 | # Paulo Cesar , 2025. 8 | msgid "" 9 | msgstr "" 10 | "Project-Id-Version: Introduction to PostGIS 1.0\n" 11 | "Report-Msgid-Bugs-To: \n" 12 | "POT-Creation-Date: 2023-01-07 21:46-0500\n" 13 | "PO-Revision-Date: 2025-03-14 05:47+0000\n" 14 | "Last-Translator: Paulo Cesar \n" 15 | "Language-Team: Spanish \n" 17 | "Language: es\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 22 | "X-Generator: Weblate 5.4.3\n" 23 | "Generated-By: Babel 2.9.1\n" 24 | 25 | #: ../../en/license.rst:4 26 | msgid "Appendix C: License" 27 | msgstr "Apéndice C: Licencia" 28 | 29 | #: ../../en/license.rst:6 30 | msgid "" 31 | "This work is licensed under the Creative Commons Attribution-Share Alike, " 32 | "United States License. To view a copy of this license, visit http://" 33 | "creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative " 34 | "Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA." 35 | msgstr "" 36 | "Este trabajo cuenta con licencia Creative Commons. Para tener una copia de " 37 | "esta licencia, visita la siguiente página: ttp://creativecommons.org/" 38 | "licenses/by-sa/3.0/us/ o envía una carta a Creative Commons, 171 segunda " 39 | "calle, suite 300, San Francisco, California, 94105, Estados Unidos de " 40 | "Norteamérica." 41 | 42 | #: ../../en/license.rst:8 43 | msgid "" 44 | "Our attribution requirement is that you retain the visible copyright notices " 45 | "in all materials." 46 | msgstr "" 47 | "Nuestro requisito de atribución es que conserve los avisos de copyright " 48 | "visibles en todos los materiales." 49 | -------------------------------------------------------------------------------- /postgis-intro/sources/locale/it/LC_MESSAGES/3d.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/3d.mo -------------------------------------------------------------------------------- /postgis-intro/sources/locale/it/LC_MESSAGES/backup.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/backup.mo -------------------------------------------------------------------------------- /postgis-intro/sources/locale/it/LC_MESSAGES/clusterindex.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/clusterindex.mo -------------------------------------------------------------------------------- /postgis-intro/sources/locale/it/LC_MESSAGES/geography_exercises.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/geography_exercises.mo -------------------------------------------------------------------------------- /postgis-intro/sources/locale/it/LC_MESSAGES/geography_exercises.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2012, Paul Ramsey | Mark Leslie 3 | # This file is distributed under the same license as the Introduction to PostGIS package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Introduction to PostGIS 1.0\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2023-01-07 21:46-0500\n" 11 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: it\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | 19 | #: ../../en/geography_exercises.rst:4 20 | msgid "Geography Exercises" 21 | msgstr "" 22 | 23 | #: ../../en/geography_exercises.rst:6 24 | msgid "" 25 | "Here's a reminder of all the functions we have seen so far. They should be " 26 | "useful for the exercises!" 27 | msgstr "" 28 | 29 | #: ../../en/geography_exercises.rst:8 30 | msgid ":command:`Sum(number)` adds up all the numbers in the result set" 31 | msgstr "" 32 | 33 | #: ../../en/geography_exercises.rst:9 34 | msgid ":command:`ST_GeogFromText(text)` returns a geography" 35 | msgstr "" 36 | 37 | #: ../../en/geography_exercises.rst:10 38 | msgid "" 39 | ":command:`ST_Distance(geography, geography)` returns the distance between " 40 | "geographies" 41 | msgstr "" 42 | 43 | #: ../../en/geography_exercises.rst:11 44 | msgid "" 45 | ":command:`ST_Transform(geometry, srid)` returns geometry, in the new " 46 | "projection" 47 | msgstr "" 48 | 49 | #: ../../en/geography_exercises.rst:12 50 | msgid ":command:`ST_Length(geography)` returns the length of the line" 51 | msgstr "" 52 | 53 | #: ../../en/geography_exercises.rst:13 54 | msgid "" 55 | ":command:`ST_Intersects(geometry, geometry)` returns true if the objects are " 56 | "not disjoint in planar space" 57 | msgstr "" 58 | 59 | #: ../../en/geography_exercises.rst:14 60 | msgid "" 61 | ":command:`ST_Intersects(geography, geography)` returns true if the objects " 62 | "are not disjoint in spheroidal space" 63 | msgstr "" 64 | 65 | #: ../../en/geography_exercises.rst:16 66 | msgid "Also remember the tables we have available:" 67 | msgstr "" 68 | 69 | #: ../../en/geography_exercises.rst:18 70 | msgid "``nyc_streets``" 71 | msgstr "" 72 | 73 | #: ../../en/geography_exercises.rst:20 74 | msgid "name, type, geom" 75 | msgstr "" 76 | 77 | #: ../../en/geography_exercises.rst:22 78 | msgid "``nyc_neighborhoods``" 79 | msgstr "" 80 | 81 | #: ../../en/geography_exercises.rst:24 82 | msgid "name, boroname, geom" 83 | msgstr "" 84 | 85 | #: ../../en/geography_exercises.rst:28 86 | msgid "Exercises" 87 | msgstr "" 88 | 89 | #: ../../en/geography_exercises.rst:30 90 | msgid "**How far is New York from Seattle? What are the units of the answer?**" 91 | msgstr "" 92 | 93 | #: ../../en/geography_exercises.rst:34 94 | msgid "" 95 | "New York = ``POINT(-74.0064 40.7142)`` and Seattle = ``POINT(-122.3331 " 96 | "47.6097)``" 97 | msgstr "" 98 | 99 | #: ../../en/geography_exercises.rst:48 100 | msgid "" 101 | "**What is the total length of all streets in New York, calculated on the " 102 | "spheroid?**" 103 | msgstr "" 104 | 105 | #: ../../en/geography_exercises.rst:64 106 | msgid "" 107 | "The length calculated in the planar \"UTM Zone 18\" projection is " 108 | "10418904.717, 0.02% different. UTM is good at preserving area and distance, " 109 | "within the zone boundaries." 110 | msgstr "" 111 | 112 | #: ../../en/geography_exercises.rst:67 113 | msgid "" 114 | "**Does ‘POINT(1 2.0001)’ intersect with ‘POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))’ " 115 | "in geography? In geometry? Why the difference?**" 116 | msgstr "" 117 | 118 | #: ../../en/geography_exercises.rst:87 119 | msgid "" 120 | "The upper edge of the square is a straight line in geometry, and passes " 121 | "**below** the point, so the square does not contain the point. The upper " 122 | "edge of the square is a great circle in geography, and passes **above** the " 123 | "point, so the square does contain the point." 124 | msgstr "" 125 | -------------------------------------------------------------------------------- /postgis-intro/sources/locale/it/LC_MESSAGES/geometries_exercises.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/geometries_exercises.mo -------------------------------------------------------------------------------- /postgis-intro/sources/locale/it/LC_MESSAGES/glossary.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/glossary.mo -------------------------------------------------------------------------------- /postgis-intro/sources/locale/it/LC_MESSAGES/index.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/index.mo -------------------------------------------------------------------------------- /postgis-intro/sources/locale/it/LC_MESSAGES/license.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/license.mo -------------------------------------------------------------------------------- /postgis-intro/sources/locale/it/LC_MESSAGES/license.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2012, Paul Ramsey | Mark Leslie 3 | # This file is distributed under the same license as the Introduction to PostGIS package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Introduction to PostGIS 1.0\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2023-01-07 21:46-0500\n" 11 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 12 | "Last-Translator: Automatically generated\n" 13 | "Language-Team: none\n" 14 | "Language: it\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | 19 | #: ../../en/license.rst:4 20 | msgid "Appendix C: License" 21 | msgstr "" 22 | 23 | #: ../../en/license.rst:6 24 | msgid "" 25 | "This work is licensed under the Creative Commons Attribution-Share Alike, " 26 | "United States License. To view a copy of this license, visit http://" 27 | "creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative " 28 | "Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA." 29 | msgstr "" 30 | 31 | #: ../../en/license.rst:8 32 | msgid "" 33 | "Our attribution requirement is that you retain the visible copyright notices " 34 | "in all materials." 35 | msgstr "" 36 | -------------------------------------------------------------------------------- /postgis-intro/sources/locale/it/LC_MESSAGES/loading_data.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/loading_data.mo -------------------------------------------------------------------------------- /postgis-intro/sources/locale/it/LC_MESSAGES/simple_sql_exercises.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/simple_sql_exercises.mo -------------------------------------------------------------------------------- /postgis-intro/sources/locale/it/LC_MESSAGES/spatial_relationships.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/spatial_relationships.mo -------------------------------------------------------------------------------- /postgis-intro/sources/locale/it/LC_MESSAGES/tuning.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/tuning.mo -------------------------------------------------------------------------------- /postgis-intro/sources/locale/ja/LC_MESSAGES/license.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2012, Paul Ramsey | Mark Leslie 3 | # This file is distributed under the same license as the Introduction to 4 | # PostGIS package. 5 | # FIRST AUTHOR , 2021. 6 | # Teramoto Ikuhiro , 2022. 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: Introduction to PostGIS 1.0\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2023-01-07 21:46-0500\n" 12 | "PO-Revision-Date: 2022-11-15 04:30+0000\n" 13 | "Last-Translator: Teramoto Ikuhiro \n" 14 | "Language-Team: Japanese \n" 16 | "Language: ja\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=UTF-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Plural-Forms: nplurals=1; plural=0;\n" 21 | "X-Generator: Weblate 4.14.1\n" 22 | "Generated-By: Babel 2.9.1\n" 23 | 24 | #: ../../en/license.rst:4 25 | msgid "Appendix C: License" 26 | msgstr "付録C: ライセンス" 27 | 28 | #: ../../en/license.rst:6 29 | msgid "" 30 | "This work is licensed under the Creative Commons Attribution-Share Alike, " 31 | "United States License. To view a copy of this license, visit http://" 32 | "creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative " 33 | "Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA." 34 | msgstr "" 35 | "この作品は、クリエイティブ・コモンズ 表示 3.0 米国 ライセンスの下に提供されて" 36 | "います。このライセンスの複製をご覧になるには http://creativecommons.org/" 37 | "licenses/by-sa/3.0/us/ を参照して下さい。もしくは Creative Commons, 171 " 38 | "Second Street, Suite 300, San Francisco, California, 94105, USA にお手紙をお" 39 | "送り下さい。" 40 | 41 | #: ../../en/license.rst:8 42 | msgid "" 43 | "Our attribution requirement is that you retain the visible copyright notices " 44 | "in all materials." 45 | msgstr "" 46 | "私たちの表示要件は、全ての資料において見えるように著作権標記を保持することで" 47 | "す。" 48 | -------------------------------------------------------------------------------- /postgis-intro/sources/locale/pot/equality.pot: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2012-2023, Paul Ramsey | Mark Leslie | PostGIS contributors 3 | # This file is distributed under the same license as the Introduction to PostGIS package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: Introduction to PostGIS 1.1\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2023-01-07 21:46-0500\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language-Team: LANGUAGE \n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | 19 | #: ../../en/equality.rst:4 20 | #: ../../en/equality.rst:7 21 | msgid "Equality" 22 | msgstr "" 23 | 24 | #: ../../en/equality.rst:9 25 | msgid "Determining equality when dealing with geometries can be tricky. PostGIS supports three different functions that can be used to determine different levels of equality, though for clarity we will use the definitions below. To illustrate these functions, we will use the following polygons." 26 | msgstr "" 27 | 28 | #: ../../en/equality.rst:14 29 | msgid "These polygons are loaded using the following commands." 30 | msgstr "" 31 | 32 | #: ../../en/equality.rst:36 33 | msgid "Exactly Equal" 34 | msgstr "" 35 | 36 | #: ../../en/equality.rst:38 37 | msgid "Exact equality is determined by comparing two geometries, vertex by vertex, in order, to ensure they are identical in position. The following examples show how this method can be limited in its effectiveness." 38 | msgstr "" 39 | 40 | #: ../../en/equality.rst:50 41 | msgid "In this example, the polygons are only equal to themselves, not to other seemingly equivalent polygons (as in the case of Polygons 1 through 3). In the case of Polygons 1, 2, and 3, the vertices are in identical positions but are defined in differing orders. Polygon 4 has colinear (and thus redundant) vertices on the hexagon edges causing inequality with Polygon 1." 42 | msgstr "" 43 | 44 | #: ../../en/equality.rst:53 45 | msgid "Spatially Equal" 46 | msgstr "" 47 | 48 | #: ../../en/equality.rst:55 49 | msgid "As we saw above, exact equality does not take into account the spatial nature of the geometries. There is an function, aptly named :command:`ST_Equals`, available to test the spatial equality or equivalence of geometries." 50 | msgstr "" 51 | 52 | #: ../../en/equality.rst:67 53 | msgid "These results are more in line with our intuitive understanding of equality. Polygons 1 through 4 are considered equal, since they enclose the same area. Note that neither the direction of the polygon is drawn, the starting point for defining the polygon, nor the number of points used are important here. What is important is that the polygons contain the same space." 54 | msgstr "" 55 | 56 | #: ../../en/equality.rst:70 57 | msgid "Equal Bounds" 58 | msgstr "" 59 | 60 | #: ../../en/equality.rst:72 61 | msgid "Exact equality requires, in the worst case, comparison of each and every vertex in the geometry to determine equality. This can be slow, and may not be appropriate for comparing huge numbers of geometries. To allow for speedier comparison, the equal bounds operator, :command:`~=`, is provided. This operates only on the bounding box (rectangle), ensuring that the geometries occupy the same two dimensional extent, but not necessarily the same space." 62 | msgstr "" 63 | 64 | #: ../../en/equality.rst:84 65 | msgid "As you can see, all of our spatially equal geometries also have equal bounds. Unfortunately, Polygon 5 is also returned as equal under this test, because it shares the same bounding box as the other geometries. Why is this useful, then? Although this will be covered in detail later, the short answer is that this enables the use of spatial indexing that can quickly reduce huge comparison sets into more manageable blocks when joining or filtering data." 66 | msgstr "" 67 | -------------------------------------------------------------------------------- /postgis-intro/sources/locale/pot/geography_exercises.pot: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2012-2023, Paul Ramsey | Mark Leslie | PostGIS contributors 3 | # This file is distributed under the same license as the Introduction to PostGIS package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: Introduction to PostGIS 1.1\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2023-01-07 21:46-0500\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language-Team: LANGUAGE \n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | 19 | #: ../../en/geography_exercises.rst:4 20 | msgid "Geography Exercises" 21 | msgstr "" 22 | 23 | #: ../../en/geography_exercises.rst:6 24 | msgid "Here's a reminder of all the functions we have seen so far. They should be useful for the exercises!" 25 | msgstr "" 26 | 27 | #: ../../en/geography_exercises.rst:8 28 | msgid ":command:`Sum(number)` adds up all the numbers in the result set" 29 | msgstr "" 30 | 31 | #: ../../en/geography_exercises.rst:9 32 | msgid ":command:`ST_GeogFromText(text)` returns a geography" 33 | msgstr "" 34 | 35 | #: ../../en/geography_exercises.rst:10 36 | msgid ":command:`ST_Distance(geography, geography)` returns the distance between geographies" 37 | msgstr "" 38 | 39 | #: ../../en/geography_exercises.rst:11 40 | msgid ":command:`ST_Transform(geometry, srid)` returns geometry, in the new projection" 41 | msgstr "" 42 | 43 | #: ../../en/geography_exercises.rst:12 44 | msgid ":command:`ST_Length(geography)` returns the length of the line" 45 | msgstr "" 46 | 47 | #: ../../en/geography_exercises.rst:13 48 | msgid ":command:`ST_Intersects(geometry, geometry)` returns true if the objects are not disjoint in planar space" 49 | msgstr "" 50 | 51 | #: ../../en/geography_exercises.rst:14 52 | msgid ":command:`ST_Intersects(geography, geography)` returns true if the objects are not disjoint in spheroidal space" 53 | msgstr "" 54 | 55 | #: ../../en/geography_exercises.rst:16 56 | msgid "Also remember the tables we have available:" 57 | msgstr "" 58 | 59 | #: ../../en/geography_exercises.rst:18 60 | msgid "``nyc_streets``" 61 | msgstr "" 62 | 63 | #: ../../en/geography_exercises.rst:20 64 | msgid "name, type, geom" 65 | msgstr "" 66 | 67 | #: ../../en/geography_exercises.rst:22 68 | msgid "``nyc_neighborhoods``" 69 | msgstr "" 70 | 71 | #: ../../en/geography_exercises.rst:24 72 | msgid "name, boroname, geom" 73 | msgstr "" 74 | 75 | #: ../../en/geography_exercises.rst:28 76 | msgid "Exercises" 77 | msgstr "" 78 | 79 | #: ../../en/geography_exercises.rst:30 80 | msgid "**How far is New York from Seattle? What are the units of the answer?**" 81 | msgstr "" 82 | 83 | #: ../../en/geography_exercises.rst:34 84 | msgid "New York = ``POINT(-74.0064 40.7142)`` and Seattle = ``POINT(-122.3331 47.6097)``" 85 | msgstr "" 86 | 87 | #: ../../en/geography_exercises.rst:48 88 | msgid "**What is the total length of all streets in New York, calculated on the spheroid?**" 89 | msgstr "" 90 | 91 | #: ../../en/geography_exercises.rst:64 92 | msgid "The length calculated in the planar \"UTM Zone 18\" projection is 10418904.717, 0.02% different. UTM is good at preserving area and distance, within the zone boundaries." 93 | msgstr "" 94 | 95 | #: ../../en/geography_exercises.rst:67 96 | msgid "**Does ‘POINT(1 2.0001)’ intersect with ‘POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))’ in geography? In geometry? Why the difference?**" 97 | msgstr "" 98 | 99 | #: ../../en/geography_exercises.rst:87 100 | msgid "The upper edge of the square is a straight line in geometry, and passes **below** the point, so the square does not contain the point. The upper edge of the square is a great circle in geography, and passes **above** the point, so the square does contain the point." 101 | msgstr "" 102 | -------------------------------------------------------------------------------- /postgis-intro/sources/locale/pot/index.pot: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2012-2023, Paul Ramsey | Mark Leslie | PostGIS contributors 3 | # This file is distributed under the same license as the Introduction to PostGIS package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: Introduction to PostGIS 1.1\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2023-01-07 21:46-0500\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language-Team: LANGUAGE \n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | 19 | #: ../../en/index.rst:4 20 | msgid "Introduction to PostGIS" 21 | msgstr "" 22 | 23 | #: ../../en/index.rst:7 24 | msgid "Getting Started" 25 | msgstr "" 26 | 27 | #: ../../en/index.rst:9 28 | msgid "This workshop uses a `data bundle `_. Download it and extract to a convenient location." 29 | msgstr "" 30 | 31 | #: ../../en/index.rst:11 32 | msgid "The **presentation deck** that goes with this workshop is available `on Google Slides `_." 33 | msgstr "" 34 | 35 | #: ../../en/index.rst:13 36 | msgid "The **cheat sheet** of SQL commands that are run in this workshop is `available here `_." 37 | msgstr "" 38 | 39 | #: ../../en/index.rst:17 40 | msgid "Data Bundle" 41 | msgstr "" 42 | 43 | #: ../../en/index.rst:19 44 | msgid "Inside the data bundle, you will find:" 45 | msgstr "" 46 | 47 | #: ../../en/index.rst:22 48 | msgid "**data/**" 49 | msgstr "" 50 | 51 | #: ../../en/index.rst:22 52 | msgid "a directory containing the data files we will be loading" 53 | msgstr "" 54 | 55 | #: ../../en/index.rst:26 56 | msgid "**printing/**" 57 | msgstr "" 58 | 59 | #: ../../en/index.rst:25 60 | msgid "a directory containing the exercise pages and data model pages" 61 | msgstr "" 62 | 63 | #: ../../en/index.rst:29 64 | msgid "License & Copying" 65 | msgstr "" 66 | 67 | #: ../../en/index.rst:31 68 | msgid "All the data in the package is public domain and freely redistributable. All the software in the package is open source, and freely redistributable. This workshop is licensed as Creative Commons \"`share alike with attribution `_\", and is freely redistributable under the terms of that license." 69 | msgstr "" 70 | 71 | #: ../../en/index.rst:35 72 | msgid "Workshop Modules" 73 | msgstr "" 74 | 75 | #: ../../en/index.rst:85 76 | msgid "Links to have on hand" 77 | msgstr "" 78 | 79 | #: ../../en/index.rst:87 80 | msgid "PostGIS - https://postgis.net/" 81 | msgstr "" 82 | 83 | #: ../../en/index.rst:89 84 | msgid "Docs - https://postgis.net/docs/" 85 | msgstr "" 86 | 87 | #: ../../en/index.rst:91 88 | msgid "PostgreSQL - https://www.postgresql.org/" 89 | msgstr "" 90 | 91 | #: ../../en/index.rst:93 92 | msgid "Docs - https://www.postgresql.org/docs/" 93 | msgstr "" 94 | 95 | #: ../../en/index.rst:94 96 | msgid "Downloads - https://www.postgresql.org/download/" 97 | msgstr "" 98 | 99 | #: ../../en/index.rst:95 100 | msgid "JDBC Driver - https://jdbc.postgresql.org/" 101 | msgstr "" 102 | 103 | #: ../../en/index.rst:96 104 | msgid ".Net Driver - https://www.npgsql.org/" 105 | msgstr "" 106 | 107 | #: ../../en/index.rst:97 108 | msgid "Python Driver - http://www.pygresql.org/" 109 | msgstr "" 110 | 111 | #: ../../en/index.rst:98 112 | msgid "C/C++ Driver - https://www.postgresql.org/docs/current/static/libpq.html" 113 | msgstr "" 114 | 115 | #: ../../en/index.rst:100 116 | msgid "PgAdmin - https://www.pgadmin.org/" 117 | msgstr "" 118 | 119 | #: ../../en/index.rst:102 120 | msgid "Open Source Desktop Clients" 121 | msgstr "" 122 | 123 | #: ../../en/index.rst:104 124 | msgid "QGIS - https://qgis.org/" 125 | msgstr "" 126 | 127 | #: ../../en/index.rst:105 128 | msgid "OpenJUMP - http://openjump.org/" 129 | msgstr "" 130 | 131 | #: ../../en/index.rst:106 132 | msgid "uDig - https://udig.github.io/" 133 | msgstr "" 134 | -------------------------------------------------------------------------------- /postgis-intro/sources/locale/pot/knn.pot: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2012-2023, Paul Ramsey | Mark Leslie | PostGIS contributors 3 | # This file is distributed under the same license as the Introduction to PostGIS package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: Introduction to PostGIS 1.1\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2023-01-07 21:46-0500\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language-Team: LANGUAGE \n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | 19 | #: ../../en/knn.rst:4 20 | msgid "Nearest-Neighbour Searching" 21 | msgstr "" 22 | 23 | #: ../../en/knn.rst:7 24 | msgid "What is a Nearest Neighbour Search?" 25 | msgstr "" 26 | 27 | #: ../../en/knn.rst:9 28 | msgid "A frequently posed spatial query is: \"what is the nearest to ?\"" 29 | msgstr "" 30 | 31 | #: ../../en/knn.rst:11 32 | msgid "Unlike a distance search, the \"nearest neighbour\" search doesn't include any measurement restricting how far away candidate geometries might be, features of any distance away will be accepted, as long as they are the *nearest*." 33 | msgstr "" 34 | 35 | #: ../../en/knn.rst:13 36 | msgid "PostgreSQL solves the nearest neighbor problem by introducing an \"order by distance\" (``<->``) operator that induces the database to use an index to speed up a sorted return set. With an \"order by distance\" operator in place, a nearest neighbor query can return the \"N nearest features\" just by adding an ordering and limiting the result set to N entries." 37 | msgstr "" 38 | 39 | #: ../../en/knn.rst:15 40 | msgid "The \"order by distance\" operator works for both geometry and geography types. The only difference between how they work between the two types is the distance value returned. For geometry ``<->`` returns the same answer as `ST_Distance` which is dependent on the units of the spatial reference system in use. For geography the distance value returned is the sphere distance, instead of the more accurate spheroidal distance that ``ST_Distance(geography,geography)`` returns." 41 | msgstr "" 42 | 43 | #: ../../en/knn.rst:17 44 | msgid "Here's the 3 nearest streets to 'Broad St' subway station:" 45 | msgstr "" 46 | 47 | #: ../../en/knn.rst:53 48 | msgid "How can we be sure we are getting an index-assisted query? It's a good idea to check the ``EXPLAIN`` output for a nearest-neighbor query, because it's possible to get correct answers from non-indexed SQL and the lack of an index might not be obvious until the size of the tables scales up." 49 | msgstr "" 50 | 51 | #: ../../en/knn.rst:55 52 | msgid "This is the output from ``EXPLAIN``, note the index scan over the order by:" 53 | msgstr "" 54 | 55 | #: ../../en/knn.rst:69 56 | msgid "Nearest Neighbor Join" 57 | msgstr "" 58 | 59 | #: ../../en/knn.rst:71 60 | msgid "The index assisted order by operator has one major draw back: it only works with a **single geometry literal** on one side of the operator. This is fine for finding the objects nearest to one query object, but does not help for a spatial join, where the goal is to find the nearest neighbor for each of a full set of candidates." 61 | msgstr "" 62 | 63 | #: ../../en/knn.rst:73 64 | msgid "Fortunately, there's a SQL language feature that allows us to run a query repeatedly driven in a loop: the `LATERAL join `_." 65 | msgstr "" 66 | 67 | #: ../../en/knn.rst:75 68 | msgid "Here we will find the nearest street to each subway station:" 69 | msgstr "" 70 | 71 | #: ../../en/knn.rst:93 72 | msgid "Note the way the ``CROSS JOIN LATERAL`` acts as the inner part of a loop driven by the subways table. Each record in the subways table gets fed into the lateral subquery, one at a time, so you get a nearest result for each subway record." 73 | msgstr "" 74 | 75 | #: ../../en/knn.rst:97 76 | msgid "The explain shows the loop on the subway stations, and the index-assisted order by inside the loop where we want it:" 77 | msgstr "" 78 | -------------------------------------------------------------------------------- /postgis-intro/sources/locale/pot/license.pot: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2012-2023, Paul Ramsey | Mark Leslie | PostGIS contributors 3 | # This file is distributed under the same license as the Introduction to PostGIS package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: Introduction to PostGIS 1.1\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2023-01-07 21:46-0500\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language-Team: LANGUAGE \n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | 19 | #: ../../en/license.rst:4 20 | msgid "Appendix C: License" 21 | msgstr "" 22 | 23 | #: ../../en/license.rst:6 24 | msgid "This work is licensed under the Creative Commons Attribution-Share Alike, United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA." 25 | msgstr "" 26 | 27 | #: ../../en/license.rst:8 28 | msgid "Our attribution requirement is that you retain the visible copyright notices in all materials." 29 | msgstr "" 30 | -------------------------------------------------------------------------------- /postgis-intro/sources/locale/sv/LC_MESSAGES/license.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2012-2023, Paul Ramsey | Mark Leslie | PostGIS contributors 3 | # This file is distributed under the same license as the Introduction to PostGIS package. 4 | # Daniel Nylander , 2025. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: Introduction to PostGIS 1.1\n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2023-01-07 21:46-0500\n" 10 | "PO-Revision-Date: 2025-06-04 17:47+0000\n" 11 | "Last-Translator: Daniel Nylander \n" 12 | "Language-Team: Swedish \n" 14 | "Language: sv\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 19 | "X-Generator: Weblate 5.4.3\n" 20 | 21 | #: ../../en/license.rst:4 22 | msgid "Appendix C: License" 23 | msgstr "Bilaga C: Licens" 24 | 25 | #: ../../en/license.rst:6 26 | msgid "This work is licensed under the Creative Commons Attribution-Share Alike, United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA." 27 | msgstr "" 28 | "Detta arbete är licensierat under Creative Commons Attribution-Share Alike, " 29 | "United States License. För att se en kopia av denna licens, besök " 30 | "http://creativecommons.org/licenses/by-sa/3.0/us/ eller skicka ett brev till " 31 | "Creative Commons, 171 Second Street, Suite 300, San Francisco, California, " 32 | "94105, USA." 33 | 34 | #: ../../en/license.rst:8 35 | msgid "Our attribution requirement is that you retain the visible copyright notices in all materials." 36 | msgstr "" 37 | "Vårt krav är att du behåller de synliga upphovsrättsmeddelandena i allt " 38 | "material." 39 | -------------------------------------------------------------------------------- /postgis-intro/sources/locale/zh_Hans/LC_MESSAGES/license.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2012, Paul Ramsey | Mark Leslie 3 | # This file is distributed under the same license as the Introduction to PostGIS package. 4 | # Baifan Mei , 2022. 5 | # Wangdapeng , 2025. 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Introduction to PostGIS 1.0\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2023-01-07 21:46-0500\n" 11 | "PO-Revision-Date: 2025-03-25 21:18+0000\n" 12 | "Last-Translator: Wangdapeng \n" 13 | "Language-Team: Chinese (Simplified) \n" 15 | "Language: zh_Hans\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Plural-Forms: nplurals=1; plural=0;\n" 20 | "X-Generator: Weblate 5.4.3\n" 21 | 22 | #: ../../en/license.rst:4 23 | msgid "Appendix C: License" 24 | msgstr "附录 C:许可证" 25 | 26 | #: ../../en/license.rst:6 27 | msgid "" 28 | "This work is licensed under the Creative Commons Attribution-Share Alike, " 29 | "United States License. To view a copy of this license, visit http://" 30 | "creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative " 31 | "Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA." 32 | msgstr "" 33 | "本作品采用知识共享署名-相同方式共享(美国)许可协议授权。要查看该许可协议的副" 34 | "本,请访问 http://creativecommons.org/licenses/by-sa/3.0/us/ 或致函:" 35 | "Creative Commons, 171 Second Street, Suite 300, San Francisco, California, " 36 | "94105, USA。" 37 | 38 | #: ../../en/license.rst:8 39 | msgid "" 40 | "Our attribution requirement is that you retain the visible copyright notices " 41 | "in all materials." 42 | msgstr "我们的署名要求是:您必须在所有材料中保留可见的版权声明。" 43 | -------------------------------------------------------------------------------- /themes/foss4g2013/layout.html: -------------------------------------------------------------------------------- 1 | {% extends "sphinxdoc/layout.html" %} 2 | {%- macro customrelbar(showrel=True) %} 3 | 23 | {%- endmacro %} 24 | {%- macro index_sidebar() %} 25 |
26 |
27 |

License

28 |

This workshop is freely available for use and re-use under the terms of the Creative Commons Attribution-Share Alike 3.0 license. Feel free to use this material but retain the attribution.

29 |

Attribution

30 |

This workshop was originally written by OpenGeo and Boundless.

31 |

Subsequent revisions by Paul Ramsey.

32 |
33 |
34 | {%- endmacro %} 35 | 36 | {% block extrahead %} 37 | {% if pagename == "index" %} 38 | {% endif %} 39 | {% endblock %} 40 | 41 | {% block header %} 42 |
43 |
44 |

OpenGeo

45 |

{{ docstitle }}

46 |
47 |
48 | {% endblock %} 49 | 50 | {% block relbar1 %} 51 | {% endblock %} 52 | 53 | {% block sidebarsearch %}{% endblock %} 54 | 55 | {%- block sidebar1 %} 56 | {%- if pagename == 'index' %}{{ index_sidebar() }}{% else %}{{ super() }}{% endif %} 57 | {% endblock %} 58 | {%- block sidebar2 %}{% endblock %} 59 | 60 | {%- block relbar2 %} 61 | {%- if pagename != 'index' %}{{ customrelbar(True) }}{% endif %} 62 | {% endblock %} 63 | 64 | {%- block footer %} 65 | 73 | {%- endblock %} 74 | -------------------------------------------------------------------------------- /themes/foss4g2013/static/extra.css: -------------------------------------------------------------------------------- 1 | 2 | @import url("sphinxdoc.css"); 3 | 4 | body 5 | { 6 | margin: 0; 7 | padding: 0; 8 | font-family: helvetica,"microsoft sans serif",arial,sans-serif; 9 | } 10 | 11 | div.wrap 12 | { 13 | background-color: #FEFDF1; 14 | border-bottom: 1px solid #A8BCCF; 15 | text-align: left; 16 | } 17 | 18 | #content 19 | { 20 | margin: 0px; 21 | padding: 0px; 22 | margin-left: 45px; 23 | margin-right: 45px; 24 | margin-bottom: 45px; 25 | } 26 | 27 | h1.logo 28 | { 29 | padding: 0px; 30 | margin: 0px; 31 | padding-top: 15px; 32 | padding-bottom: 7px; 33 | padding-left: 45px; 34 | border-top: 8px solid #6c9400; 35 | } 36 | 37 | h1.logo img 38 | { 39 | border: none; 40 | } 41 | 42 | h2.docstitle 43 | { 44 | border: none; 45 | margin: 0px; 46 | padding: 0px; 47 | padding-top: 25px; 48 | padding-left: 45px; 49 | background: transparent url(img/page-heading-bg.png); 50 | font-weight: lighter; 51 | font-family: Univers, Helvetica, Verdana, Arial, sans-serif; 52 | font-size: 1.4em; 53 | color: #0a2742; 54 | height: 29px; /* 54 after padding*/ 55 | letter-spacing: 0.03em; 56 | } 57 | 58 | h2.docstitle a 59 | { 60 | text-decoration: none; 61 | color: #0a2742; 62 | } 63 | 64 | 65 | div.related 66 | { 67 | margin: 0px; 68 | padding: 0px; 69 | padding-top: 6px; 70 | padding-bottom: 5px; 71 | background: white; 72 | vertical-align: middle; 73 | } 74 | 75 | div.related ul 76 | { 77 | margin: 0; 78 | margin-left: 45px; 79 | padding: 0; 80 | height: 2em; 81 | background-image: none; 82 | border: none; 83 | } 84 | 85 | div.related ul li 86 | { 87 | height: 2em; 88 | padding: 0 0.5em 0 0; 89 | } 90 | 91 | div.related ul li a 92 | { 93 | padding: 0 0.3em 0 0; 94 | color: #1A3752; 95 | text-decoration: underline; 96 | } 97 | 98 | div.clearer 99 | { 100 | border-bottom: 1px solid #ccc; 101 | } 102 | 103 | div.body 104 | { 105 | padding: 0.5em 45px 0.5em 45px; 106 | } 107 | 108 | div.body p.caption 109 | { 110 | font-style: italic; 111 | font-size: small; 112 | } 113 | 114 | div.bodywrapper 115 | { 116 | margin-right: 280px; 117 | } 118 | 119 | h1,h2,h3 120 | { 121 | font-family: Univers, Helvetica, Verdana, Arial, sans-serif; 122 | color: #0A2742; 123 | font-weight: lighter; 124 | } 125 | 126 | a,a.reference 127 | { 128 | color: #1A3752; 129 | text-decoration: underline; 130 | } 131 | 132 | a:hover 133 | { 134 | color: #3366CC; 135 | } 136 | 137 | div.sphinxsidebar 138 | { 139 | padding: 0; 140 | padding-top: 0.8em; 141 | padding-bottom: 20px; 142 | padding-right: 45px; 143 | width: 210px; 144 | } 145 | 146 | div.sphinxsidebar h3, div.sphinxsidebar h4 147 | { 148 | margin: 1em 0 0.5em 0; 149 | font-size: 1em; 150 | padding: 0.5em 0 0.15em 0.6em; 151 | color: white; 152 | font-weight: bold; 153 | border: 0; 154 | background-color: #A8BCCF; 155 | } 156 | 157 | div.sphinxsidebar h3 a 158 | { 159 | text-decoration: none; 160 | } 161 | 162 | div.footer 163 | { 164 | border-top: 1px solid #ccc; 165 | background-color: #D7E6EB; 166 | } 167 | 168 | div.documentwrapper 169 | { 170 | width: auto; 171 | } 172 | 173 | -------------------------------------------------------------------------------- /themes/foss4g2013/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/themes/foss4g2013/static/favicon.ico -------------------------------------------------------------------------------- /themes/foss4g2013/static/img/cc-by-sa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/themes/foss4g2013/static/img/cc-by-sa.png -------------------------------------------------------------------------------- /themes/foss4g2013/static/img/opengeo-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/themes/foss4g2013/static/img/opengeo-logo.png -------------------------------------------------------------------------------- /themes/foss4g2013/static/img/page-heading-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/themes/foss4g2013/static/img/page-heading-bg.png -------------------------------------------------------------------------------- /themes/foss4g2013/theme.conf: -------------------------------------------------------------------------------- 1 | [theme] 2 | inherit = sphinxdoc 3 | stylesheet = extra.css 4 | pygments_style = sphinx 5 | 6 | [options] 7 | nosidebar = false 8 | -------------------------------------------------------------------------------- /themes/postgis/static/extra.css: -------------------------------------------------------------------------------- 1 | 2 | @import url("sphinxdoc.css"); 3 | 4 | body 5 | { 6 | margin: 0; 7 | padding: 0; 8 | font-family: helvetica,"microsoft sans serif",arial,sans-serif; 9 | } 10 | 11 | div.wrap 12 | { 13 | background-color: #eee; 14 | border-bottom: 1px solid #468; 15 | text-align: left; 16 | border-top: 8px solid #468; 17 | } 18 | 19 | div.links 20 | { 21 | margin-top: 6px; 22 | margin-right: 40px; 23 | text-align: right; 24 | float: right; 25 | } 26 | 27 | #content 28 | { 29 | margin: 0px; 30 | padding: 0px; 31 | margin-left: 45px; 32 | margin-right: 45px; 33 | margin-bottom: 45px; 34 | } 35 | 36 | h1.logo 37 | { 38 | padding: 0px; 39 | margin: 0px; 40 | padding-top: 15px; 41 | padding-bottom: 7px; 42 | padding-left: 45px; 43 | padding-right: 0px; 44 | width: 255px; 45 | } 46 | 47 | h1.logo img 48 | { 49 | border: none; 50 | } 51 | 52 | h2.docstitle 53 | { 54 | border: none; 55 | margin: 0px; 56 | padding: 0px; 57 | margin-top: 15px; 58 | padding-top: 15px; 59 | padding-bottom: 2px; 60 | padding-left: 45px; 61 | /* background: transparent url(img/page-heading-bg.png); */ 62 | background-color: #468; 63 | /* font-weight: lighter; */ 64 | font-family: Univers, Helvetica, Verdana, Arial, sans-serif; 65 | font-size: 1.6em; 66 | color: white; 67 | height: 29px; /* 54 after padding*/ 68 | letter-spacing: 0.03em; 69 | } 70 | 71 | h2.docstitle a 72 | { 73 | text-decoration: none; 74 | color: white; 75 | } 76 | 77 | 78 | div.related 79 | { 80 | margin: 0px; 81 | padding: 0px; 82 | padding-top: 6px; 83 | padding-bottom: 5px; 84 | background: white; 85 | vertical-align: middle; 86 | } 87 | 88 | div.related ul 89 | { 90 | margin: 0; 91 | margin-left: 45px; 92 | padding: 0; 93 | height: 2em; 94 | background-image: none; 95 | border: none; 96 | } 97 | 98 | div.related ul li 99 | { 100 | height: 2em; 101 | padding: 0 0.5em 0 0; 102 | } 103 | 104 | div.related ul li a 105 | { 106 | padding: 0 0.3em 0 0; 107 | color: #1A3752; 108 | text-decoration: underline; 109 | } 110 | 111 | div.clearer 112 | { 113 | border-bottom: 1px solid #ccc; 114 | } 115 | 116 | div.body 117 | { 118 | padding: 0.5em 45px 0.5em 45px; 119 | } 120 | 121 | div.body p.caption 122 | { 123 | font-style: italic; 124 | font-size: small; 125 | } 126 | 127 | div.bodywrapper 128 | { 129 | margin-right: 280px; 130 | } 131 | 132 | h1,h2,h3 133 | { 134 | font-family: Univers, Helvetica, Verdana, Arial, sans-serif; 135 | color: #0A2742; 136 | font-weight: lighter; 137 | } 138 | 139 | a,a.reference 140 | { 141 | color: #1A3752; 142 | text-decoration: underline; 143 | } 144 | 145 | a:hover 146 | { 147 | color: #3366CC; 148 | } 149 | 150 | div.sphinxsidebar 151 | { 152 | padding: 0; 153 | padding-top: 0.8em; 154 | padding-bottom: 20px; 155 | padding-right: 45px; 156 | width: 210px; 157 | } 158 | 159 | div.sphinxsidebar h3, div.sphinxsidebar h4 160 | { 161 | margin: 1em 0 0.5em 0; 162 | font-size: 1em; 163 | padding: 0.5em 0 0.15em 0.6em; 164 | color: white; 165 | font-weight: bold; 166 | border: 0; 167 | background-color: #468; 168 | } 169 | 170 | div.sphinxsidebar h3 a 171 | { 172 | text-decoration: none; 173 | } 174 | 175 | div.footer 176 | { 177 | color: white; 178 | border-top: 1px solid #ccc; 179 | background-color: #468; 180 | } 181 | 182 | div.documentwrapper 183 | { 184 | width: auto; 185 | } 186 | 187 | .btn-scm { 188 | border: none; 189 | color: white; 190 | padding: 15px 32px; 191 | text-align: center; 192 | text-decoration: none; 193 | display: inline-block; 194 | font-size: 16px; 195 | font-weight: bold; 196 | } 197 | 198 | .gitlab{ 199 | background-color: #FC6D27; /* Orange */ 200 | } 201 | 202 | .github { 203 | background-color: #28A745; /* Green */ 204 | } 205 | 206 | img.border { 207 | border-width: 1px; 208 | border-style: solid; 209 | border-color: lightgrey; 210 | } 211 | 212 | -------------------------------------------------------------------------------- /themes/postgis/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/themes/postgis/static/favicon.ico -------------------------------------------------------------------------------- /themes/postgis/static/img/cc-by-sa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/themes/postgis/static/img/cc-by-sa.png -------------------------------------------------------------------------------- /themes/postgis/static/img/opengeo-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/themes/postgis/static/img/opengeo-logo.png -------------------------------------------------------------------------------- /themes/postgis/static/img/page-heading-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/themes/postgis/static/img/page-heading-bg.png -------------------------------------------------------------------------------- /themes/postgis/static/img/postgis-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/themes/postgis/static/img/postgis-logo.png -------------------------------------------------------------------------------- /themes/postgis/theme.conf: -------------------------------------------------------------------------------- 1 | [theme] 2 | inherit = sphinxdoc 3 | stylesheet = extra.css 4 | pygments_style = sphinx 5 | 6 | [options] 7 | nosidebar = false 8 | --------------------------------------------------------------------------------