terrapop_models 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +3 -0
- data/Rakefile +34 -0
- data/app/assets/javascripts/terrapop_models/application.js +13 -0
- data/app/assets/stylesheets/terrapop_models/application.css +15 -0
- data/app/controllers/terrapop_models/application_controller.rb +4 -0
- data/app/helpers/terrapop_models/application_helper.rb +4 -0
- data/app/models/api_log.rb +2 -0
- data/app/models/area_data_raster.rb +126 -0
- data/app/models/area_data_raster_variable_mnemonic_lookup.rb +4 -0
- data/app/models/area_data_statistic.rb +6 -0
- data/app/models/area_data_table.rb +25 -0
- data/app/models/area_data_table_group.rb +8 -0
- data/app/models/area_data_table_group_membership.rb +7 -0
- data/app/models/area_data_value.rb +37 -0
- data/app/models/area_data_variable.rb +140 -0
- data/app/models/area_data_variable_construction.rb +6 -0
- data/app/models/attached_variable_pointer.rb +5 -0
- data/app/models/bare_user.rb +7 -0
- data/app/models/boundary.rb +6 -0
- data/app/models/build_status.rb +2 -0
- data/app/models/category.rb +17 -0
- data/app/models/codebook.rb +242 -0
- data/app/models/common_variable.rb +2 -0
- data/app/models/country.rb +45 -0
- data/app/models/country_comparability.rb +6 -0
- data/app/models/country_level.rb +8 -0
- data/app/models/ddi2_codebook.rb +541 -0
- data/app/models/error_event.rb +2 -0
- data/app/models/extract_data_artifact.rb +4 -0
- data/app/models/extract_request.rb +817 -0
- data/app/models/extract_request_area_data_raster_variable_mnemonic_lookup.rb +4 -0
- data/app/models/extract_request_error_event.rb +4 -0
- data/app/models/extract_request_submission.rb +19 -0
- data/app/models/extract_status.rb +55 -0
- data/app/models/extract_type.rb +2 -0
- data/app/models/extract_variable_stub.rb +17 -0
- data/app/models/frequency.rb +7 -0
- data/app/models/geog_instance.rb +18 -0
- data/app/models/geog_unit.rb +5 -0
- data/app/models/global_region.rb +6 -0
- data/app/models/global_region_type.rb +5 -0
- data/app/models/heartbeat.rb +8 -0
- data/app/models/heartbeat_pulse.rb +3 -0
- data/app/models/insert_html_fragment.rb +3 -0
- data/app/models/ipums_academic_status.rb +9 -0
- data/app/models/ipums_anticipated_result.rb +9 -0
- data/app/models/ipums_department.rb +9 -0
- data/app/models/ipums_registration.rb +72 -0
- data/app/models/ipums_user.rb +15 -0
- data/app/models/label.rb +7 -0
- data/app/models/link.rb +21 -0
- data/app/models/map.rb +255 -0
- data/app/models/map_unit.rb +4 -0
- data/app/models/map_unit_raster_dataset.rb +4 -0
- data/app/models/markup_transform.rb +240 -0
- data/app/models/measurement_type.rb +5 -0
- data/app/models/nhgis/agg_data_var.rb +120 -0
- data/app/models/nhgis/breakdown_combo.rb +84 -0
- data/app/models/nhgis/breakdown_var.rb +8 -0
- data/app/models/nhgis/data_file.rb +43 -0
- data/app/models/nhgis/data_file_type.rb +17 -0
- data/app/models/nhgis/data_group.rb +125 -0
- data/app/models/nhgis/data_record_range.rb +22 -0
- data/app/models/nhgis/data_table.rb +8 -0
- data/app/models/nhgis/dataset.rb +76 -0
- data/app/models/nhgis/dataset_group.rb +6 -0
- data/app/models/nhgis/geog_level.rb +14 -0
- data/app/models/nhgis/geog_level_collection.rb +15 -0
- data/app/models/nhgis/geog_level_geog_level_group.rb +10 -0
- data/app/models/nhgis/geog_level_group.rb +87 -0
- data/app/models/nhgis/geog_name.rb +12 -0
- data/app/models/nhgis/geog_unit.rb +11 -0
- data/app/models/nhgis/geog_var 2.rb +10 -0
- data/app/models/nhgis/geog_var.rb +6 -0
- data/app/models/nhgis/geog_var_geog_level.rb +8 -0
- data/app/models/nhgis/geotime.rb +21 -0
- data/app/models/nhgis/integ_geog_instance.rb +6 -0
- data/app/models/nhgis/integ_geog_instance_source_geog_instance.rb +9 -0
- data/app/models/nhgis/integ_geog_level.rb +9 -0
- data/app/models/nhgis/integ_geog_name.rb +12 -0
- data/app/models/nhgis/shape_file.rb +203 -0
- data/app/models/nhgis/shape_file_x_dataset.rb +8 -0
- data/app/models/nhgis/tabulation_type.rb +8 -0
- data/app/models/nhgis/time_instance.rb +6 -0
- data/app/models/nhgis/time_instance_integ_geog_level.rb +9 -0
- data/app/models/nhgis/time_series.rb +12 -0
- data/app/models/nhgis/time_series_component.rb +9 -0
- data/app/models/nhgis/time_series_release.rb +6 -0
- data/app/models/nhgis/time_series_table.rb +13 -0
- data/app/models/nhgis/time_series_table_dataset.rb +9 -0
- data/app/models/nhgis/time_series_table_geog_level.rb +9 -0
- data/app/models/nhgis/time_series_table_time_instance.rb +9 -0
- data/app/models/nhgis/time_series_table_time_series_release.rb +7 -0
- data/app/models/nhgis/time_series_table_topic.rb +9 -0
- data/app/models/nhgis/time_series_table_x_time_series.rb +9 -0
- data/app/models/nhgis_metadata_store.rb +2 -0
- data/app/models/raster.rb +5 -0
- data/app/models/raster_category.rb +6 -0
- data/app/models/raster_category_statistic.rb +7 -0
- data/app/models/raster_data_type.rb +6 -0
- data/app/models/raster_dataset.rb +130 -0
- data/app/models/raster_dataset_group.rb +3 -0
- data/app/models/raster_dataset_raster_data_type.rb +4 -0
- data/app/models/raster_dataset_raster_dataset_unit.rb +4 -0
- data/app/models/raster_dataset_raster_variable.rb +4 -0
- data/app/models/raster_dataset_unit.rb +4 -0
- data/app/models/raster_group.rb +87 -0
- data/app/models/raster_metadata.rb +6 -0
- data/app/models/raster_operation.rb +10 -0
- data/app/models/raster_raster_variable.rb +2 -0
- data/app/models/raster_statistic.rb +6 -0
- data/app/models/raster_value.rb +83 -0
- data/app/models/raster_variable.rb +440 -0
- data/app/models/raster_variable_classification.rb +4 -0
- data/app/models/raster_variable_group_membership.rb +4 -0
- data/app/models/request_area_data_variable.rb +57 -0
- data/app/models/request_geog_unit.rb +6 -0
- data/app/models/request_raster_dataset.rb +4 -0
- data/app/models/request_raster_variable.rb +147 -0
- data/app/models/request_sample.rb +34 -0
- data/app/models/request_sample_geog_level.rb +4 -0
- data/app/models/request_terrapop_sample.rb +6 -0
- data/app/models/request_variable.rb +104 -0
- data/app/models/resolution.rb +5 -0
- data/app/models/sample.rb +81 -0
- data/app/models/sample_design.rb +300 -0
- data/app/models/sample_detail_field.rb +7 -0
- data/app/models/sample_detail_group.rb +3 -0
- data/app/models/sample_detail_value.rb +11 -0
- data/app/models/sample_details.rb +90 -0
- data/app/models/sample_geog_level.rb +150 -0
- data/app/models/sample_level_area_data_variable.rb +13 -0
- data/app/models/sample_variable.rb +11 -0
- data/app/models/status_definition.rb +2 -0
- data/app/models/system_statistic.rb +5 -0
- data/app/models/tag.rb +7 -0
- data/app/models/terrapop_configuration.rb +75 -0
- data/app/models/terrapop_extract_information.rb +64 -0
- data/app/models/terrapop_raster_summary_cache.rb +6 -0
- data/app/models/terrapop_sample.rb +313 -0
- data/app/models/terrapop_setting.rb +11 -0
- data/app/models/topic.rb +7 -0
- data/app/models/ui_text_snippet.rb +2 -0
- data/app/models/universe.rb +5 -0
- data/app/models/user.rb +262 -0
- data/app/models/user_role.rb +5 -0
- data/app/models/variable.rb +127 -0
- data/app/models/variable_availability_cach.rb +3 -0
- data/app/models/variable_group.rb +14 -0
- data/app/models/variable_source.rb +8 -0
- data/app/views/layouts/terrapop_models/application.html.erb +14 -0
- data/config/routes.rb +2 -0
- data/db/migrate/00000000000100_create_countries.rb +15 -0
- data/db/migrate/00000000000200_create_universes.rb +11 -0
- data/db/migrate/00000000000300_create_geog_units.rb +9 -0
- data/db/migrate/00000000000400_create_measurement_types.rb +9 -0
- data/db/migrate/00000000000500_create_area_data_table_groups.rb +13 -0
- data/db/migrate/00000000000600_create_area_data_tables.rb +14 -0
- data/db/migrate/00000000000700_create_area_data_table_group_memberships.rb +12 -0
- data/db/migrate/00000000000800_create_tags.rb +9 -0
- data/db/migrate/00000000000900_create_topics.rb +9 -0
- data/db/migrate/00000000001000_create_variable_groups.rb +18 -0
- data/db/migrate/00000000001100_create_samples.rb +32 -0
- data/db/migrate/00000000001200_create_terrapop_samples.rb +12 -0
- data/db/migrate/00000000001300_create_variables.rb +52 -0
- data/db/migrate/00000000001400_create_country_levels.rb +17 -0
- data/db/migrate/00000000001450_variable_topics.rb +19 -0
- data/db/migrate/00000000001500_create_sample_geog_levels.rb +20 -0
- data/db/migrate/00000000002000_create_area_data_variables.rb +19 -0
- data/db/migrate/00000000002050_area_data_variable_topics.rb +22 -0
- data/db/migrate/00000000002100_create_sample_level_area_data_variables.rb +16 -0
- data/db/migrate/00000000002200_create_sample_level_area_variable_constructions.rb +12 -0
- data/db/migrate/00000000003000_create_maps.rb +22 -0
- data/db/migrate/00000000003100_create_boundaries.rb +14 -0
- data/db/migrate/00000000004000_create_geog_instances.rb +20 -0
- data/db/migrate/00000000004100_create_area_data_values.rb +18 -0
- data/db/migrate/00000000005000_create_sample_variables.rb +21 -0
- data/db/migrate/00000000005100_create_categories.rb +20 -0
- data/db/migrate/00000000005200_create_frequencies.rb +16 -0
- data/db/migrate/00000000005300_create_variable_sources.rb +16 -0
- data/db/migrate/00000000006000_create_user_roles.rb +8 -0
- data/db/migrate/00000000006100_create_users.rb +43 -0
- data/db/migrate/00000000006300_create_samples_tags.rb +15 -0
- data/db/migrate/00000000006400_create_terrapop_samples_tags.rb +15 -0
- data/db/migrate/00000000007000_create_raster_data_types.rb +9 -0
- data/db/migrate/00000000007050_create_resolutions.rb +8 -0
- data/db/migrate/00000000007100_create_raster_datasets.rb +26 -0
- data/db/migrate/00000000007200_create_raster_groups.rb +20 -0
- data/db/migrate/00000000007250_create_raster_groups_tags.rb +19 -0
- data/db/migrate/00000000007300_create_raster_variables.rb +28 -0
- data/db/migrate/00000000007325_create_raster_variable_group_memberships.rb +12 -0
- data/db/migrate/00000000007350_raster_variable_topics.rb +22 -0
- data/db/migrate/00000000007400_create_rasters.rb +22 -0
- data/db/migrate/00000000007500_create_raster_operations.rb +11 -0
- data/db/migrate/00000000010000_create_status_definitions.rb +8 -0
- data/db/migrate/00000000010050_create_extract_types.rb +10 -0
- data/db/migrate/00000000010100_create_build_statuses.rb +10 -0
- data/db/migrate/00000000010200_create_extract_requests.rb +14 -0
- data/db/migrate/00000000010300_create_extract_requests_labels_join_table.rb +20 -0
- data/db/migrate/00000000010400_create_extract_statuses.rb +13 -0
- data/db/migrate/00000000010500_create_request_geog_units.rb +13 -0
- data/db/migrate/00000000010600_create_request_terrapop_samples.rb +15 -0
- data/db/migrate/00000000011000_create_request_variable.rb +16 -0
- data/db/migrate/00000000011100_create_request_area_data_variables.rb +18 -0
- data/db/migrate/00000000011200_create_request_raster_variables.rb +20 -0
- data/db/migrate/00000000012000_create_raster_summary_functions.rb +130 -0
- data/db/migrate/00000000013000_create_terrapop_settings.rb +24 -0
- data/db/migrate/20121218190647_create_attached_variable_pointer.rb +18 -0
- data/db/migrate/20121218191609_add_attached_variable_pointer_id.rb +9 -0
- data/db/migrate/20121218205322_add_wants_attached.rb +9 -0
- data/db/migrate/20121219145142_add_attributes_to_terrapop_sample.rb +68 -0
- data/db/migrate/20130125155216_add_default_order_index_to_variables.rb +5 -0
- data/db/migrate/20130129204515_create_request_samples.rb +14 -0
- data/db/migrate/20130129204718_create_request_raster_datasets.rb +13 -0
- data/db/migrate/20130205195304_create_error_events.rb +10 -0
- data/db/migrate/20130206202006_add_country_index_for_continent.rb +8 -0
- data/db/migrate/20130207202628_create_raster_metadata.rb +13 -0
- data/db/migrate/20130208192415_add_extents_to_raster_dataset.rb +6 -0
- data/db/migrate/20130209182800_create_global_regions.rb +11 -0
- data/db/migrate/20130209182858_add_global_region_id_country.rb +13 -0
- data/db/migrate/20130211183221_add_type_to_global_regions.rb +5 -0
- data/db/migrate/20130212190940_create_global_region_types.rb +8 -0
- data/db/migrate/20130212192357_remove_classification_add_global_region_type_id_to_global_region.rb +13 -0
- data/db/migrate/20130304181054_add_code_to_boundaries.rb +5 -0
- data/db/migrate/20130305223407_add_ipumsi_user_flagto_users.rb +15 -0
- data/db/migrate/20130305224906_add_ipumsi_user_date_flagto_users.rb +11 -0
- data/db/migrate/20130308214537_create_request_sample_geog_levels.rb +14 -0
- data/db/migrate/20130312191726_create_raster_statistics.rb +23 -0
- data/db/migrate/20130312192100_create_raster_categories.rb +14 -0
- data/db/migrate/20130312192158_create_raster_category_statistics.rb +22 -0
- data/db/migrate/20130312203045_create_area_data_statistics.rb +15 -0
- data/db/migrate/20130401161222_add_summary_to_raster_variable.rb +11 -0
- data/db/migrate/20130402203508_add_global_region_sort_order_column.rb +8 -0
- data/db/migrate/20130402211553_add_weighted_to_terrapop_samples.rb +5 -0
- data/db/migrate/20130408022218_add_period_to_raster_datasets.rb +5 -0
- data/db/migrate/20130409161950_create_area_data_variable_constructions.rb +17 -0
- data/db/migrate/20130409162731_add_opcode_to_raster_operations.rb +5 -0
- data/db/migrate/20130412141109_update_raster_summary_functions.rb +39 -0
- data/db/migrate/20130415174823_create_insert_html_fragments.rb +13 -0
- data/db/migrate/20130415185523_create_common_variables.rb +13 -0
- data/db/migrate/20130416144840_add_columns_to_request_samples.rb +6 -0
- data/db/migrate/20130416150151_add_revision_of_column_to_extract_request.rb +8 -0
- data/db/migrate/20130416151200_add_file_type_to_extract_request.rb +5 -0
- data/db/migrate/20130416161440_add_column_general_detailed_selection_to_request_variables.rb +5 -0
- data/db/migrate/20130416170551_add_wants_case_selection_to_request_variable.rb +5 -0
- data/db/migrate/20130613185642_add_indexes_to_tables.rb +7 -0
- data/db/migrate/20130614193857_add_more_column_indexes.rb +11 -0
- data/db/migrate/20130618141508_create_raster_dataset_raster_data_types.rb +17 -0
- data/db/migrate/20130618185528_add_circa_to_raster_dataset.rb +5 -0
- data/db/migrate/20130619160555_create_raster_dataset_units.rb +9 -0
- data/db/migrate/20130619161934_create_raster_dataset_raster_dataset_units.rb +17 -0
- data/db/migrate/20130621184015_add_raster_dataset_process_summary.rb +8 -0
- data/db/migrate/20130621203809_add_source_information_column_to_raster_dataset.rb +5 -0
- data/db/migrate/20130624144333_add_temporal_extent_description_to_raster_dataset.rb +5 -0
- data/db/migrate/20130624154952_add_provider_to_raster_dataset.rb +5 -0
- data/db/migrate/20130624175342_add_use_constraints_column_to_raster_dataset.rb +5 -0
- data/db/migrate/20130624175632_drop_use_constraints_column_from_raster_dataset.rb +8 -0
- data/db/migrate/20130624192654_add_north_south_east_west_columns_to_raster_dataset.rb +8 -0
- data/db/migrate/20130625193303_add_sort_operation_identifier_to_raster_group.rb +5 -0
- data/db/migrate/20130702190659_add_raster_group_id_to_raster_variable.rb +9 -0
- data/db/migrate/20130708184410_create_country_comparabilities.rb +14 -0
- data/db/migrate/20130711191704_add_ipumsi_user_id_to_user.rb +8 -0
- data/db/migrate/20130712150252_add_data_settings_column_to_user.rb +8 -0
- data/db/migrate/20130719183620_add_visible_and_map_to_columns_to_raster_operations.rb +13 -0
- data/db/migrate/20130812194537_create_extract_request_submissions.rb +12 -0
- data/db/migrate/20130813165221_remove_ipums_user_id_from_user.rb +8 -0
- data/db/migrate/20130814161802_add_uuid_field_to_extract_request.rb +6 -0
- data/db/migrate/20130816204002_add_country_id_to_terrapop_sample.rb +8 -0
- data/db/migrate/20130816204214_add_year_to_terrapop_sample.rb +8 -0
- data/db/migrate/20130816205324_add_indexes_to_country.rb +9 -0
- data/db/migrate/20130819145802_add_foreign_key_to_terrapop_sample.rb +5 -0
- data/db/migrate/20130819155712_add_indexes_to_sample_level_area_data_variable.rb +5 -0
- data/db/migrate/20130819163013_add_short_country_name_to_terrapop_sample.rb +8 -0
- data/db/migrate/20130820195420_add_is_erf_to_country.rb +7 -0
- data/db/migrate/20130821221743_fix_raster_summary_function_num_classes.rb +39 -0
- data/db/migrate/20130830192340_add_more_user_registration_columns.rb +51 -0
- data/db/migrate/20130904205306_add_raster_variable_sort_order_weight.rb +8 -0
- data/db/migrate/20130912145522_add_localized_label_to_country_levels.rb +5 -0
- data/db/migrate/20130913194351_create_terrapop_raster_summary_caches.rb +27 -0
- data/db/migrate/20130916212710_add_year_range_to_map.rb +11 -0
- data/db/migrate/20130917154553_create_sample_designs.rb +14 -0
- data/db/migrate/20130924210303_add_raster_only_to_extract_request.rb +5 -0
- data/db/migrate/20131001220437_add_mnemonic_and_codebook_description_to_area_data_value.rb +11 -0
- data/db/migrate/20131002213443_add_ipums_email_sent_at_column.rb +8 -0
- data/db/migrate/20131020154130_remove_index_if_exists.rb +9 -0
- data/db/migrate/20131020170642_remove_ui_snippet_table_if_exists.rb +8 -0
- data/db/migrate/20131021204227_create_ui_text_snippet.rb +11 -0
- data/db/migrate/20131022190227_rename_table_fix_ui_text_snippets.rb +9 -0
- data/db/migrate/20131119154817_add_unique_index_on_uuid_on.rb +9 -0
- data/db/migrate/20131202161911_add_send_toi_rods_flag_to_extract_request.rb +13 -0
- data/db/migrate/20140122150020_add_geographic_levelto_geog_instance.rb +11 -0
- data/db/migrate/20140124184809_add_zip_file_location.rb +8 -0
- data/db/migrate/20140205205539_add_api_related_fields_to_user.rb +5 -0
- data/db/migrate/20140206213258_create_extract_request_error_events.rb +14 -0
- data/db/migrate/20140206222630_add_requesting_url_to_extract_request.rb +5 -0
- data/db/migrate/20140207153005_create_api_logs.rb +14 -0
- data/db/migrate/20140228182300_change_user_institutional_affiliation_to_bool.rb +50 -0
- data/db/migrate/20140312143201_add_start_and_end_time_and_total_time_to_extract_request.rb +7 -0
- data/db/migrate/20140318212913_remove_add_index_to_area_data_value.rb +12 -0
- data/db/migrate/20140319155819_add_long_mnemonic_to_area_data_value.rb +7 -0
- data/db/migrate/20140319200718_drop_mnemonic_column_area_data_value.rb +10 -0
- data/db/migrate/20140320184210_add_show_in_ui_column_in_raster_variable.rb +8 -0
- data/db/migrate/20140328150435_rename_revision_of_column_to_rabl_usable_column_name.rb +8 -0
- data/db/migrate/20140331142153_add_revision_of_column.rb +8 -0
- data/db/migrate/20140402181324_add_new_raster_summary_functions.rb +191 -0
- data/db/migrate/20140403185242_add_raster_variable_area_reference_id.rb +12 -0
- data/db/migrate/20140410145305_add_raster_area_column_to_terrapop_raster_summary_cache.rb +6 -0
- data/db/migrate/20140414170802_add_new_raster_summarization.rb +85 -0
- data/db/migrate/20140421150330_add_second_reference_column_to_raster_variable.rb +9 -0
- data/db/migrate/20140506165634_add_deactivated_at_and_deleted_at_to_user.rb +6 -0
- data/db/migrate/20140507142843_add_column_to_frequencies.rb +5 -0
- data/db/migrate/20140513143055_add_sample_geog_level_id_to_request_models.rb +11 -0
- data/db/migrate/20140521160554_create_links.rb +9 -0
- data/db/migrate/20140522214508_add_ipumsi_salt_and_ipumsi_crypted_password_to_user.rb +13 -0
- data/db/migrate/20140604192953_add_name_to_terrapop_setting.rb +47 -0
- data/db/migrate/20140609163907_create_variable_availability_caches.rb +9 -0
- data/db/migrate/20140609210447_add_foreign_index_to_variable_availability_cache.rb +8 -0
- data/db/migrate/20140609213300_create_area_data_variable_availability_caches.rb +13 -0
- data/db/migrate/20140610135849_create_nhgis_metadata_stores.rb +30 -0
- data/db/migrate/20140610211138_add_dataset_id_to_nhgis_metadata.rb +5 -0
- data/db/migrate/20140611181543_add_replicate_weight_variable_id_to_variables.rb +5 -0
- data/db/migrate/20140618200741_add_key_column_toraster_variable_group_memberships.rb +7 -0
- data/db/migrate/20140618202053_add_key_column_toraster_variable_group_memberships2.rb +8 -0
- data/db/migrate/20140701134952_create_system_statistics.rb +12 -0
- data/db/migrate/20140804161242_add_fields_to_terrapop_sample.rb +7 -0
- data/db/migrate/20140806173750_add_geometry_column_to_boundaries.rb +5 -0
- data/db/migrate/20140821205836_add_git_hash_field_to_extract_request.rb +5 -0
- data/db/migrate/20140822140106_create_map_units.rb +9 -0
- data/db/migrate/20140822140358_create_map_unit_raster_datasets.rb +17 -0
- data/db/migrate/20140822143517_redefine_short_unit_on_map_unit_to_longer_string.rb +5 -0
- data/db/migrate/20140825135403_add_finger_print_hash_to_maps.rb +5 -0
- data/db/migrate/20140826163359_add_source_field_to_terrapop_sample.rb +8 -0
- data/db/migrate/20140827153014_add_microdata_file_size_to_sample.rb +5 -0
- data/db/migrate/20140828161647_add_raster_band_index_to_raster_categories.rb +5 -0
- data/db/migrate/20140828162650_add_post_gis_raster_output_indicator_to_raster_variable.rb +5 -0
- data/db/migrate/20140829150251_create_raster_dataset_raster_variables.rb +17 -0
- data/db/migrate/20140902194529_add_raster_band_to_raster_dataset_model.rb +7 -0
- data/db/migrate/20140903202609_create_heartbeats.rb +9 -0
- data/db/migrate/20140903204113_create_heartbeat_pulse.rb +10 -0
- data/db/migrate/20140904164247_create_raster_raster_variables.rb +16 -0
- data/db/migrate/20140908193007_add_area_level_rasterization_functions.rb +103 -0
- data/db/migrate/20140908194021_create_area_data_rasters.rb +39 -0
- data/db/migrate/20140909143933_rename_valid_column_on_area_data_raster.rb +5 -0
- data/db/migrate/20140911201639_add_columns_to_area_data_raster.rb +11 -0
- data/db/migrate/20140911211923_alter_area_data_raster_indexes.rb +12 -0
- data/db/migrate/20140919144305_create_raster_variable_classifications.rb +29 -0
- data/db/migrate/20140925140810_add_other_raster_variables_to_raster_variable_classification.rb +9 -0
- data/db/migrate/20140925172245_add_grouping_indicator_to_raster_classifications.rb +5 -0
- data/db/migrate/20140925175157_add_classification_indicator_to_raster_variable.rb +5 -0
- data/db/migrate/20140930142006_remove_boundary_id_from_geog_instance.rb +6 -0
- data/db/migrate/20141003164150_add_terrapop_sample_id_to_map_and_geog_instance.rb +11 -0
- data/db/migrate/20141029202813_add_nhgis_dat_file_to_sample_geog_level.rb +5 -0
- data/db/migrate/20141029204521_add_columns_to_sample_level_area_data_variable.rb +6 -0
- data/db/migrate/20141104212652_create_categorical_raster_summarization.rb +39 -0
- data/db/migrate/20141105202744_add_margin_file_to_sample_geog_level.rb +5 -0
- data/db/migrate/20141105205347_add_margin_field_to_area_data_value.rb +5 -0
- data/db/migrate/20141105205607_add_join_fields_to_sample_geog_level.rb +8 -0
- data/db/migrate/20141202180411_add_new_categorical_summarization_function.rb +62 -0
- data/db/migrate/20141212172044_add_continuous_raster_summarization0.rb +51 -0
- data/db/migrate/20141212195611_add_indexes_to_boundaries.rb +10 -0
- data/db/migrate/20141212202521_add_indexes_to_frequencies.rb +7 -0
- data/db/migrate/20141229150743_add_special_value_to_area_data_value.rb +5 -0
- data/db/migrate/20141230153550_add_field_to_global_regions.rb +8 -0
- data/db/migrate/20150107142518_add_restriction_indicated_to_sample.rb +5 -0
- data/db/migrate/20150114161817_add_raster_to_tiff_function.rb +35 -0
- data/db/migrate/20150115204303_add_hide_nhgis_datasets_to_users.rb +11 -0
- data/db/migrate/20150126192918_add_new_gli_post_gis_functions.rb +99 -0
- data/db/migrate/20150126223419_add_short_label_to_terrapop_samples.rb +11 -0
- data/db/migrate/20150127172953_add_another_raster_summarization_function.rb +44 -0
- data/db/migrate/20150130163215_new_glc_summarization_function.rb +40 -0
- data/db/migrate/20150211221354_create_cache_items.rb +23 -0
- data/db/migrate/20150212223011_add_microdata_access_expired_date_to_users.rb +11 -0
- data/db/migrate/20150217221940_add_new_band_aware_categorical_to_binary_summarization.rb +177 -0
- data/db/migrate/20150302145459_removeuse_postgis_procedure_for_geotiff.rb +5 -0
- data/db/migrate/20150313194752_add_color_map_to_tiff_output.rb +34 -0
- data/db/migrate/20150313202158_add_color_map_to_jpeg_output.rb +34 -0
- data/db/migrate/20150318183314_add_non_color_map_cookie_cutter_functions.rb +65 -0
- data/db/migrate/20150324160629_add_categorical_multi_band_summarization.rb +62 -0
- data/db/migrate/20150324161827_add_index_to_rasters_raster_variable_id.rb +5 -0
- data/db/migrate/20150327203257_add_band_to_terrapop_raster_summary_cache.rb +5 -0
- data/db/migrate/20150331142232_add_xml_field_to_map.rb +5 -0
- data/db/migrate/20150331153703_add_new_continous_summarization.rb +38 -0
- data/db/migrate/20150409153145_categorical_to_binary_as_raster.rb +49 -0
- data/db/migrate/20150413204130_generic_categorical_to_binary_raster_output_function.rb +92 -0
- data/db/migrate/20150416133743_ratio_area_level_data_to_raster_function.rb +55 -0
- data/db/migrate/20150416143838_projection_function_for_single_band_rasters.rb +27 -0
- data/db/migrate/20150419203614_add_raster_dataset_to_terrapop_raster_summary_cache.rb +12 -0
- data/db/migrate/20150419232521_add_raster_dataset_to_request_raster_variable.rb +9 -0
- data/db/migrate/20150427163939_create_single_binary_from_categorical_to_tiff_function.rb +51 -0
- data/db/migrate/20150518200435_add_new_binary_cookie_cutter_functions.rb +95 -0
- data/db/migrate/20150520195145_revised_glc_binary_summarization_function.rb +64 -0
- data/db/migrate/20150526205918_new_categorical_to_binary_summarization.rb +72 -0
- data/db/migrate/20150527144243_even_newer_glc_binary_function.rb +79 -0
- data/db/migrate/20150527191853_add_even_newer_glc_category_to_binary_function.rb +74 -0
- data/db/migrate/20150528141915_yancat_to_bin_summarization_function.rb +66 -0
- data/db/migrate/20150529182542_add_indexes_to_geog_instances.rb +9 -0
- data/db/migrate/20150601160855_drop_area_data_variable_availability_caches.rb +5 -0
- data/db/migrate/20150625150152_add_geog_instance_f_key_on_boundaries.rb +5 -0
- data/db/migrate/20150626144305_geog_instance_geog_code_wider.rb +6 -0
- data/db/migrate/20150709161201_glc_summarization_version5.rb +79 -0
- data/db/migrate/20150713165442_glc_summarization_version6.rb +82 -0
- data/db/migrate/20150713185652_tp_jpeg_raster_clip_color_map_v2.rb +34 -0
- data/db/migrate/20150716182438_new_rasters_table.rb +18 -0
- data/db/migrate/20150716184828_new_stored_procedures_for_new_rasters.rb +70 -0
- data/db/migrate/20150721161943_remove_ownership_statement_from_function.rb +69 -0
- data/db/migrate/20150727134942_rename_rasters_new_to_new_rasters.rb +19 -0
- data/db/migrate/20150727135614_update_table_name_in_make_jpeg2.rb +70 -0
- data/db/migrate/20150727143159_jpeg_clip_experiment.rb +36 -0
- data/db/migrate/20150727145556_create_new_tiff_raster_clip_with_buffer.rb +34 -0
- data/db/migrate/20150727161508_update_table_name_in_make_jpeg2_part_deux.rb +77 -0
- data/db/migrate/20150727193403_drop_rasters_new.rb +5 -0
- data/db/migrate/20150728184718_make_jpeg2_part_deux.rb +70 -0
- data/db/migrate/20150728214344_correct_new_rasters_table_in_new_make_jpeg2_function.rb +79 -0
- data/db/migrate/20150729144526_even_more_correct_new_rasters_table_in_new_make_jpeg2_function.rb +78 -0
- data/db/migrate/20150729160936_fixingterrapop_reclassify_categorical_raster_to_binary_summariz_v3.rb +68 -0
- data/db/migrate/20150730141036_adjust_jpeg_clip_for_categorical.rb +67 -0
- data/db/migrate/20150730153216_ststandardize_terrapop_reclassify_categorical_raster_to_binary_summariz_v3.rb +69 -0
- data/db/migrate/20150730163446_add_origin_to_extract_requests.rb +5 -0
- data/db/migrate/20150731151304_consistent_return_fieldsterrapop_gli_yield_areal_summarization.rb +99 -0
- data/db/migrate/20150731192327_add_boundary_only_field_to_terrapop_sample.rb +5 -0
- data/db/migrate/20150803213048_add_function_to_detect_boundaries_that_wrap_globe.rb +50 -0
- data/db/migrate/20150814154127_add_processing_flag_to_extract_request.rb +5 -0
- data/db/migrate/20150814165605_add_colormapped_categorical_to_binary_jpeg_cookie_cutteringizing_function.rb +49 -0
- data/db/migrate/20150814183708_around_the_world_wrap_a_raster_function.rb +157 -0
- data/db/migrate/20150910194333_add_extract_grouping_field_to_extract_request.rb +5 -0
- data/db/migrate/20150915194808_drop_sessions_table.rb +5 -0
- data/db/migrate/20150915215426_add_sessions_table.rb +12 -0
- data/db/migrate/20151009203606_create_sample_detail_groups.rb +8 -0
- data/db/migrate/20151009203855_create_sample_detail_fields.rb +13 -0
- data/db/migrate/20151009204052_create_sample_detail_values.rb +12 -0
- data/db/migrate/20151016152953_add_indexes_to_area_data_values.rb +7 -0
- data/db/migrate/20151023160555_add_data_to_extract_requests.rb +8 -0
- data/db/migrate/20151026155953_rename_description_add_title_to_extract_requests.rb +8 -0
- data/db/migrate/20151029144017_create_raster_dataset_groups.rb +9 -0
- data/db/migrate/20151029144147_add_raster_dataset_group_to_raster_dataset.rb +9 -0
- data/db/migrate/20151029182802_add_mnemonic_to_raster_dataset_group.rb +5 -0
- data/db/migrate/20151029184642_change_field_type_on_raster_dataset_group.rb +5 -0
- data/db/migrate/20151029210539_remove_unnecessary_fields_from_terrapop_sample.rb +60 -0
- data/db/migrate/20151102205254_create_data_artifacts.rb +17 -0
- data/db/migrate/20151102211601_add_json_field_to_extract_data_artifacts.rb +8 -0
- data/db/migrate/20151103152754_add_file_name_field_to_extract_request.rb +5 -0
- data/db/migrate/20151106155249_add_submitted_at_to_extract_request.rb +5 -0
- data/db/migrate/20151110204826_add_terra_pop_build_number_to_extract_request.rb +12 -0
- data/db/migrate/20151119213428_create_area_data_raster_variable_mnemonic_lookups.rb +18 -0
- data/db/migrate/20151120140757_create_extract_request_area_data_raster_variable_mnemonic_lookups.rb +16 -0
- data/db/migrate/20151130212011_add_new_raster_summarization_v7.rb +90 -0
- data/lib/tasks/terrapop_models_tasks.rake +4 -0
- data/lib/terrapop_models.rb +4 -0
- data/lib/terrapop_models/engine.rb +13 -0
- data/lib/terrapop_models/version.rb +3 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/javascripts/application.js +13 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/controllers/application_controller.rb +5 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +23 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/database.yml +68 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +78 -0
- data/test/dummy/config/environments/test.rb +39 -0
- data/test/dummy/config/initializers/assets.rb +8 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/routes.rb +4 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/log/development.log +62 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/terrapop_models_test.rb +7 -0
- data/test/test_helper.rb +19 -0
- metadata +597 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
class RenameRastersNewToNewRasters < ActiveRecord::Migration
|
|
2
|
+
def change
|
|
3
|
+
|
|
4
|
+
create_table :new_rasters do |t|
|
|
5
|
+
t.column :raster_variable_id, :bigint
|
|
6
|
+
t.column :table_name, :text
|
|
7
|
+
t.column :area_reference_id, :bigint
|
|
8
|
+
t.column :second_area_reference_id, :bigint
|
|
9
|
+
t.column :r_table_schema, :text
|
|
10
|
+
t.timestamps
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
add_index :new_rasters, :raster_variable_id
|
|
14
|
+
add_index :new_rasters, :area_reference_id
|
|
15
|
+
add_index :new_rasters, :second_area_reference_id
|
|
16
|
+
|
|
17
|
+
foreign_key :new_rasters, :raster_variable_id
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
class UpdateTableNameInMakeJpeg2 < ActiveRecord::Migration
|
|
2
|
+
def change
|
|
3
|
+
sql=<<-SQL
|
|
4
|
+
CREATE OR REPLACE FUNCTION make_jpeg2(IN sample_geog_lvl_id integer, IN rast_id integer, IN rast_band_num integer)
|
|
5
|
+
RETURNS SETOF raster AS
|
|
6
|
+
$BODY$
|
|
7
|
+
DECLARE
|
|
8
|
+
|
|
9
|
+
one_raster text := 'hello';
|
|
10
|
+
query text := '';
|
|
11
|
+
|
|
12
|
+
BEGIN
|
|
13
|
+
|
|
14
|
+
WITH lookup AS
|
|
15
|
+
(
|
|
16
|
+
SELECT replace(replace(array_agg(classification::text || ':1')::text, '{', ''), '}', '') as exp
|
|
17
|
+
FROM raster_variables WHERE id IN (
|
|
18
|
+
select raster_variable_classifications.mosaic_raster_variable_id
|
|
19
|
+
from raster_variable_classifications
|
|
20
|
+
where raster_variable_classifications.raster_variable_id = rast_id )
|
|
21
|
+
), cat_rast as
|
|
22
|
+
(
|
|
23
|
+
SELECT rv.second_area_reference_id as cat_id
|
|
24
|
+
FROM raster_variables rv
|
|
25
|
+
WHERE rv.id = rast_id
|
|
26
|
+
)
|
|
27
|
+
SELECT r_table_schema || '.' || table_name as tablename
|
|
28
|
+
INTO one_raster
|
|
29
|
+
FROM cat_rast inner join new_rasters on cat_rast.cat_id = new_rasters.raster_variable_id ;
|
|
30
|
+
|
|
31
|
+
RAISE NOTICE ' % ', one_raster;
|
|
32
|
+
|
|
33
|
+
query := $$ WITH lookup AS
|
|
34
|
+
(
|
|
35
|
+
SELECT replace(replace(array_agg(classification::text || ':1')::text, '{', ''), '}', '') as exp
|
|
36
|
+
NTOFROM raster_variables WHERE id IN (
|
|
37
|
+
select raster_variable_classifications.mosaic_raster_variable_id
|
|
38
|
+
from raster_variable_classifications
|
|
39
|
+
where raster_variable_classifications.raster_variable_id = $$ || rast_id || $$)
|
|
40
|
+
)
|
|
41
|
+
, transformation as
|
|
42
|
+
(
|
|
43
|
+
SELECT ST_SRID(r.rast) as prj_value
|
|
44
|
+
FROM $$ || one_raster || $$ r
|
|
45
|
+
LIMIT 1
|
|
46
|
+
), polygon as
|
|
47
|
+
(
|
|
48
|
+
SELECT sgl.id as sample_geog_level_id, gi.id as geog_instance_id, gi.label as geog_instance_label,
|
|
49
|
+
gi.code as geog_instance_code, ST_Transform(bound.geog::geometry, t.prj_value) as geom
|
|
50
|
+
FROM transformation t, sample_geog_levels sgl
|
|
51
|
+
inner join geog_instances gi on sgl.id = gi.sample_geog_level_id
|
|
52
|
+
inner join boundaries bound on bound.geog_instance_id = gi.id
|
|
53
|
+
WHERE sgl.id = $$ || sample_geog_lvl_id || $$
|
|
54
|
+
)
|
|
55
|
+
SELECT ST_union(ST_Reclass(ST_Clip(r.rast, 1,p.geom, TRUE),1,l.exp, '8BUI',0)) as rast
|
|
56
|
+
FROM lookup l, polygon p inner join $$ || one_raster || $$ r on ST_Intersects(r.rast,p.geom) $$ ;
|
|
57
|
+
|
|
58
|
+
RAISE NOTICE ' % ', query;
|
|
59
|
+
|
|
60
|
+
RETURN QUERY execute query;
|
|
61
|
+
|
|
62
|
+
END;
|
|
63
|
+
$BODY$
|
|
64
|
+
LANGUAGE plpgsql VOLATILE
|
|
65
|
+
COST 100
|
|
66
|
+
ROWS 1000;
|
|
67
|
+
SQL
|
|
68
|
+
execute sql
|
|
69
|
+
end
|
|
70
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
|
|
2
|
+
class JpegClipExperiment < ActiveRecord::Migration
|
|
3
|
+
def change
|
|
4
|
+
sql = <<-SQL
|
|
5
|
+
CREATE OR REPLACE Function terrapop_jpeg_raster_clip_colormap_v2(sample_geog_lvl_id bigint, rasters_id bigint, raster_bnd integer, colormap text)
|
|
6
|
+
RETURNS TABLE (tiff bytea) AS
|
|
7
|
+
$BODY$
|
|
8
|
+
|
|
9
|
+
BEGIN
|
|
10
|
+
RETURN QUERY
|
|
11
|
+
|
|
12
|
+
WITH poly_table AS
|
|
13
|
+
(
|
|
14
|
+
SELECT ST_Buffer(ST_Transform(bound.geog::geometry, (SELECT ST_SRID(r.rast) FROM rasters r WHERE r.raster_variable_id = rasters_id LIMIT 1)), 0.0000001) as geom
|
|
15
|
+
FROM sample_geog_levels sgl
|
|
16
|
+
inner join geog_instances gi on sgl.id = gi.sample_geog_level_id
|
|
17
|
+
inner join boundaries bound on bound.geog_instance_id = gi.id
|
|
18
|
+
where gi.sample_geog_level_id = sample_geog_lvl_id
|
|
19
|
+
),
|
|
20
|
+
new_rast AS
|
|
21
|
+
(
|
|
22
|
+
SELECT ST_Union(ST_Clip(r.rast, raster_bnd, p.geom, TRUE)) as rast
|
|
23
|
+
FROM poly_table p inner join rasters r on ST_Intersects(r.rast, p.geom)
|
|
24
|
+
where r.raster_variable_id = rasters_id
|
|
25
|
+
)
|
|
26
|
+
select ST_AsJPEG(ST_ColorMap(ST_Union(r.rast), 1, colormap), 1) as tiff from new_rast r;
|
|
27
|
+
|
|
28
|
+
END;
|
|
29
|
+
$BODY$
|
|
30
|
+
LANGUAGE 'plpgsql';
|
|
31
|
+
SQL
|
|
32
|
+
|
|
33
|
+
execute sql
|
|
34
|
+
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
class CreateNewTiffRasterClipWithBuffer < ActiveRecord::Migration
|
|
2
|
+
def change
|
|
3
|
+
sql1 = <<-SQL
|
|
4
|
+
CREATE OR REPLACE Function terrapop_tiff_raster_clip_v2(sample_geog_lvl_id bigint, rasters_id bigint, raster_bnd integer)
|
|
5
|
+
RETURNS TABLE (tiff bytea) AS
|
|
6
|
+
$BODY$
|
|
7
|
+
|
|
8
|
+
BEGIN
|
|
9
|
+
RETURN QUERY
|
|
10
|
+
|
|
11
|
+
WITH poly_table AS
|
|
12
|
+
(
|
|
13
|
+
SELECT ST_Buffer(ST_Transform(bound.geog::geometry, (SELECT ST_SRID(r.rast) FROM rasters r WHERE r.raster_variable_id = rasters_id LIMIT 1)), 0.0000001) as geom
|
|
14
|
+
FROM sample_geog_levels sgl
|
|
15
|
+
inner join geog_instances gi on sgl.id = gi.sample_geog_level_id
|
|
16
|
+
inner join boundaries bound on bound.geog_instance_id = gi.id
|
|
17
|
+
where gi.sample_geog_level_id = sample_geog_lvl_id
|
|
18
|
+
),
|
|
19
|
+
new_rast AS
|
|
20
|
+
(
|
|
21
|
+
SELECT ST_Union(ST_Clip(r.rast, raster_bnd, p.geom, TRUE)) as rast
|
|
22
|
+
FROM poly_table p inner join rasters r on ST_Intersects(r.rast,p.geom)
|
|
23
|
+
where r.raster_variable_id = rasters_id
|
|
24
|
+
)
|
|
25
|
+
select ST_AsTiff(ST_Union(r.rast),'LZW', (SELECT ST_SRID(r.rast) FROM rasters r WHERE r.raster_variable_id = rasters_id LIMIT 1)) as tiff from new_rast r;
|
|
26
|
+
|
|
27
|
+
END;
|
|
28
|
+
$BODY$
|
|
29
|
+
LANGUAGE 'plpgsql';
|
|
30
|
+
SQL
|
|
31
|
+
|
|
32
|
+
execute sql1
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
class UpdateTableNameInMakeJpeg2PartDeux < ActiveRecord::Migration
|
|
2
|
+
def change
|
|
3
|
+
|
|
4
|
+
sql0 =<<-SQL
|
|
5
|
+
DROP FUNCTION IF EXISTS make_jpeg2(integer, integer, integer);
|
|
6
|
+
SQL
|
|
7
|
+
|
|
8
|
+
sql=<<-SQL
|
|
9
|
+
CREATE OR REPLACE FUNCTION make_jpeg2(IN sample_geog_lvl_id bigint, IN rast_id bigint, IN rast_band_num integer)
|
|
10
|
+
RETURNS SETOF raster AS
|
|
11
|
+
$BODY$
|
|
12
|
+
DECLARE
|
|
13
|
+
|
|
14
|
+
one_raster text := 'hello';
|
|
15
|
+
query text := '';
|
|
16
|
+
|
|
17
|
+
BEGIN
|
|
18
|
+
|
|
19
|
+
WITH lookup AS
|
|
20
|
+
(
|
|
21
|
+
SELECT replace(replace(array_agg(classification::text || ':1')::text, '{', ''), '}', '') as exp
|
|
22
|
+
FROM raster_variables WHERE id IN (
|
|
23
|
+
select raster_variable_classifications.mosaic_raster_variable_id
|
|
24
|
+
from raster_variable_classifications
|
|
25
|
+
where raster_variable_classifications.raster_variable_id = rast_id )
|
|
26
|
+
), cat_rast as
|
|
27
|
+
(
|
|
28
|
+
SELECT rv.second_area_reference_id as cat_id
|
|
29
|
+
FROM raster_variables rv
|
|
30
|
+
WHERE rv.id = rast_id
|
|
31
|
+
)
|
|
32
|
+
SELECT r_table_schema || '.' || table_name as tablename
|
|
33
|
+
INTO one_raster
|
|
34
|
+
FROM cat_rast inner join new_rasters on cat_rast.cat_id = new_rasters.raster_variable_id ;
|
|
35
|
+
|
|
36
|
+
RAISE NOTICE ' % ', one_raster;
|
|
37
|
+
|
|
38
|
+
query := $$ WITH lookup AS
|
|
39
|
+
(
|
|
40
|
+
SELECT replace(replace(array_agg(classification::text || ':1')::text, '{', ''), '}', '') as exp
|
|
41
|
+
FROM raster_variables WHERE id IN (
|
|
42
|
+
select raster_variable_classifications.mosaic_raster_variable_id
|
|
43
|
+
from raster_variable_classifications
|
|
44
|
+
where raster_variable_classifications.raster_variable_id = $$ || rast_id || $$)
|
|
45
|
+
)
|
|
46
|
+
, transformation as
|
|
47
|
+
(
|
|
48
|
+
SELECT ST_SRID(r.rast) as prj_value
|
|
49
|
+
FROM $$ || one_raster || $$ r
|
|
50
|
+
LIMIT 1
|
|
51
|
+
), polygon as
|
|
52
|
+
(
|
|
53
|
+
SELECT sgl.id as sample_geog_level_id, gi.id as geog_instance_id, gi.label as geog_instance_label,
|
|
54
|
+
gi.code as geog_instance_code, ST_Transform(bound.geog::geometry, t.prj_value) as geom
|
|
55
|
+
FROM transformation t, sample_geog_levels sgl
|
|
56
|
+
inner join geog_instances gi on sgl.id = gi.sample_geog_level_id
|
|
57
|
+
inner join boundaries bound on bound.geog_instance_id = gi.id
|
|
58
|
+
WHERE sgl.id = $$ || sample_geog_lvl_id || $$
|
|
59
|
+
)
|
|
60
|
+
SELECT ST_union(ST_Reclass(ST_Clip(r.rast, 1,p.geom, TRUE),1,l.exp, '8BUI',0)) as rast
|
|
61
|
+
FROM lookup l, polygon p inner join $$ || one_raster || $$ r on ST_Intersects(r.rast,p.geom) $$ ;
|
|
62
|
+
|
|
63
|
+
RAISE NOTICE ' % ', query;
|
|
64
|
+
|
|
65
|
+
RETURN QUERY execute query;
|
|
66
|
+
|
|
67
|
+
END;
|
|
68
|
+
$BODY$
|
|
69
|
+
LANGUAGE plpgsql VOLATILE
|
|
70
|
+
COST 100
|
|
71
|
+
ROWS 1000;
|
|
72
|
+
SQL
|
|
73
|
+
|
|
74
|
+
execute sql0
|
|
75
|
+
execute sql
|
|
76
|
+
end
|
|
77
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
class MakeJpeg2PartDeux < ActiveRecord::Migration
|
|
2
|
+
def change
|
|
3
|
+
sql=<<-SQL
|
|
4
|
+
CREATE OR REPLACE FUNCTION terrapop_categorical_to_binary_as_raster_v1(IN sample_geog_lvl_id integer, IN rast_id integer, IN rast_band_num integer)
|
|
5
|
+
RETURNS SETOF raster AS
|
|
6
|
+
$BODY$
|
|
7
|
+
DECLARE
|
|
8
|
+
|
|
9
|
+
one_raster text := 'hello';
|
|
10
|
+
query text := '';
|
|
11
|
+
|
|
12
|
+
BEGIN
|
|
13
|
+
|
|
14
|
+
WITH lookup AS
|
|
15
|
+
(
|
|
16
|
+
SELECT replace(replace(array_agg(classification::text || ':1')::text, '{', ''), '}', '') as exp
|
|
17
|
+
FROM raster_variables WHERE id IN (
|
|
18
|
+
select raster_variable_classifications.mosaic_raster_variable_id
|
|
19
|
+
from raster_variable_classifications
|
|
20
|
+
where raster_variable_classifications.raster_variable_id = rast_id )
|
|
21
|
+
), cat_rast as
|
|
22
|
+
(
|
|
23
|
+
SELECT rv.second_area_reference_id as cat_id
|
|
24
|
+
FROM raster_variables rv
|
|
25
|
+
WHERE rv.id = rast_id
|
|
26
|
+
)
|
|
27
|
+
SELECT r_table_schema || '.' || table_name as tablename
|
|
28
|
+
INTO one_raster
|
|
29
|
+
FROM cat_rast inner join rasters_new on cat_rast.cat_id = rasters_new.raster_variable_id ;
|
|
30
|
+
|
|
31
|
+
RAISE NOTICE ' % ', one_raster;
|
|
32
|
+
|
|
33
|
+
query := $$ WITH lookup AS
|
|
34
|
+
(
|
|
35
|
+
SELECT replace(replace(array_agg(classification::text || ':1')::text, '{', ''), '}', '') as exp
|
|
36
|
+
NTOFROM raster_variables WHERE id IN (
|
|
37
|
+
select raster_variable_classifications.mosaic_raster_variable_id
|
|
38
|
+
from raster_variable_classifications
|
|
39
|
+
where raster_variable_classifications.raster_variable_id = $$ || rast_id || $$)
|
|
40
|
+
)
|
|
41
|
+
, transformation as
|
|
42
|
+
(
|
|
43
|
+
SELECT ST_SRID(r.rast) as prj_value
|
|
44
|
+
FROM $$ || one_raster || $$ r
|
|
45
|
+
LIMIT 1
|
|
46
|
+
), polygon as
|
|
47
|
+
(
|
|
48
|
+
SELECT sgl.id as sample_geog_level_id, gi.id as geog_instance_id, gi.label as geog_instance_label,
|
|
49
|
+
gi.code as geog_instance_code, ST_Transform(bound.geog::geometry, t.prj_value) as geom
|
|
50
|
+
FROM transformation t, sample_geog_levels sgl
|
|
51
|
+
inner join geog_instances gi on sgl.id = gi.sample_geog_level_id
|
|
52
|
+
inner join boundaries bound on bound.geog_instance_id = gi.id
|
|
53
|
+
WHERE sgl.id = $$ || sample_geog_lvl_id || $$
|
|
54
|
+
)
|
|
55
|
+
SELECT ST_union(ST_Reclass(ST_Clip(r.rast, 1,p.geom, TRUE),1,l.exp, '8BUI',0)) as rast
|
|
56
|
+
FROM lookup l, polygon p inner join $$ || one_raster || $$ r on ST_Intersects(r.rast,p.geom) $$ ;
|
|
57
|
+
|
|
58
|
+
RAISE NOTICE ' % ', query;
|
|
59
|
+
|
|
60
|
+
RETURN QUERY execute query;
|
|
61
|
+
|
|
62
|
+
END;
|
|
63
|
+
$BODY$
|
|
64
|
+
LANGUAGE plpgsql VOLATILE
|
|
65
|
+
COST 100
|
|
66
|
+
ROWS 1000;
|
|
67
|
+
SQL
|
|
68
|
+
execute sql
|
|
69
|
+
end
|
|
70
|
+
end
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
class CorrectNewRastersTableInNewMakeJpeg2Function < ActiveRecord::Migration
|
|
2
|
+
def change
|
|
3
|
+
|
|
4
|
+
sql0 =<<-SQL
|
|
5
|
+
DROP FUNCTION IF EXISTS terrapop_categorical_to_binary_as_raster_v1(integer, integer, integer);
|
|
6
|
+
SQL
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
sql=<<-SQL
|
|
10
|
+
CREATE OR REPLACE FUNCTION terrapop_categorical_to_binary_as_raster_v1(IN sample_geog_lvl_id bigint, IN rast_id bigint, IN rast_band_num integer)
|
|
11
|
+
RETURNS SETOF raster AS
|
|
12
|
+
$BODY$
|
|
13
|
+
DECLARE
|
|
14
|
+
|
|
15
|
+
one_raster text := 'hello';
|
|
16
|
+
query text := '';
|
|
17
|
+
|
|
18
|
+
BEGIN
|
|
19
|
+
|
|
20
|
+
WITH lookup AS
|
|
21
|
+
(
|
|
22
|
+
SELECT replace(replace(array_agg(classification::text || ':1')::text, '{', ''), '}', '') as exp
|
|
23
|
+
FROM raster_variables WHERE id IN (
|
|
24
|
+
select raster_variable_classifications.mosaic_raster_variable_id
|
|
25
|
+
from raster_variable_classifications
|
|
26
|
+
where raster_variable_classifications.raster_variable_id = rast_id )
|
|
27
|
+
), cat_rast as
|
|
28
|
+
(
|
|
29
|
+
SELECT rv.second_area_reference_id as cat_id
|
|
30
|
+
FROM raster_variables rv
|
|
31
|
+
WHERE rv.id = rast_id
|
|
32
|
+
)
|
|
33
|
+
SELECT r_table_schema || '.' || table_name as tablename
|
|
34
|
+
INTO one_raster
|
|
35
|
+
FROM cat_rast inner join new_rasters on cat_rast.cat_id = new_rasters.raster_variable_id ;
|
|
36
|
+
|
|
37
|
+
RAISE NOTICE ' % ', one_raster;
|
|
38
|
+
|
|
39
|
+
query := $$ WITH lookup AS
|
|
40
|
+
(
|
|
41
|
+
SELECT replace(replace(array_agg(classification::text || ':1')::text, '{', ''), '}', '') as exp
|
|
42
|
+
NTOFROM raster_variables WHERE id IN (
|
|
43
|
+
select raster_variable_classifications.mosaic_raster_variable_id
|
|
44
|
+
from raster_variable_classifications
|
|
45
|
+
where raster_variable_classifications.raster_variable_id = $$ || rast_id || $$)
|
|
46
|
+
)
|
|
47
|
+
, transformation as
|
|
48
|
+
(
|
|
49
|
+
SELECT ST_SRID(r.rast) as prj_value
|
|
50
|
+
FROM $$ || one_raster || $$ r
|
|
51
|
+
LIMIT 1
|
|
52
|
+
), polygon as
|
|
53
|
+
(
|
|
54
|
+
SELECT sgl.id as sample_geog_level_id, gi.id as geog_instance_id, gi.label as geog_instance_label,
|
|
55
|
+
gi.code as geog_instance_code, ST_Transform(bound.geog::geometry, t.prj_value) as geom
|
|
56
|
+
FROM transformation t, sample_geog_levels sgl
|
|
57
|
+
inner join geog_instances gi on sgl.id = gi.sample_geog_level_id
|
|
58
|
+
inner join boundaries bound on bound.geog_instance_id = gi.id
|
|
59
|
+
WHERE sgl.id = $$ || sample_geog_lvl_id || $$
|
|
60
|
+
)
|
|
61
|
+
SELECT ST_union(ST_Reclass(ST_Clip(r.rast, 1,p.geom, TRUE),1,l.exp, '8BUI',0)) as rast
|
|
62
|
+
FROM lookup l, polygon p inner join $$ || one_raster || $$ r on ST_Intersects(r.rast,p.geom) $$ ;
|
|
63
|
+
|
|
64
|
+
RAISE NOTICE ' % ', query;
|
|
65
|
+
|
|
66
|
+
RETURN QUERY execute query;
|
|
67
|
+
|
|
68
|
+
END;
|
|
69
|
+
$BODY$
|
|
70
|
+
LANGUAGE plpgsql VOLATILE
|
|
71
|
+
COST 100
|
|
72
|
+
ROWS 1000;
|
|
73
|
+
SQL
|
|
74
|
+
|
|
75
|
+
execute sql0
|
|
76
|
+
|
|
77
|
+
execute sql
|
|
78
|
+
end
|
|
79
|
+
end
|
data/db/migrate/20150729144526_even_more_correct_new_rasters_table_in_new_make_jpeg2_function.rb
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
class EvenMoreCorrectNewRastersTableInNewMakeJpeg2Function < ActiveRecord::Migration
|
|
2
|
+
def change
|
|
3
|
+
sql0 =<<-SQL
|
|
4
|
+
DROP FUNCTION IF EXISTS terrapop_categorical_to_binary_as_raster_v1(integer, integer, integer);
|
|
5
|
+
SQL
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
sql=<<-SQL
|
|
9
|
+
CREATE OR REPLACE FUNCTION terrapop_categorical_to_binary_as_raster_v1(IN sample_geog_lvl_id bigint, IN rast_id bigint, IN rast_band_num integer)
|
|
10
|
+
RETURNS SETOF raster AS
|
|
11
|
+
$BODY$
|
|
12
|
+
DECLARE
|
|
13
|
+
|
|
14
|
+
one_raster text := 'hello';
|
|
15
|
+
query text := '';
|
|
16
|
+
|
|
17
|
+
BEGIN
|
|
18
|
+
|
|
19
|
+
WITH lookup AS
|
|
20
|
+
(
|
|
21
|
+
SELECT replace(replace(array_agg(classification::text || ':1')::text, '{', ''), '}', '') as exp
|
|
22
|
+
FROM raster_variables WHERE id IN (
|
|
23
|
+
select raster_variable_classifications.mosaic_raster_variable_id
|
|
24
|
+
from raster_variable_classifications
|
|
25
|
+
where raster_variable_classifications.raster_variable_id = rast_id )
|
|
26
|
+
), cat_rast as
|
|
27
|
+
(
|
|
28
|
+
SELECT rv.second_area_reference_id as cat_id
|
|
29
|
+
FROM raster_variables rv
|
|
30
|
+
WHERE rv.id = rast_id
|
|
31
|
+
)
|
|
32
|
+
SELECT r_table_schema || '.' || table_name as tablename
|
|
33
|
+
INTO one_raster
|
|
34
|
+
FROM cat_rast inner join new_rasters on cat_rast.cat_id = new_rasters.raster_variable_id ;
|
|
35
|
+
|
|
36
|
+
RAISE NOTICE ' % ', one_raster;
|
|
37
|
+
|
|
38
|
+
query := $$ WITH lookup AS
|
|
39
|
+
(
|
|
40
|
+
SELECT replace(replace(array_agg(classification::text || ':1')::text, '{', ''), '}', '') as exp
|
|
41
|
+
FROM raster_variables WHERE id IN (
|
|
42
|
+
select raster_variable_classifications.mosaic_raster_variable_id
|
|
43
|
+
from raster_variable_classifications
|
|
44
|
+
where raster_variable_classifications.raster_variable_id = $$ || rast_id || $$)
|
|
45
|
+
)
|
|
46
|
+
, transformation as
|
|
47
|
+
(
|
|
48
|
+
SELECT ST_SRID(r.rast) as prj_value
|
|
49
|
+
FROM $$ || one_raster || $$ r
|
|
50
|
+
LIMIT 1
|
|
51
|
+
), polygon as
|
|
52
|
+
(
|
|
53
|
+
SELECT sgl.id as sample_geog_level_id, gi.id as geog_instance_id, gi.label as geog_instance_label,
|
|
54
|
+
gi.code as geog_instance_code, ST_Transform(bound.geog::geometry, t.prj_value) as geom
|
|
55
|
+
FROM transformation t, sample_geog_levels sgl
|
|
56
|
+
inner join geog_instances gi on sgl.id = gi.sample_geog_level_id
|
|
57
|
+
inner join boundaries bound on bound.geog_instance_id = gi.id
|
|
58
|
+
WHERE sgl.id = $$ || sample_geog_lvl_id || $$
|
|
59
|
+
)
|
|
60
|
+
SELECT ST_union(ST_Reclass(ST_Clip(r.rast, 1,p.geom, TRUE),1,l.exp, '8BUI',0)) as rast
|
|
61
|
+
FROM lookup l, polygon p inner join $$ || one_raster || $$ r on ST_Intersects(r.rast,p.geom) $$ ;
|
|
62
|
+
|
|
63
|
+
RAISE NOTICE ' % ', query;
|
|
64
|
+
|
|
65
|
+
RETURN QUERY execute query;
|
|
66
|
+
|
|
67
|
+
END;
|
|
68
|
+
$BODY$
|
|
69
|
+
LANGUAGE plpgsql VOLATILE
|
|
70
|
+
COST 100
|
|
71
|
+
ROWS 1000;
|
|
72
|
+
SQL
|
|
73
|
+
|
|
74
|
+
execute sql0
|
|
75
|
+
|
|
76
|
+
execute sql
|
|
77
|
+
end
|
|
78
|
+
end
|